Nmap (Network Mapper) es el estándar de la industria para el descubrimiento de redes y auditoría de seguridad. No es solo un escáner de puertos; es una herramienta compleja capaz de evadir firewalls, detectar sistemas operativos interactuando con el stack TCP/IP y ejecutar scripts de explotación.
Para entender cómo Nmap descubre puertos, primero hay que entender cómo se comunican los ordenadores mediante TCP. Una conexión normal sigue tres pasos:
-sT) vs SYN Stealth Scan (-sS)El escaneo Connect (-sT) completa los 3 pasos. Es ruidoso porque el servidor registra la conexión completa en sus logs de acceso. Sin embargo, el SYN Scan (-sS) (escaneo por defecto si eres root) envía el SYN, recibe el SYN-ACK (sabe que el puerto está abierto), pero en lugar de enviar el ACK final, envía un RST (Reset) rompiendo la conexión al instante. Como la conexión nunca se completa, muchos firewalls y servidores antiguos no la registran.
Los firewalls modernos bloquean el típico "Ping" (ICMP Echo Request). Nmap ofrece formas alternativas de saber si un host está vivo antes de escanear sus puertos:
# Ping básico (Desactivar escaneo de puertos):
nmap -sn 192.168.1.0/24
# Forzar descubrimiento usando TCP ACK en el puerto 80 (Saltar bloqueos ICMP):
nmap -sn -PA80 192.168.1.0/24
# Descubrimiento mediante UDP (Útil contra firewalls estrictos con TCP):
nmap -sn -PU53 192.168.1.0/24
# NO hacer Ping (Asumir que el host está vivo, clave si el firewall bloquea todo el ping):
nmap -Pn 192.168.1.10
Los sistemas de detección de intrusos (IDS) detectan patrones de Nmap rápidamente. Aquí tienes el arsenal para ser invisible:
# 1. Fragmentación de paquetes: Divide los paquetes TCP en fragmentos muy pequeños (8 bytes)
# para que el IDS no pueda reconstruir la firma del escaneo.
nmap -f 192.168.1.10
# 2. Señuelos (Decoys): Oculta tu IP entre un montón de IPs falsas.
# El objetivo verá escaneos viniendo de Google, de su propia red y de ti.
nmap -D 8.8.8.8,10.0.0.1,RND:5,ME 192.168.1.10
# 3. Spoofing de MAC: Cambia tu dirección MAC para evadir controles de Capa 2 (NACs).
nmap --spoof-mac 00:11:22:33:44:55 192.168.1.10
# (O usar --spoof-mac Cisco, --spoof-mac Apple)
# 4. Modificar el puerto de origen: Muchos firewalls confían ciegamente en tráfico
# que viene del puerto 53 (DNS) o 80 (HTTP).
nmap --source-port 53 192.168.1.10
Escanear es solo el 10% del trabajo; el 90% restante es saber interpretar los datos. He capturado el resultado de un escaneo Nmap muy ruidoso contra un servidor corporativo. Analiza el log y encuentra las tres brechas críticas de seguridad para conseguir la bandera.
>_ INICIAR RETO CTF 10Escanear 65.535 puertos a través de internet puede tardar horas. Dominar los Timings es vital:
# Plantillas de tiempo (T0 a T5):
nmap -T4 192.168.1.10 # Rápido, recomendado para redes locales fiables.
nmap -T2 192.168.1.10 # Lento (Polite), usa menos ancho de banda, evade IDS.
# Control granular profundo:
# Forzar a Nmap a enviar al menos 1000 paquetes por segundo:
nmap --min-rate 1000 192.168.1.10
# Limitar los reintentos si se pierden paquetes (acelera el escaneo):
nmap --max-retries 1 192.168.1.10
El verdadero poder de Nmap radica en sus más de 600 scripts en lenguaje Lua. Se dividen en categorías como vuln, exploit, brute, safe.
# Ejecutar los scripts seguros por defecto (Equivalente a -sC)
nmap --script default 192.168.1.10
# Evaluar vulnerabilidades conocidas en un servicio específico:
nmap --script vuln -p 443 192.168.1.10
# Atacar por fuerza bruta un FTP o SSH:
nmap --script ftp-brute --script-args userdb=users.txt,passdb=pass.txt -p 21 192.168.1.10
# Fuzzing de directorios web incrustado en Nmap:
nmap --script http-enum -p 80 192.168.1.10
Nunca hagas un escaneo sin guardarlo. Nmap provee tres formatos principales (-oN Normal, -oX XML, -oG Grepable). Para guardar los tres a la vez, usa -oA.
# Guardar todos los formatos con el nombre "escaneo_inicial"
nmap -sS -p- -sV -oA escaneo_inicial 192.168.1.10
# Analizar un archivo Grepable rápido desde la terminal (extraer IPs con puerto 80 abierto):
cat escaneo_inicial.gnmap | grep "80/open" | awk '{print $2}'