Information Gathering CTF 1 (eJPT)

xhetic
@xhetic

Assessment Methodologies: Information Gathering
Mientras avanzamos en el curso Assessment Methodologies: Information Gathering del Penetration Testing Student learning Path para la certificación eJPT, nos encontramos con este laboratorio práctico: Information Gathering CTF 1.
Mi objetivo es que esta guía no solo te ayude a resolver el laboratorio, sino que también te muestre cómo pienso y abordo estos retos. Si quieres complementar este contenido, he publicado mis apuntes detallados del curso en Xhetic Shards. ¡Espero que te sean útiles!
Herramientas que Vamos a Utilizar
Para resolver este laboratorio, emplearemos las siguientes herramientas, cada una con un propósito específico:
- Firefox: Un navegador web para inspeccionar páginas y explorar recursos en línea.
- Curl: Herramienta de línea de comandos que realiza solicitudes HTTP para obtener datos de un servidor.
- Dirb: Herramienta para enumerar directorios y archivos en un servidor web mediante solicitudes HTTP.
- HTTrack: Software que descarga un sitio web completo para analizarlo localmente.
- Whatweb: Herramienta que identifica tecnologías web, como el software y la versión del servidor.
Entorno del Laboratorio
A website is accessible at http://target.ine.local. Perform reconnaissance and capture the flags..
En otras palabras, el reto consiste en realizar un reconocimiento pasivo para descubrir cinco flags ocultas en el sitio web.
Objetivos
El laboratorio nos desafía a encontrar cinco flags, cada una con una pista que orienta el proceso:
- Flag 1: "This tells search engines what to and what not to avoid."
- Flag 2: "What website is running on the target, and what is its version?"
- Flag 3: "Directory browsing might reveal where files are stored."
- Flag 4: "An overlooked backup file in the webroot can be problematic if it reveals sensitive configuration details."
- Flag 5: "Certain files may reveal something interesting when mirrored."
Resolución del Laboratorio
A continuación, detallo el proceso que he seguido para encontrar cada flag, compartiendo mis razonamientos, siguiendo las pistas y compartiendo cómo fui razonando, probando ideas y ajustando mi enfoque cuando fue necesario.
Flag 1
Pista: "This tells search engines what to and what not to avoid."
La pista me hizo pensar en el archivo robots.txt
, archivo que los sitios web usan para guiar a los motores de búsqueda. Decidí inspeccionarlo con curl
:
curl http://target.ine.local/robots.txt
El archivo contenía la flag directamente. La captura siguiente muestra el resultado:
Flag 2
Pista: "What website is running on the target, and what is its version?"
Esta pista apuntaba a identificar el software del sitio y su versión. Durante el curso hemos visto herramientas como Whatweb
que son perfectas para esto, ya que analizan encabezados HTTP y contenido HTML. Ejecuté:
whatweb http://target.ine.local
El resultado mostró el software que usa la página y su versión, junto con la flag:
Saber qué software usa un sitio es clave, porque versiones desactualizadas pueden tener vulnerabilidades conocidas.
Flag 3
Pista: "Directory browsing might reveal where files are stored."
La mención de "directory browsing" me llevó a pensar en la herramienta Dirb
, que envía solicitudes HTTP para encontrar rutas ocultas. Ejecuté el comando:
dirb http://target.ine.local
El resultado destacó el directorio http://target.ine.local/wp-content/uploads
como listable, lo que significa que el servidor mostraba su contenido.
Para confirmarlo, visité la URL en Firefox:
http://target.ine.local/wp-content/uploads
La página mostró un listado de archivos, y entre ellos estaba la flag:
Flag 4
Pista: "An overlooked backup file in the webroot can be problematic if it reveals sensitive configuration details."
La pista sugiere que hay un archivo de respaldo (como una copia de seguridad) olvidada en la raíz del sitio. En la Flag 3 había usado Dirb
para enumerar directorios, pero no había buscado archivos específicos. Dirb
nos puede ayudar a encontrar archivos con extensiones específicas, como .bak
, .zip
o .old
que son las que podría usar la copia de seguridad que buscamos con el parámetro -X
, que permite especificar extensiones de archivo en la búsqueda.
Ejecuté el siguiente comando:
dirb http://target.ine.local -X .bak,.zip,.tar.gz
El resultado mostró un archivo en http://target.ine.local/wp-config.bak
:
Con Curl pude leer el contenido del archivo:
curl http://target.ine.local/wp-config.bak
El archivo contenía la configuración de worpdress y entre lineas la flag que buscamos.
Flag 5
Pista: "Certain files may reveal something interesting when mirrored."
La idea de reflejar el sitio me llevó a HTTrack
, una herramienta que descarga un sitio web completo para analizarlo localmente. Ejecuté:
httrack http://target.ine.local
Esto creó una copia del sitio en mi máquina. Al principio, revisé los archivos manualmente, lo que no era lo mejor, pero como era mi primera vez usando HTTrack pues quise saber cómo guardaba los archivos en local exactamente. Tras explorar un poco, encontré la flag en un archivo llamado xmlrpc0db0.php
.
Sin embargo, si no quisieramos buscar manualmente, siempre podemos automatizar la búsqueda con un comando que filtrara "FLAG5" en los archivos descargados:
ls -R | grep -r -i "FLAG5" .
Este comando buscó recursivamente y encontró la flag en xmlrpc0db0.php
mucho más rápido:
Resultados Finales: Flags Capturadas
Tras explorar el sitio web, he logrado capturar las cinco flags:
- Flag 1:
FLAG1{90bc112607c9499daee12d9adfd327cb}
- Flag 2:
FL@G2{0afa4a6d83034250b952ce92d11f779d}
- Flag 3:
FLAG3{da2814deb3e74863ad089308e9e1b9a0}
- Flag 4:
FLAG4{b8afaf2dafe447cfbaf0b5411f21c73e}
- Flag 5:
FLAG5{f279ab0163834526841a6b76c95b8fa5}
Recursos Adicionales
Si quieres profundizar en las herramientas y técnicas usadas, te invito a revisar mis guías en Xhetic Shards:
Espero que esta guía te haya ayudado a resolver el laboratorio Information Gathering CTF 1 y a entender el proceso de pensamiento detrás de cada paso. ¡Ánimo en tu preparación para la certificación eJPT y en tus aventuras en ciberseguridad!