Ghost AcademyGhostOffensive · Ghost Academy
GhostOffensiveMódulo 03Con laboratorio

Recopilación de información

Antes de atacar nada hay que entender qué existe. Un buen reconocimiento decide gran parte del resultado de una auditoría: cuanto más sabes del objetivo, menos ruido haces y menos tiempo pierdes.

Objetivos de la unidad

1. Por qué el reconocimiento lo decide casi todo

En una auditoría, el tiempo es finito y la superficie de ataque es enorme. El reconocimiento es la fase que convierte "un objetivo" en "una lista priorizada de puntos por donde entrar". Un pentester con prisa que se salta esta fase acaba lanzando exploits a ciegas contra lo primero que ve; uno metódico dedica una parte desproporcionada del encargo a entender el objetivo, y por eso encuentra el camino que los demás no ven: el subdominio olvidado, el servicio en un puerto raro, la cuenta de correo que revela el formato de nombres de usuario.

La regla mental es ampliar antes de estrechar: primero se recopila todo lo posible (aunque parezca irrelevante), y solo después se decide qué merece un ataque. Un dato inútil hoy es la pieza que encaja tres fases más adelante.

2. Pasivo frente a activo: detección y legalidad

La diferencia no es solo técnica, es también de riesgo de ser detectado y de encaje legal.

PasivoActivo
Interacción con el objetivoNinguna directa (consultas a terceros)Envías tráfico al objetivo
Detectable por la víctimaNo: no toca su infraestructuraSí: aparece en logs, IDS, WAF
Encaje legalConsulta de información pública; casi siempre seguroPuede requerir autorización explícita según el alcance
EjemplosBuscadores, WHOIS, certificados, redes sociales, filtracionesEscaneo de puertos, consultas DNS directas, peticiones web

Un matiz importante que confunde a mucha gente: consultar el DNS público de una empresa a través de un resolver de terceros (como 8.8.8.8) es pasivo; lanzar consultas directamente contra su servidor DNS ya es activo, porque tu tráfico llega a su máquina. En un encargo real se empieza siempre por lo pasivo —no alerta al objetivo y refina lo que luego atacarás activamente— y todo lo activo se hace dentro del alcance acordado por escrito (ver el módulo 1).

3. OSINT: perfilar la organización sin tocarla

El reconocimiento pasivo moderno gira en torno a fuentes públicas (OSINT, Open-Source Intelligence). Lo que buscas y dónde:

ObjetivoFuente típica
Dominios y titularidadWHOIS, registros RDAP
Subdominios (sin tocar el objetivo)Transparencia de certificados (crt.sh): cada certificado TLS emitido queda en un registro público y revela nombres de host
Tecnologías y versionesWappalyzer, cabeceras, Shodan (que ya escaneó por ti)
Personas, correos, nombres de usuariotheHarvester, LinkedIn, notas de prensa
Credenciales filtradasVolcados públicos de brechas anteriores
Ficheros con metadatosDocumentos publicados (PDF, DOCX) que llevan autor, rutas internas, software

Dos ideas potentes aquí. La primera: la transparencia de certificados convierte en público, sin que tú toques nada, un mapa de subdominios que la empresa creía discreto (incluidos entornos de dev, staging, vpn). La segunda: el formato de los correos (inicial+apellido@empresa) te da directamente la convención de nombres de usuario de su directorio interno, que reutilizarás en ataques de contraseñas (módulo 12) y Active Directory (módulo 18).

4. Reconocimiento web

Un sitio web filtra información por muchos sitios, y conviene mirarlos todos de forma ordenada:

kali@lab
$ curl -sI http://objetivo/ # solo cabeceras: Server, X-Powered-By, cookies
kali@lab
$ curl -s http://objetivo/robots.txt
kali@lab
$ curl -s -H "Host: intranet.objetivo" http://objetivo/ # probar un vhost interno

El descubrimiento de contenido no enlazado (directorios y ficheros ocultos) se hace por diccionario con herramientas como gobuster o ffuf; lo trabajamos a fondo en el módulo 4.

5. DNS: el mapa de la infraestructura

El DNS traduce nombres a direcciones, pero para un atacante es sobre todo un mapa: qué máquinas existen, cómo se llaman y qué papel cumplen. Tipos de registro que importan:

RegistroQué revela
A / AAAANombre → dirección IPv4 / IPv6
MXServidores de correo (objetivos de phishing y de enumeración SMTP)
NSServidores DNS autoritativos del dominio
TXTSPF, DKIM, verificaciones... a menudo con notas internas o pistas de proveedores
CNAMEAlias; delata servicios de terceros (y a veces subdominios reaprovechables)

El fallo clásico es la transferencia de zona (AXFR): el mecanismo legítimo con el que un servidor DNS secundario copia la zona de uno primario. Si el primario no restringe quién puede pedir esa copia, cualquiera obtiene la zona completa de una sola vez: todos los subdominios y registros, sin adivinar nada. Es raro en producción hoy, pero cuando aparece es un regalo.

kali@lab
$ dig NS dominio.tld # ¿quién es autoritativo?
kali@lab
$ dig axfr dominio.tld @ns1.dominio.tld # pedir la zona entera

Cuando no hay AXFR, los subdominios se descubren por otras vías: transparencia de certificados (pasivo) o fuerza de diccionario de nombres de host contra el DNS (activo).

