Saltearse al contenido

Reconocimiento activo

El recon activo es el que sí toca la infraestructura del objetivo: escaneas sus puertos, interrogas sus servicios, identificas versiones y mapeas su red. A diferencia del pasivo, esto deja rastro en sus logs y puede disparar alertas, así que se hace con permiso (scope) y con criterio. Es el puente entre “sé qué existe” (pasivo) y “sé qué está expuesto y explotable” (enumeración).

Ya tienes del pasivo una lista de dominios, IPs y rangos. El recon activo los interroga directamente para descubrir: qué hosts están vivos, qué puertos/servicios tienen abiertos, qué versiones corren y qué sistema operativo usan. De aquí sale la lista de servicios a enumerar en profundidad.

# qué está vivo en un rango
nmap -sn 10.0.0.0/24 # ping sweep
fping -a -g 10.0.0.0/24 2>/dev/null
# si ICMP está bloqueado, descubre por puertos comunes
nmap -sn -PS22,80,443 10.0.0.0/24 # TCP SYN discovery

Escaneo de puertos (nmap, la herramienta central)

Sección titulada «Escaneo de puertos (nmap, la herramienta central)»
# rápido: puertos top + descubrir servicios
nmap -sV -sC -oA scan target.com
# todos los puertos TCP (lento pero completo)
nmap -p- -T4 target.com
# UDP (lento; solo puertos clave)
nmap -sU --top-ports 20 target.com
# tipos de escaneo
-sS SYN scan (sigiloso, no completa la conexión) -sT TCP connect (sin privilegios)
-sV detección de versiones -O detección de SO -sC scripts por defecto (NSE)

Alternativas rápidas para rangos grandes: masscan / rustscan (encuentran puertos abiertos a gran velocidad) y luego nmap -sV sobre esos puertos.

rustscan -a target.com -- -sV -sC
masscan -p1-65535 10.0.0.0/24 --rate 10000

Cada puerto abierto es una pregunta: ¿qué corre y qué versión?

nmap -sV target # versiones
nmap --script=banner target # banners
# NSE: scripts específicos por servicio (vuln, enum, auth)
nmap --script smb-enum-shares,smb-os-discovery -p445 target
nmap --script http-enum -p80,443 target
whatweb https://target # tecnologías web (ver recon-fingerprint)
httpx -title -tech-detect -status-code -l hosts.txt
nikto -h https://target # escáner web rápido de problemas conocidos

El recon activo es detectable. Para reducir ruido/evadir:

-T2 / -T1 timing más lento (menos detectable)
--max-rate limitar paquetes por segundo
-D decoy1,decoy2 señuelos (ofuscar el origen)
-f fragmentar paquetes
--source-port 53 origen desde un puerto "de confianza"

Un IDS/IPS verá un -T5 -p- enseguida; un escaneo lento y segmentado pasa más desapercibido.

Detección: picos de conexiones a muchos puertos desde un origen (firma de escaneo), SYN sin completar handshake, NSE conocidos. Mitigación: segmentación, firewall que limite exposición, IDS/IPS (Suricata/Snort), rate-limiting y no exponer servicios innecesarios.

  • Descubrir hosts vivos en el rango (ping sweep / SYN discovery)
  • Escaneo de puertos TCP (top y luego -p-)
  • Puertos UDP clave (DNS, SNMP, etc.)
  • Detección de versiones y SO (-sV -O)
  • NSE por servicio (smb, http, etc.)
  • Fingerprinting web (whatweb/httpx)
  • Lista de servicios a enumerar en profundidad
  • Aplicar evasión/timing si el sigilo importa