Nmap
Herramienta de escaneo de red usada para descubrir hosts, puertos, servicios y (en algunos casos) obtener huellas de versión y sistema operativo.
Qué es
Herramienta de escaneo de red usada para descubrir hosts, puertos, servicios y (en algunos casos) obtener huellas de versión y sistema operativo.
Para qué sirve
- Recon e inventario de exposición (red team / blue team).
- Validar segmentación y reglas de firewall (puertos filtrados vs cerrados).
- Soporte a auditorías (evidencia reproducible con comandos).
Cuándo usarla
- Descubrimiento de hosts y enumeración inicial.
- Verificación periódica de superficie de ataque (con autorización).
Instalación
- Linux: normalmente vía repos (
apt install nmap,dnf install nmap, etc.). - Windows/macOS: instaladores oficiales.
Uso (comandos comunes)
# Descubrimiento de hosts (ping scan)nmap -sn 192.168.1.0/24
# TCP connect scan (sin privilegios)nmap -sT -p 22,80,443 192.168.1.10
# Descubrimiento ARP en LAN (más fiable en misma subred)nmap -PR -sn 192.168.1.0/24
# ICMP echo / timestamp / netmasknmap -PE -sn 192.168.1.0/24nmap -PP -sn 192.168.1.0/24nmap -PM -sn 192.168.1.0/24
# TCP/UDP ping (puertos comunes)nmap -PS22,80,443 -sn 192.168.1.0/24nmap -PA80,443 -sn 192.168.1.0/24nmap -PU53,123 -sn 192.168.1.0/24
# TCP SYN scan a todos los puertos (requiere privilegios en Linux)nmap -sS -p- -T4 192.168.1.10
# UDP scan (lento, puede devolver open|filtered)nmap -sU -p 53,123 192.168.1.10
# Escaneos TCP avanzadossudo nmap -sN 192.168.1.10 # Nullsudo nmap -sF 192.168.1.10 # FINsudo nmap -sX 192.168.1.10 # Xmassudo nmap -sM 192.168.1.10 # Maimonsudo nmap -sA 192.168.1.10 # ACK (reglas firewall)sudo nmap -sW 192.168.1.10 # Windowsudo nmap --scanflags URGACKPSHRSTSYNFIN 192.168.1.10
# Detección de servicios/versión (banner + probes)nmap -sV -p 22,80,443 192.168.1.10nmap -sV --version-intensity 2 192.168.1.10nmap -sV --version-light 192.168.1.10nmap -sV --version-all 192.168.1.10
# Escaneo “default scripts” + version detection (útil para enumeración)nmap -sC -sV 192.168.1.10
# Detección de OS y traceroutesudo nmap -O 192.168.1.10sudo nmap --traceroute 192.168.1.10
# NSE (scripts)nmap --script default 192.168.1.10nmap --script vuln 192.168.1.10
# Guardar resultados en formatos útilesnmap -oN nmap.txt 192.168.1.10nmap -oX nmap.xml 192.168.1.10nmap -oG nmap.gnmap 192.168.1.10nmap -oA nmap_all 192.168.1.10
# Más detalle en salidanmap -sS --reason 192.168.1.10nmap -sS -v 192.168.1.10nmap -sS -vv 192.168.1.10Output / interpretación
- Puertos open suelen indicar servicios accesibles; correlaciona con Port Scanning.
- filtered sugiere bloqueo por firewall/ACL; closed implica respuesta sin servicio.
- Con
-sV, Nmap muestra SERVICE VERSION (banner/probes), útil para buscar CVEs.
Seguridad / OPSEC
- Ajusta velocidad (
-T0..-T5) según entorno: más rápido = más ruido. - Evita escanear rangos grandes sin ventana y sin permiso (puede disparar detecciones y bloqueos).
- Documenta exactamente comandos usados y fecha/hora para trazabilidad.
-sV,-Oy--scriptincrementan el ruido y el tiempo de escaneo.
Cheatsheet (banderas útiles)
-sn: host discovery (sin port scan).-sS: SYN scan (privilegios en Linux).-sT: connect scan (sin privilegios, más ruidoso).-sU: UDP scan (más lento y difícil).-sN: null scan.-sF: FIN scan.-sX: Xmas scan.-sM: Maimon scan.-sA: ACK scan (reglas firewall).-sW: Window scan.--scanflags: flags TCP personalizados.-p-: todos los puertos TCP (1-65535).-p 80,443: lista concreta de puertos.-p1-1023: rango de puertos.-F: top 100 puertos comunes.--top-ports 10: top N puertos.-r: orden consecutivo (no aleatorio).-T0..-T5: plantillas de timing (sigilo vs velocidad).--min-rate/--max-rate: limitar tasa de paquetes.--min-parallelism/--max-parallelism: controlar paralelización.--reason: mostrar por qué Nmap decide estados.-v/-vv: más verbosidad.-d/-dd: depuración.-S: IP de origen falsificada (requiere capturar respuestas).--spoof-mac: MAC falsificada (misma LAN).-D: señuelos (decoys).-f/-ff: fragmentación de paquetes.--mtu: tamaño de fragmento (múltiplo de 8).--data-length: relleno de payload.-sI: idle/zombie scan.-sV: versión de servicio.--version-intensity: nivel 0–9 (más probes).--version-light/--version-all: perfiles rápidos vs exhaustivos.-sC: scripts por defecto (safe).--script: ejecutar categorías o scripts específicos (p. ej.,vuln,default).--script-args: parámetros para scripts.-O: detección de OS (requiere privilegios y condiciones de red).--traceroute: ruta al objetivo.-A: agresivo (scripts + version + OS + traceroute) → muy ruidoso.
Integración con otras notas
- Conceptos: Port Scanning, Descubrimiento de hosts (Host Discovery)
- Checklists: Web App Testing Checklist (OWASP-inspired) (fase recon)
Diagrama
flowchart LR A[Targets] --> B[Nmap] B --> C[Puertos/Servicios] C --> D[Enumeración] D --> E[Mitigación / Hardening]
Mock output: