Saltar al contenido principal
Nmap: Guía Completa de Escaneo de Redes para Pentesters (con Cheat Sheet)

Nmap: Guía Completa de Escaneo de Redes para Pentesters (con Cheat Sheet)

Nmap: desde conceptos básicos hasta escaneo avanzado, scripts NSE, evasión de firewalls e IDS. Incluye cheat sheet de referencia.

·Actualizado: 18 de julio de 20268 minCyberFlows Team
[Espacio publicitario — AdSense]
Respuesta rápida

Nmap es la herramienta de código abierto definitiva para exploración de redes y auditoría de seguridad, que permite descubrir hosts, escanear puertos, detectar servicios y vulnerabilidades mediante scripts NSE y técnicas de evasión de firewalls.

Introducción a Nmap (Network Mapper)

Nmap es la herramienta de código abierto definitiva para la exploración de redes, auditoría de seguridad y descubrimiento de hosts. Utilizada tanto por administradores de sistemas para inventariar redes como por analistas de seguridad (pentesters) para identificar vectores de ataque, Nmap destaca por su flexibilidad, potencia y precisión.

Si buscas una referencia rápida en tiempo real con más herramientas integradas, puedes usar nuestro Cheat Sheets Interactivo y nuestro Toolkit de Ciberseguridad directo en el navegador.


1. Funcionamiento Interno: TCP 3-Way Handshake vs. Stealth Scan

Para entender cómo Nmap identifica si un puerto está abierto, cerrado o filtrado, es vital comprender cómo se comunica el protocolo TCP.

TCP Three-Way Handshake (Escaneo de Conexión Completa -sT)

Cuando un cliente legítimo se conecta a un servidor, se realiza un saludo de tres vías:

  1. Cliente → Servidor: Envía paquete SYN (Sincronización).
  2. Servidor → Cliente: Si el puerto está abierto, responde con SYN-ACK (Sincronización y Acuse de recibo).
  3. Cliente → Servidor: Responde con ACK y se establece la conexión.
[Cliente]  --- SYN --->  [Servidor]
[Cliente]  <-- SYN-ACK -  [Servidor] (Puerto Abierto)
[Cliente]  --- ACK --->  [Servidor] (Conexión Establecida)

Nmap realiza este proceso completo cuando usamos la bandera -sT. Es preciso pero muy detectable ya que registra la conexión en los logs de la aplicación del objetivo.

TCP SYN Stealth Scan (-sS o Escaneo Sigiloso)

Es el método por defecto de Nmap (requiere privilegios de root/administrador). Rompe el saludo antes de que se establezca la conexión:

  1. Cliente → Servidor: Envía paquete SYN.
  2. Servidor → Cliente: Responde con SYN-ACK (puerto abierto).
  3. Cliente → Servidor: Envía un paquete RST (Reset) inmediatamente para abortar la conexión.
[Cliente]  --- SYN --->  [Servidor]
[Cliente]  <-- SYN-ACK -  [Servidor] (Puerto Abierto)
[Cliente]  --- RST --->  [Servidor] (Conexión Abortada - No queda log)

Al no completarse el handshake, la mayoría de los servidores de aplicaciones no registran la conexión, haciéndolo ideal para fases de reconocimiento pasivo/activo en pentesting.


2. Sintaxis y Configuración de Objetivos

La estructura básica de un comando de Nmap es la siguiente:

nmap [Opciones] [Dirección IP o Rango]

Ejemplos Prácticos de Targets:

  • Host Único: nmap 192.168.1.10
  • Múltiples Hosts: nmap 192.168.1.10 192.168.1.15
  • Rango de IPs: nmap 192.168.1.10-50
  • Subred Completa (CIDR): nmap 192.168.1.0/24
  • Excluir Hosts Específicos: nmap 192.168.1.0/24 --exclude 192.168.1.1
  • Lista desde Archivo: nmap -iL objetivos.txt

3. Tipos de Escaneo de Puertos y sus Estados