6. Descubrimiento de servicios con nmap

nmap es la herramienta central de esta fase, pero usarla bien exige entender qué hace cada tipo de escaneo, no memorizar comandos.

EscaneoCómo funcionaCuándo
-sS (SYN)Envía un SYN y, si recibe SYN/ACK, sabe que el puerto está abierto pero no completa la conexión. Rápido y algo más discreto. Requiere privilegios.Escaneo por defecto cuando eres root
-sT (connect)Completa la conexión TCP entera (usa la pila del SO). Más ruidoso y registrable.Sin privilegios, o a través de un proxy
-sU (UDP)UDP no confirma conexión, así que es lento y ambiguo; hay que pedirlo aparte.Para no perderte SNMP, DNS, SNMP, TFTP...
-sVHabla con cada puerto abierto para identificar el servicio y su versión.Siempre, sobre los puertos ya abiertos
-sC / --scriptLanza scripts de la NSE (enumeración, comprobaciones conocidas).Cuando ya sabes qué servicio hay

El error más común es fiarse del escaneo por defecto, que solo mira los 1000 puertos más habituales: un servicio en un puerto alto pasa desapercibido y da una falsa sensación de que "no hay casi nada". El flujo recomendado es en dos tiempos: primero un barrido rápido de todos los puertos, y luego -sV y scripts solo sobre los que estén abiertos (así lo lento se hace sobre pocos puertos).

kali@lab
$ nmap -p- --min-rate 2000 objetivo -oA barrido # los 65535 puertos, rápido
kali@lab
$ nmap -sV -sC -p 21,22,25 objetivo -oA detalle # versión y scripts en los abiertos

-oA guarda la salida en los tres formatos a la vez: se consulta después sin repetir el escaneo, y deja evidencia para el informe.

7. Perfilado de servicios comunes

Cada servicio abierto es una entrevista. Qué preguntar a los más frecuentes:

ServicioQué buscar
FTP (21)Acceso anónimo (anonymous), ficheros expuestos, y los ocultos (empiezan por punto).
SMTP (25)El banner identifica el software; VRFY/EXPN pueden confirmar si un usuario existe, lo que valida una lista de nombres.
SSH (22)Versión (para buscar CVE) y el banner previo a la autenticación, que a veces lleva avisos internos.
SMB (139/445)Sesiones nulas, recursos compartidos accesibles sin credenciales (lo vemos en el módulo 4).
SNMP (161/UDP)Cadenas de comunidad por defecto (public) que revelan inventario del equipo.
kali@lab
$ nc objetivo 25 # hablar SMTP a mano: EHLO, VRFY usuario
kali@lab
$ ftp objetivo # usuario anonymous; ls -la para ver ocultos

La conexión manual con nc es una habilidad que conviene dominar: cuando nmap -sV no reconoce un servicio, hablar con él a mano suele revelar qué es (muchos servicios responden a HELP o se identifican solos).

8. Correlacionar y registrar

El valor del reconocimiento no está en cada dato aislado, sino en cómo se conectan. Un ejemplo real del propio laboratorio de este módulo: un fichero en el FTP menciona una cuenta de servicio → esa cuenta se confirma por SMTP con VRFY → y ese nombre de usuario alimenta un ataque de contraseñas más adelante. Ninguno de los tres pasos por separado es gran cosa; encadenados, son una vía de entrada.

Por eso hay que documentar sobre la marcha: qué encontraste, en qué servicio, con qué comando. Esa nota no solo sostiene el informe final (módulo 20): es tu memoria de trabajo cuando, tres fases después, necesites recordar dónde viste aquel nombre. Anota máquinas, puertos, versiones, nombres de usuario, rutas y cualquier credencial, con la evidencia de cómo la obtuviste.

Para profundizar
🧰 Herramientas relacionadas (Ghost Academy)

Guías y laboratorios ya publicados en Ghost Academy sobre las herramientas de este módulo:

Google Dorking · Shodan · theHarvester · Recon-ng · SpiderFoot · Nmap: guía completa

Laboratorio: Nebula Logistics

⬇ Descargar laboratorio (ZIP)

Descomprime el ZIP, lee el LEEME.md y despliega el laboratorio. Reconoce la empresa ficticia nebula.lab. Hay 8 flags con formato GO{...}. Verifica cada una en http://localhost:8080/verificador.

Aplica esta unidad. Recuerda: no todos los servicios están en su puerto estándar.

¿Atascado o ya terminado? La solución paso a paso revela todas las flags: úsala solo cuando lo hayas intentado.

Autoevaluación

  1. ¿Por qué consultar el DNS de una empresa por 8.8.8.8 es pasivo y hacerlo contra su propio servidor DNS es activo?
  2. ¿Cómo permite la transparencia de certificados enumerar subdominios sin enviar un solo paquete al objetivo?
  3. ¿Por qué el formato de los correos de una empresa es un hallazgo valioso para fases posteriores?
  4. Explica la diferencia entre un escaneo -sS y uno -sT a nivel de conexión TCP.
  5. ¿Por qué hay que pedir el escaneo UDP (-sU) aparte y qué servicios te perderías si no lo haces?
  6. ¿Qué es una transferencia de zona y por qué es un fallo de configuración tan valioso?
  7. Da un ejemplo de cómo tres hallazgos inofensivos por separado se encadenan en una vía de entrada.