Reconocimiento pasivo vs activo
El reconocimiento es la primera fase de cualquier auditoría: obtener información del objetivo antes de tocarlo. La decisión importante no es que herramienta usar, sino cuanto ruido se quiere generar y que se puede aprender sin generar ninguno.
Diferencia fundamental
| Aspecto | Pasivo | Activo |
|---|---|---|
| Interacción | Ninguna con el objetivo | Directa con el objetivo |
| Riesgo de detección | Bajo | Alto (IDS/IPS, WAF, bloqueo temporal) |
| Fuente de datos | Terceros y registros públicos | Respuestas del propio objetivo |
| Velocidad | Lenta, manual | Rápida, paralelizable |
| Que revela | Huella inicial, nombres, correos, rangos | Servicios reales, versiones, configuración |
| Punto ciego | Lo que no esta publicado | Puede alertar al defensor |
Reconocimiento pasivo
Se recopila información sin enviar un solo paquete al objetivo. Todo sale de fuentes de terceros: registros DNS, transparencia de certificados, motores de busqueda, repositorios, ofertas de empleo.
| Técnica | Que se obtiene | Herramientas |
|---|---|---|
| Enumeración DNS | Registros MX, TXT, NS, subdominios | dig, nslookup, theHarvester |
| Consulta WHOIS | Titularidad, fechas, contactos | whois, RDAP |
| Enumeración de subdominios | Superficie de ataque nominal | subfinder, amass, assetfinder |
| Análisis de certificados | Hosts historicos y actuales | crt.sh, certspotter, openssl s_client |
| Busqueda de servicios expuestos | Puertos y banners indexados | Shodan, Censys, FOFA |
| Histórico web | Versiones antiguas, rutas retiradas | Wayback Machine |
| Ofertas de empleo | Stack interno (AD, SIEM, cloud) | Busqueda manual |
| Filtraciones | Credenciales y correos | HIBP, DeHashed |
| Metadata de documentos | Usuarios, rutas, software | exiftool |
# Enumeracion de subdominios (pasiva)
subfinder -d example.com -o subs.txt
amass enum -d example.com -passive -o amass.txt
# Registros DNS utiles
dig example.com MX
dig example.com TXT
dig _dmarc.example.com TXT
# Certificados historicos
curl -s 'https://crt.sh/?q=example.com&output=json' | jq -r '.[].name_value' | sort -u
# WHOIS
whois example.comReconocimiento activo
Se interactua con el objetivo. Cada paquete puede quedar registrado; un escaneo agresivo contra un entorno con IDS se detecta en segundos.
| Técnica | Que se obtiene | Herramientas |
|---|---|---|
| Descubrimiento de hosts | Hosts vivos del rango | nmap -sn, arp-scan, fping |
| Escaneo de puertos | Servicios expuestos | nmap, masscan, naabu |
| Detección de versión | Versión y producto por servicio | nmap -sV, curl -I |
| Banner grabbing | Software y a veces SO | netcat, nmap -sV |
| Detección de SO | Sistema operativo | nmap -O |
| Enumeración web | Directorios, vhosts, tecnologías | ffuf, gobuster, whatweb, httpx |
| Traceroute | Ruta y saltos de red | traceroute, mtr |
| Scripts NSE | Comprobaciones concretas | nmap --script |
# Descubrimiento
nmap -sn 10.10.10.0/24
# Servicios con version y scripts por defecto
nmap -sV -sC -p- -oA scan example.com
# Web: tecnologias y rutas comunes
whatweb https://example.com
ffuf -u https://example.com/FUZZ -w /usr/share/wordlists/dirb/common.txt
# Traceroute
mtr -n example.comNota práctica: nmap -sS (SYN) requiere privilegios; sin root o en Windows sin privilegios usar -sT (connect scan).
Orden correcto de trabajo
- Pasivo primero. Construir la lista de objetivos (dominios, subdominios, rangos, correos) sin alertar a nadie.
- Activo ligero. Confirmar solo los hallazgos criticos: el dominio principal, el rango declarado y los servicios que se van a probar.
- Activo profundo. Escanear en detalle lo que ya se conoce, nunca rangos enteros a ciegas.
- Documentar. Guardar comandos, fechas y salidas: sin registro no hay informe defendible.
Regla útil: cuanto más se obtiene en pasivo, menos superficie hay que tocar en activo y menor es el riesgo de detección y de romper algo.
Errores frecuentes
- Confundir quien posee el dominio con quien lo opera (Cloudflare, CDN, proveedor de correo).
- Dar por buenos los subdominios de
crt.shsin resolver: incluye nombres historicos y comodines. - Lanzar
-p-contra un rango /16 para “acotar”: se detecta, tarda días y satura la red. - Usar
dig ANY: la mayoría de resolvers modernos lo limitan o lo devuelven vacio. MejorMX,TXT,NSpor separado. - Ignorar el SPF, el DMARC y los TXT de verificación: dicen mucho del proveedor y del correo, sin tocar el objetivo.
Consideraciones legales
El reconocimiento pasivo sobre datos públicos no requiere permiso, pero el activo si: alcance escrito, ventana de pruebas y contacto del cliente. El volumen de peticiones a APIs publicas también cuenta (Shodan, crt.sh, HIBP tienen cuotas y términos).