Nmap clasifica los puertos en seis estados principales:

  • open (abierto): Una aplicación acepta conexiones en este puerto.
  • closed (cerrado): El puerto responde con un paquete RST, indicando que no hay servicio escuchando.
  • filtered (filtrado): Un cortafuegos, filtro o regla de red bloquea las sondas de Nmap, impidiendo determinar si está abierto o cerrado.
  • unfiltered (no filtrado): El puerto es accesible, pero Nmap no puede determinar si está abierto o cerrado (común en escaneos ACK -sA).
  • open|filtered: Nmap no puede distinguir si el puerto está abierto o protegido por un filtro (común en UDP).
  • closed|filtered: Nmap no puede distinguir si el puerto está cerrado o protegido por un filtro.

Comandos Clave por Tipo de Escaneo:

# Escaneo SYN Stealth (Rápido y sigiloso - Requiere sudo)
sudo nmap -sS 192.168.1.10

# Escaneo TCP Connect (Sin privilegios de root)
nmap -sT 192.168.1.10

# Escaneo UDP (Lento pero necesario para DNS, DHCP, SNMP)
sudo nmap -sU 192.168.1.10

# Escaneo Null, Fin y Xmas (Útiles para evadir firewalls antiguos sin estado)
sudo nmap -sN 192.168.1.10  # Null scan
sudo nmap -sF 192.168.1.10  # Fin scan
sudo nmap -sX 192.168.1.10  # Xmas scan

4. Detección Avanzada de Servicios y Sistemas Operativos

Por defecto, Nmap asume qué servicio corre en un puerto basándose en su base de datos estática (por ejemplo, puerto 80 = HTTP). Sin embargo, un servidor web puede configurarse en el puerto 4444. Para descubrir la verdadera identidad del servicio, usamos técnicas de fingerprinting activo:

# Detección de Versiones (-sV)
nmap -sV 192.168.1.10

# Detección del Sistema Operativo (-O)
sudo nmap -O 192.168.1.10

# Escaneo Agresivo Completo (-A)
# Equivalente a activar detección de SO (-O), versiones (-sV), scripts por defecto (-sC) y traceroute.
sudo nmap -A 192.168.1.10

Tabla de Equivalencia de Banderas de Reconocimiento:

Flag Función Impacto en Ruido
-F Escanea sólo los 100 puertos más comunes. Muy bajo
-p- Escanea los 65535 puertos TCP. Alto
-sV Interroga los puertos abiertos para identificar el banner y versión del software. Medio
-O Envía paquetes TCP/UDP y analiza las respuestas para adivinar el SO. Alto
-Pn No realiza ping previo. Asume que el host está activo (evita bloqueos ICMP). Bajo

5. El Nmap Scripting Engine (NSE)

El Nmap Scripting Engine (NSE) convierte a Nmap en un potente escáner de vulnerabilidades. Los scripts están escritos en el lenguaje de programación Lua y se agrupan en categorías según su función:

  • safe: Scripts que no causarán daños o caídas de servicios.
  • intrusive: Scripts con riesgo alto de alterar sistemas o causar denegaciones de servicio.
  • vuln: Diseñados para detectar vulnerabilidades específicas en el sistema objetivo.
  • exploit: Intenta explotar vulnerabilidades conocidas de forma directa.
  • brute: Ejecuta ataques de diccionario contra servicios de autenticación (SSH, FTP, etc.).

Ejemplos de uso del NSE:

# Ejecutar todos los scripts de la categoría "safe"
nmap --script safe 192.168.1.10

# Escanear vulnerabilidades conocidas del sistema
nmap -sV --script vuln 192.168.1.10

# Comprobación específica de vulnerabilidad SMB (EternalBlue)
nmap -p 445 --script smb-vuln-ms17-010 192.168.1.10

# Fuerza bruta en SSH para probar credenciales débiles
nmap -p 22 --script ssh-brute --script-args userdb=usuarios.txt,passdb=claves.txt 192.168.1.10

