Escaneo de redes con Nmap: una introducción práctica
Nmap es la herramienta estándar del sector para el reconocimiento de redes. Aprende a usarla para mapear tu propia red y comprender lo que ven los atacantes.
Tabla de contenidos
- ¿Qué es Nmap y por qué importa?
- Descubrimiento de hosts
- Técnicas de escaneo de puertos
- Escaneo TCP SYN (escaneo sigiloso)
- Escaneo TCP Connect
- Escaneo UDP
- Detección de servicios y versiones
- Detección del sistema operativo
- Motor de scripts de Nmap (NSE)
- Formatos de salida
- Evadir la detección
- Establecer una línea base para tu red
¿Qué es Nmap y por qué importa?
Nmap (Network Mapper) es una herramienta gratuita y de código abierto que ha sido la piedra angular del reconocimiento de redes desde 1997. Envía paquetes especialmente diseñados a los hosts objetivo y analiza las respuestas para determinar qué hosts están en línea, qué puertos están abiertos, qué servicios se están ejecutando y, a menudo, qué sistema operativo se está utilizando. Los profesionales de la seguridad la emplean para evaluaciones de vulnerabilidades, pruebas de penetración e inventario de redes. Los atacantes la usan para encontrar puntos de entrada antes de lanzar un ataque. Comprender lo que Nmap revela sobre tus sistemas es el primer paso para defenderlos.
Obtén siempre autorización por escrito antes de escanear cualquier red que no sea tuya. El escaneo no autorizado es ilegal en la mayoría de las jurisdicciones.
Descubrimiento de hosts
Antes de escanear puertos, necesitas saber qué hosts están activos. El comportamiento predeterminado de Nmap hace ping a los hosts antes de sondearlos:
# Barrido de ping — descubre hosts activos en una subred
nmap -sn 192.168.1.0/24
El flag -sn (sin escaneo de puertos) envía solicitudes ICMP echo, TCP SYN al puerto 443, TCP ACK al puerto 80 y solicitudes de marca de tiempo ICMP. En una red local esto suele ser suficiente. Frente a hosts reforzados o firewalls que bloquean ICMP, es posible que debas omitir el descubrimiento de hosts por completo:
# Tratar todos los hosts como en línea — útil cuando ICMP está bloqueado
nmap -Pn 10.0.0.5
Técnicas de escaneo de puertos
Nmap admite muchos tipos de escaneo. Los más importantes son:
Escaneo TCP SYN (escaneo sigiloso)
nmap -sS 192.168.1.10
Este es el escaneo predeterminado cuando se ejecuta como root. Envía un paquete SYN; si el puerto está abierto, el objetivo responde con SYN/ACK, y Nmap envía inmediatamente RST en lugar de completar el handshake. Como no se establece ninguna conexión completa, muchos sistemas IDS más antiguos y registros de aplicaciones no lo registran, de ahí el nombre de "escaneo sigiloso". Es rápido y preciso.
Escaneo TCP Connect
nmap -sT 192.168.1.10
Se usa cuando no dispones de privilegios de socket raw. Nmap completa el handshake TCP completo. Es más ruidoso y lento, pero funciona sin root. Los registros de aplicaciones registrarán estas conexiones.
Escaneo UDP
nmap -sU 192.168.1.10
El escaneo UDP es lento porque los puertos UDP cerrados normalmente devuelven mensajes ICMP de puerto inalcanzable, mientras que los puertos abiertos a menudo no devuelven nada en absoluto. La limitación de tasa por parte del sistema operativo hace que este escaneo tarde minutos por host. Escanea solo puertos UDP específicos cuando sea posible:
nmap -sU -p 53,161,500 192.168.1.10
Detección de servicios y versiones
Saber que un puerto está abierto es útil; saber qué se está ejecutando en él es esencial:
nmap -sV 192.168.1.10
Nmap envía una serie de sondas y compara las respuestas con una base de datos de más de 11 000 firmas de servicios. Obtendrás una salida como 80/tcp open http Apache httpd 2.4.51. El flag --version-intensity (0–9) controla la agresividad con la que Nmap sondea: valores más altos detectan servicios más oscuros, pero tardan más.
Detección del sistema operativo
nmap -O 192.168.1.10
Nmap analiza el comportamiento de la pila TCP/IP (valores TTL, tamaños de ventana, flags IP, etc.) para identificar el sistema operativo. Combínalo con -sV para obtener una imagen completa:
nmap -A 192.168.1.10
El flag -A habilita la detección del sistema operativo, la detección de versiones, el escaneo de scripts y el traceroute de una sola vez.
Motor de scripts de Nmap (NSE)
La función más potente de Nmap es su motor de scripts, que permite la interacción automatizada con los servicios mediante scripts en Lua:
# Ejecutar scripts seguros predeterminados
nmap -sC 192.168.1.10
# Comprobar vulnerabilidades específicas
nmap --script vuln 192.168.1.10
# Enumerar encabezados HTTP
nmap --script http-headers 192.168.1.10
Los scripts se clasifican como safe, intrusive, exploit, brute y más. Ten cuidado con las categorías intrusive y exploit: pueden interrumpir servicios o activar alertas.
Formatos de salida
Para trabajos profesionales, guarda los resultados en formatos legibles por máquina:
# Salida normal
nmap -oN scan.txt 192.168.1.0/24
# Salida XML (importable en Metasploit, escáneres de vulnerabilidades)
nmap -oX scan.xml 192.168.1.0/24
# Todos los formatos a la vez
nmap -oA scan_results 192.168.1.0/24
Herramientas como Zenmap ofrecen una interfaz gráfica para visualizar los resultados, y Metasploit puede importar directamente el XML de Nmap para poblar su base de datos de hosts.
Evadir la detección
Los atacantes usan diversas técnicas para evitar activar alertas de IDS/IPS:
- Escaneo lento:
-T0o-T1reduce drásticamente la tasa de paquetes - Señuelos:
-D RND:10envía paquetes desde 10 IP señuelo aleatorias junto con el origen real - Fragmentación:
-fdivide los paquetes en fragmentos de 8 bytes - Suplantación del puerto de origen:
--source-port 53imita el tráfico DNS
Comprender estas técnicas te ayuda a ajustar tus sistemas de detección para identificarlas.
Establecer una línea base para tu red
Ejecuta Nmap con regularidad contra tu propia infraestructura y compara los resultados. Puertos abiertos inesperados, nuevos servicios o hosts desconocidos son señales de alerta. Un flujo de trabajo sencillo:
- Realiza un escaneo autorizado de todos los puertos:
nmap -p- -sV -oX baseline.xml 192.168.1.0/24 - Programa escaneos semanales y compara la salida XML con
ndiff - Investiga cualquier diferencia: un nuevo puerto abierto podría significar una mala configuración o un host comprometido
Nmap no es un escáner de vulnerabilidades, pero te dice qué está expuesto. Combínalo con herramientas como OpenVAS o Nessus para obtener una imagen completa de tu superficie de ataque.