Herramientas

Nmap

#network#recon

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)

Terminal window
# 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 / netmask
nmap -PE -sn 192.168.1.0/24
nmap -PP -sn 192.168.1.0/24
nmap -PM -sn 192.168.1.0/24
# TCP/UDP ping (puertos comunes)
nmap -PS22,80,443 -sn 192.168.1.0/24
nmap -PA80,443 -sn 192.168.1.0/24
nmap -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 avanzados
sudo nmap -sN 192.168.1.10 # Null
sudo nmap -sF 192.168.1.10 # FIN
sudo nmap -sX 192.168.1.10 # Xmas
sudo nmap -sM 192.168.1.10 # Maimon
sudo nmap -sA 192.168.1.10 # ACK (reglas firewall)
sudo nmap -sW 192.168.1.10 # Window
sudo nmap --scanflags URGACKPSHRSTSYNFIN 192.168.1.10
# Detección de servicios/versión (banner + probes)
nmap -sV -p 22,80,443 192.168.1.10
nmap -sV --version-intensity 2 192.168.1.10
nmap -sV --version-light 192.168.1.10
nmap -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 traceroute
sudo nmap -O 192.168.1.10
sudo nmap --traceroute 192.168.1.10
# NSE (scripts)
nmap --script default 192.168.1.10
nmap --script vuln 192.168.1.10
# Guardar resultados en formatos útiles
nmap -oN nmap.txt 192.168.1.10
nmap -oX nmap.xml 192.168.1.10
nmap -oG nmap.gnmap 192.168.1.10
nmap -oA nmap_all 192.168.1.10
# Más detalle en salida
nmap -sS --reason 192.168.1.10
nmap -sS -v 192.168.1.10
nmap -sS -vv 192.168.1.10

Output / 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, -O y --script incrementan 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

Diagrama

flowchart LR
A[Targets] --> B[Nmap]
B --> C[Puertos/Servicios]
C --> D[Enumeración]
D --> E[Mitigación / Hardening]

Mock output:

Referencias

  1. https://nmap.org/book/man.html
  2. https://nmap.org/book/man-port-scanning-basics.html