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

AspectoPasivoActivo
InteracciónNinguna con el objetivoDirecta con el objetivo
Riesgo de detecciónBajoAlto (IDS/IPS, WAF, bloqueo temporal)
Fuente de datosTerceros y registros públicosRespuestas del propio objetivo
VelocidadLenta, manualRápida, paralelizable
Que revelaHuella inicial, nombres, correos, rangosServicios reales, versiones, configuración
Punto ciegoLo que no esta publicadoPuede 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écnicaQue se obtieneHerramientas
Enumeración DNSRegistros MX, TXT, NS, subdominiosdig, nslookup, theHarvester
Consulta WHOISTitularidad, fechas, contactoswhois, RDAP
Enumeración de subdominiosSuperficie de ataque nominalsubfinder, amass, assetfinder
Análisis de certificadosHosts historicos y actualescrt.sh, certspotter, openssl s_client
Busqueda de servicios expuestosPuertos y banners indexadosShodan, Censys, FOFA
Histórico webVersiones antiguas, rutas retiradasWayback Machine
Ofertas de empleoStack interno (AD, SIEM, cloud)Busqueda manual
FiltracionesCredenciales y correosHIBP, DeHashed
Metadata de documentosUsuarios, rutas, softwareexiftool
# 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.com

Reconocimiento activo

Se interactua con el objetivo. Cada paquete puede quedar registrado; un escaneo agresivo contra un entorno con IDS se detecta en segundos.

TécnicaQue se obtieneHerramientas
Descubrimiento de hostsHosts vivos del rangonmap -sn, arp-scan, fping
Escaneo de puertosServicios expuestosnmap, masscan, naabu
Detección de versiónVersión y producto por servicionmap -sV, curl -I
Banner grabbingSoftware y a veces SOnetcat, nmap -sV
Detección de SOSistema operativonmap -O
Enumeración webDirectorios, vhosts, tecnologíasffuf, gobuster, whatweb, httpx
TracerouteRuta y saltos de redtraceroute, mtr
Scripts NSEComprobaciones concretasnmap --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.com

Nota práctica: nmap -sS (SYN) requiere privilegios; sin root o en Windows sin privilegios usar -sT (connect scan).

Orden correcto de trabajo

  1. Pasivo primero. Construir la lista de objetivos (dominios, subdominios, rangos, correos) sin alertar a nadie.
  2. Activo ligero. Confirmar solo los hallazgos criticos: el dominio principal, el rango declarado y los servicios que se van a probar.
  3. Activo profundo. Escanear en detalle lo que ya se conoce, nunca rangos enteros a ciegas.
  4. 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.sh sin 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. Mejor MX, TXT, NS por 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).