Loading
_ DESCIFRANDO CONEXIÓN SEGURA...

Listas de hosts y el alcance como filtro

5 tareas · 40 min · Principiante

La lista de equipos que manda un cliente casi nunca llega limpia: trae repetidos, espacios, comentarios, nombres en lugar de direcciones y, de vez en cuando, equipos que el contrato dejó fuera. Un pentester no pasa esa lista a ninguna herramienta tal cual. La limpia con un script que compara cada dirección con el alcance firmado y avisa de todo lo que descarta. En esta sala, con los datos ficticios del encargo de Pesquera Rompeolas, lees dos versiones de ese filtro y compruebas cuál de las dos protege de verdad el alcance.

0 de 5 · 0%

Objetivo de la sala

La lista de equipos que manda un cliente casi nunca llega limpia: trae repetidos, espacios, comentarios, nombres en lugar de direcciones y, de vez en cuando, equipos que el contrato dejó fuera. Un pentester no pasa esa lista a ninguna herramienta tal cual. La limpia con un script que compara cada dirección con el alcance firmado y avisa de todo lo que descarta. En esta sala, con los datos ficticios del encargo de Pesquera Rompeolas, lees dos versiones de ese filtro y compruebas cuál de las dos protege de verdad el alcance.

El alcance firmado es una frontera legal, no un trámite. Probar un equipo que no está en el contrato no es un error de formato: es una actuación sin autorización. Por eso la comprobación se pone antes de que cualquier herramienta reciba una dirección, en un único punto que todos usan, y no se deja a la memoria de quien lanza el escaneo a las tres de la mañana.

Un buen filtro hace tres cosas más que descartar: dice por qué descarta cada línea (repetida, excluida por contrato, fuera del rango), no resuelve nombres por su cuenta —un nombre se pregunta al cliente— y no hace ninguna conexión de red. Solo compara texto con rangos.

Responde para continuar

Tienes un script que limpia la lista del cliente y otro que lanza el escaneo. ¿Dónde pones la comprobación del alcance?

Ver pista de ayuda

Una dirección fuera del alcance no debe llegar a tocarse; quitarla del informe después no deshace la prueba.

La forma más tentadora de filtrar es mirar el comienzo del texto: «si empieza por 198.51.100., es del cliente». Es rápida y está mal, porque un rango firmado como 198.51.100.0/28 abarca solo 16 direcciones (de la 0 a la 15) y el prefijo de texto deja pasar toda la red /24, incluida la del proveedor de hospedaje que el contrato deja fuera. En Python, el módulo estándar ipaddress entiende redes y pertenencia: ip in red.

Una regla útil: nunca compares direcciones como cadenas de caracteres. Conviértelas al tipo que entiende de redes y deja que la biblioteca haga la aritmética de máscaras.

Responde para continuar

Una versión del filtro acepta cualquier dirección que empiece por el prefijo del cliente. ¿Cuál es el fallo?

Ver pista de ayuda

Un rango /28 y un prefijo de texto no cubren las mismas direcciones.

Abre el laboratorio. alcance.txt dice qué rangos están dentro y cuáles fuera, entre ellos una red del proveedor de hospedaje del cliente. filtrar_v0.py compara por prefijo de texto y salida_v0.txt muestra lo que aceptó con la lista que mandó el cliente. Cruza la salida con el alcance firmado y busca una dirección aceptada que pertenece a esa red del proveedor.

Responde para continuar

¿Qué dirección de la red del proveedor de hospedaje acepta la versión 0 del filtro?

Ver pista de ayuda

Lee las líneas ACEPTADA de salida_v0.txt y compara cada una con el rango del proveedor que menciona alcance.txt.

Un rango firmado puede llevar excepciones: equipos que caen dentro de la red pero que el contrato excluye, como un sistema delicado o de terceros. Un filtro que solo mira rangos las deja pasar. La versión 1 lleva las exclusiones como una lista aparte y las comprueba primero, y en su salida las distingue de las que simplemente quedan fuera.

Responde para continuar

En salida_v1.txt, ¿qué dirección queda marcada como EXCLUIDA por contrato, aunque está dentro de un rango firmado?

Ver pista de ayuda

Busca la palabra EXCLUIDA con grep.

La versión 1 también deja escrito objetivos-validos.txt, la única lista que se entrega a la herramienta de escaneo. El script imprime al final cuántas direcciones validó. Ese número es el que se escribe en el plan de pruebas.

Responde para continuar

¿Cuántas direcciones valida filtrar_v1.py con la lista que mandó el cliente?

Ver pista de ayuda

Compara la última línea de salida_v1.txt con las líneas de objetivos-validos.txt (wc -l te las cuenta).

Inicia sesión para registrar tus puntos y progreso en el ranking.

Whoami-Labs Pro

Whoami-Labs Pro utiliza cookies

Utilizamos cookies y almacenamiento local para el funcionamiento del sitio, seguridad de sesión y, si lo autorizas, analítica y marketing. Puedes aceptar, rechazar o personalizar. Política de Privacidad