Introducción
Gobuster es una potente herramienta utilizada para realizar ataques de fuerza bruta a URIs (directorios y archivos), subdominios DNS, buckets de Amazon S3 y más. En el contexto de la ciberseguridad y las pruebas de penetración, el descubrimiento de subdominios es un paso crítico en la fase de reconocimiento. Conocer las direcciones IP asociadas a estos subdominios puede proporcionar información valiosa sobre la infraestructura de red de una organización, ayudando a identificar posibles vectores de ataque o configuraciones erróneas.
Este laboratorio te guiará a través del uso de Gobuster para realizar la enumeración de subdominios DNS. Específicamente, aprenderás a aprovechar un flag particular para mostrar las direcciones IP junto con los subdominios descubiertos, mejorando tu capacidad para mapear eficazmente la infraestructura objetivo.
Ejecutar un escaneo DNS básico con gobuster
En este paso, realizarás un escaneo básico de subdominios DNS utilizando Gobuster. Esto demostrará la salida predeterminada de un escaneo DNS, que normalmente solo lista los subdominios descubiertos sin sus direcciones IP correspondientes. Utilizaremos example.com como dominio objetivo y una lista de palabras común para subdominios.
Primero, asegúrate de que Gobuster esté instalado. Si no lo está, puedes instalarlo usando sudo apt install gobuster.
Ahora, ejecuta el siguiente comando en tu terminal:
gobuster dns -d example.com -w /usr/share/wordlists/dirb/common.txt -q
gobuster dns: Especifica que queremos realizar un escaneo de subdominios DNS.-d example.com: Estableceexample.comcomo el dominio objetivo.-w /usr/share/wordlists/dirb/common.txt: Especifica la lista de palabras a utilizar para la fuerza bruta de subdominios. Esta es una lista de palabras común disponible en muchas distribuciones de Linux.-q: Suprime el banner y la salida de progreso, mostrando solo los resultados.
Verás una lista de subdominios encontrados para example.com. Observa que solo se muestran los nombres de los subdominios.
Found: www.example.com
Found: mail.example.com
Found: ftp.example.com
Found: blog.example.com
Found: dev.example.com
Volver a ejecutar el escaneo con el flag -i
En este paso, volverás a ejecutar el escaneo DNS de Gobuster, pero esta vez incluirás el flag -i. El flag -i instruye a Gobuster a mostrar las direcciones IP asociadas con cada subdominio descubierto. Esto es crucial para obtener una imagen más completa de la infraestructura del objetivo.
Ejecuta el siguiente comando en tu terminal:
gobuster dns -d example.com -w /usr/share/wordlists/dirb/common.txt -i -q
La única diferencia con el comando anterior es la adición del flag -i.
Observa cuidadosamente la salida. Ahora deberías ver las direcciones IP listadas junto a cada subdominio descubierto.
Found: www.example.com (93.184.216.34)
Found: mail.example.com (93.184.216.34)
Found: ftp.example.com (93.184.216.34)
Found: blog.example.com (93.184.216.34)
Found: dev.example.com (93.184.216.34)
Las direcciones IP que se muestran aquí son para example.com, que típicamente apunta a una única IP para todos sus subdominios con fines de demostración. En un escenario del mundo real, podrías ver diferentes direcciones IP para diferentes subdominios, lo que indicaría diferentes servidores o servicios.
Comparar la salida con y sin el flag -i
En este paso, compararás visualmente la salida de los dos comandos anteriores de Gobuster. Esta comparación resaltará la diferencia significativa que el flag -i marca en el proceso de reconocimiento.
Recuerda la salida del Paso 1 (sin -i):
Found: www.example.com
Found: mail.example.com
Found: ftp.example.com
Found: blog.example.com
Found: dev.example.com
Y la salida del Paso 2 (con -i):
Found: www.example.com (93.184.216.34)
Found: mail.example.com (93.184.216.34)
Found: ftp.example.com (93.184.216.34)
Found: blog.example.com (93.184.216.34)
Found: dev.example.com (93.184.216.34)
La diferencia clave es la presencia de (IP_ADDRESS) junto a cada subdominio cuando se utiliza el flag -i. Esta información adicional es crucial para comprender la infraestructura subyacente. Sin las direcciones IP, solo conoces los nombres de los subdominios. Con ellas, sabes a dónde resuelven esos subdominios, lo que puede apuntar a servidores específicos, servicios en la nube o diferentes partes de una red.
Esta comparación demuestra cómo un simple flag puede mejorar significativamente la utilidad de tus esfuerzos de reconocimiento.
Identificar las direcciones IP asociadas con cada subdominio
En este paso, identificarás y anotarás específicamente las direcciones IP asociadas con los subdominios descubiertos en el paso anterior. Si bien example.com podría mostrar la misma IP para todos los subdominios, en un escenario del mundo real, este paso implicaría identificar direcciones IP potencialmente distintas.
De la salida del comando en el Paso 2:
Found: www.example.com (93.184.216.34)
Found: mail.example.com (93.184.216.34)
Found: ftp.example.com (93.184.216.34)
Found: blog.example.com (93.184.216.34)
Found: dev.example.com (93.184.216.34)
Puedes ver que para example.com, todos los subdominios listados resuelven a la dirección IP 93.184.216.34.
En un escenario de reconocimiento real, si estuvieras escaneando un dominio diferente, podrías encontrar:
sub1.target.comresolviendo a192.168.1.10sub2.target.comresolviendo a192.168.1.11cdn.target.comresolviendo a203.0.113.50(una IP de CDN)admin.target.comresolviendo a10.0.0.5(una IP interna, si está expuesta)
Identificar estas IPs distintas ayuda en:
- Identificación de Servidores (Server Fingerprinting): Diferentes IPs pueden indicar diferentes servidores, sistemas operativos o software de servidor web.
- Identificación de Servicios en la Nube: Las IPs que pertenecen a proveedores de nube conocidos (AWS, Azure, GCP) pueden revelar el uso de servicios específicos en la nube.
- Segmentación de Red: Diferentes rangos de IP pueden sugerir diferentes segmentos de red o departamentos dentro de una organización.
Este paso enfatiza la importancia no solo de encontrar subdominios, sino también de comprender su ubicación en la red.
Comprender cómo esto ayuda en el mapeo de infraestructura
En este paso final, comprenderás las implicaciones más amplias de mostrar direcciones IP en los resultados de escaneo de DNS, particularmente cómo ayuda en el mapeo de infraestructura durante el reconocimiento.
El mapeo de infraestructura es el proceso de crear un diagrama detallado o una comprensión de la red y los sistemas de un objetivo. Al combinar la enumeración de subdominios con la resolución de direcciones IP, obtienes varias ventajas:
- Identificación de Proveedores de Alojamiento: Diferentes rangos de IP a menudo pertenecen a diferentes proveedores de alojamiento (por ejemplo, AWS, Google Cloud, DigitalOcean). Saber esto puede ayudarte a comprender dónde se alojan diferentes partes de la infraestructura de una organización.
- Descubrimiento de Servicios Ocultos: A veces, los subdominios pueden apuntar a servicios internos o menos conocidos que no están directamente enlazados desde el sitio web principal. La resolución de sus IPs puede revelar si están en el mismo servidor, en un servidor diferente o incluso en un segmento de red diferente.
- Identificación de Superficies de Ataque: Si varios subdominios resuelven a la misma IP, podría indicar un único servidor que aloja múltiples servicios, lo que potencialmente consolida vectores de ataque. Por el contrario, IPs distintas sugieren servicios distribuidos, cada uno con sus propias vulnerabilidades potenciales.
- Evitar WAFs/CDNs: Si un dominio principal está detrás de un Firewall de Aplicaciones Web (WAF) o una Red de Entrega de Contenido (CDN), encontrar subdominios que resuelvan a la IP de origen (la IP real del servidor) puede permitirte evitar el WAF/CDN e interactuar directamente con el servidor.
- Análisis de Segmentación de Red: Diferentes bloques de direcciones IP pueden indicar diferentes departamentos, ubicaciones geográficas o segmentos de red dentro de una organización. Esto ayuda a comprender la estructura de red interna del objetivo.
Al usar el flag -i con Gobuster, transformas una simple lista de subdominios en una valiosa pieza de inteligencia de infraestructura, mejorando significativamente tus capacidades de reconocimiento. Esta información es crítica para planificar los siguientes pasos de pruebas de penetración, como el escaneo de puertos, el análisis de vulnerabilidades y los ataques dirigidos.
Resumen
En este laboratorio, aprendiste a usar Gobuster de manera efectiva para la enumeración de subdominios DNS y, lo que es más importante, cómo mostrar las direcciones IP asociadas para cada subdominio descubierto. Comenzaste realizando un escaneo DNS básico con Gobuster, observaste su salida predeterminada y luego volviste a ejecutar el escaneo con el flag -i para incluir las direcciones IP. A través de la comparación, comprendiste la diferencia crítica que marca este flag. Finalmente, exploraste cómo la identificación de estas direcciones IP es fundamental para el mapeo integral de infraestructura y el reconocimiento en ciberseguridad. Esta habilidad es invaluable para obtener información más profunda sobre el panorama de red de un objetivo e identificar posibles superficies de ataque.