6. Técnicas de Evasión de Firewalls e IDS

En entornos corporativos reales, los sistemas de prevención de intrusos (IPS/IDS) y firewalls bloquearán o alertarán sobre escaneos estándar de Nmap. Podemos mitigar esto con técnicas de fragmentación, alteración de cabeceras y control de tiempos:

# Evasión por Fragmentación (-f)
# Divide las cabeceras TCP en paquetes más pequeños para dificultar la inspección del firewall.
nmap -f 192.168.1.10

# Escaneo con Señuelos (-D)
# Envía paquetes mezclados con IPs falsas (decoys). El objetivo verá múltiples atacantes y no sabrá la IP real.
nmap -D RND:10 192.168.1.10

# Cambiar el Puerto de Origen (--source-port)
# Fuerza a Nmap a usar puertos comunes (ej. DNS=53, HTTP=80) para saltarse reglas mal configuradas.
nmap --source-port 53 192.168.1.10

# Modificar el MTU (--mtu)
# Permite fijar un tamaño máximo de paquete personalizado.
nmap --mtu 24 192.168.1.10

Control de Temporización (-T0 a -T5)

Afecta a la agresividad y velocidad del escaneo:

  • -T0 (Paranoid) y -T1 (Sneaky): Muy lentos, diseñados para evadir sistemas IDS. Los escaneos pueden durar horas.
  • -T3 (Normal): Velocidad por defecto de Nmap.
  • -T4 (Aggressive): Ideal para redes modernas, rápidas y estables. Es la opción preferida en laboratorios.

7. Automatización y Exportación de Resultados

Guardar el resultado de tu escaneo es crucial para auditorías y la posterior fase de explotación con Metasploit u otras herramientas:

# Guardar en formato legible tradicional (.nmap)
nmap -oN reporte.txt 192.168.1.10

# Guardar en XML (.xml - Ideal para cargar en bases de datos o Metasploit)
nmap -oX reporte.xml 192.168.1.10

# Guardar en formato Grepeable (.gnmap - Fácil de filtrar con grep, awk y cut)
nmap -oG reporte.gnmap 192.168.1.10

# Exportar en todos los formatos a la vez (-oA)
# Creará reporte.nmap, reporte.xml y reporte.gnmap de forma simultánea.
nmap -oA reporte 192.168.1.10

Conclusión

Nmap no es solo un comando para buscar puertos abiertos, es un ecosistema completo para mapear redes y descubrir vulnerabilidades de manera activa. La clave para dominarlo es practicar en laboratorios virtuales, entender los protocolos de red subyacentes y aprender a combinar escaneos rápidos con scripts NSE precisos.

No olvides repasar nuestra sección interactiva de Cheat Sheets si estás realizando auditorías y necesitas copiar comandos listos para usar en tu terminal.

Artículos Relacionados

🔧 Herramienta relacionada: Aprende a usar [Nmap] paso a paso en nuestra guía completa de herramientas.

Hardware Recomendado

Alfa Network AWUS036ACM USB Wi-Fi Adapter

El adaptador Wi-Fi USB preferido por los profesionales de ciberseguridad. Compatible de forma nativa con Kali Linux, soporta inyección de paquetes y modo monitor.

Libro Recomendado

Nmap Network Scanning: The Official Nmap Project Guide

La guía oficial del proyecto Nmap, escrita por su creador Gordon Lyon. Cubre desde el descubrimiento de redes hasta técnicas avanzadas de escaneo y seguridad.

Preguntas Frecuentes

Aviso legal: Este contenido es estrictamente educativo. CyberFlows no apoya actividades ilegales. Úsalo solo en entornos autorizados.

[Espacio publicitario — AdSense]

Newsletter de Ciberseguridad

Resumen semanal con los mejores artículos, CVEs críticos y tendencias del mercado. Sin spam.

🔒 Tu email no se compartirá. Puedes darte de baja en cualquier momento.