Auditoria de seguridad: Pentesting con Nmap

Comparte

¿Qué es Nmap?

Nmap (Network Mapper) es una herramienta de código abierto utilizada para la exploración de redes y auditorías de seguridad. Creada por Gordon Lyon (alias Fyodor), se ha convertido en un estándar de facto en pentesting y administración de sistemas. Permite descubrir hosts, servicios, sistemas operativos, firewalls, y mucho más.

Nmap es conocido como «la navaja suiza» del escaneo de redes porque no solo identifica puertos abiertos, sino que también puede detectar vulnerabilidades, realizar scripts personalizados y hasta evadir mecanismos de detección.


¿Para qué sirve Nmap?

  • Descubrir dispositivos activos en una red (host discovery)
  • Detectar puertos abiertos y servicios asociados (port scanning)
  • Identificar sistemas operativos y versiones (OS & version detection)
  • Detectar firewalls, filtrados y rutas (firewall/IDS evasion)
  • Realizar escaneos de vulnerabilidades (Nmap Scripting Engine)
  • Automatizar auditorías de seguridad

Ventajas técnicas del uso de Nmap

Nmap es ampliamente preferido por profesionales de la ciberseguridad debido a su versatilidad, rendimiento y capacidad de adaptación en distintos escenarios de análisis y auditoría de redes.

Una de sus principales fortalezas es la capacidad de realizar un reconocimiento rápido y eficiente de redes, sin requerir configuraciones complejas ni comandos avanzados. Ofrece desde funcionalidades básicas —como la detección de hosts activos— hasta capacidades avanzadas mediante su motor de scripting (NSE), que permite la ejecución de scripts personalizados para tareas específicas de enumeración, explotación o análisis de vulnerabilidades.

Entre sus características más destacadas se encuentran:

  • Detección eficiente de activos: Nmap permite identificar rápidamente todos los dispositivos presentes en una red, incluyendo servidores, routers, switches y dispositivos móviles, tanto en entornos locales como en redes distribuidas.
  • Identificación de servicios y versiones: La herramienta es capaz de detectar qué servicios están activos en un sistema y, en muchos casos, estimar con alta precisión la versión del software, lo que facilita la correlación con vulnerabilidades conocidas.
  • Reconocimiento del sistema operativo: Nmap puede inferir detalles del sistema operativo de los dispositivos analizados, incluyendo familia, versión y tipo de kernel, lo cual es útil para planificar vectores de ataque en fases posteriores de una prueba de penetración.
  • Automatización mediante NSE: El Nmap Scripting Engine permite ejecutar scripts predefinidos o personalizados para realizar análisis de seguridad automatizados, lo que amplía considerablemente su funcionalidad más allá del escaneo tradicional de puertos.
  • Interfaz gráfica Zenmap: Para quienes requieren una visualización clara del mapa de red o generación de reportes visuales, Nmap ofrece Zenmap, una GUI intuitiva que facilita el uso de la herramienta en entornos menos técnicos o en fases de documentación.

Instalación

Linux / macOS

sudo apt install nmap  # Debian/Ubuntu
brew install nmap      # macOS con Homebrew

Windows

Descarga oficial desde: https://nmap.org/download.html

También incluye Zenmap (interfaz gráfica), ideal para quienes prefieren un entorno visual.


Disclaimer sobre el uso de Nmap

⚠️ Uso responsable: Este artículo tiene fines exclusivamente educativos. El uso de Nmap para escanear redes o sistemas sin la autorización explícita de su propietario puede ser considerado ilegal y sancionado por la ley. Antes de realizar cualquier tipo de análisis, asegúrate de tener los permisos necesarios. Las técnicas descritas aquí están destinadas a pruebas de seguridad controladas, prácticas de laboratorio o auditorías profesionales con consentimiento.


Descubrimiento de hosts (Host Discovery)

Antes de escanear puertos, Nmap puede identificar qué dispositivos están activos en una red.

Ejemplo:

nmap -sn 192.168.1.0/24

Esto enviará pings ICMP y paquetes ARP para descubrir los hosts vivos sin escanear puertos.

Ejemplo práctico y salida:

Con este escaneo podemos apreciar que existen 4 hosts en red, con sus respectivas MAC address y alguna información extra, además de las IP encontradas.

Comandos esenciales de escaneo de puertos

  • Escaneo básico:
nmap 192.168.1.1
  • Escaneo de múltiples IPs:
nmap 192.168.1.1 192.168.1.2 192.168.1.3
  • Escaneo de rangos:
nmap 192.168.1.1-50
  • Escaneo completo de puertos (no solo los 1,000 por defecto):
nmap -p- 192.168.1.1
  • Escaneo rápido (puertos más comunes):
nmap -F 192.168.1.1

Técnicas de escaneo de puertos

¿Por qué hay tantos métodos?

Los firewalls, IDS/IPS y configuraciones de red hacen que ciertos escaneos sean bloqueados. Nmap ofrece múltiples métodos para lograr los objetivos dependiendo del contexto.

A continuación, una comparación entre los métodos más utilizados:

MétodoPrivilegios requeridosDiscreciónVelocidadFiabilidadUso común
-sT (TCP Connect)No (usuario normal)BajaMediaAltaBásico o sistemas sin root
-sS (SYN Stealth)Sí (root)AltaAltaAltaPentesting y escaneos reales
-sU (UDP)Sí (root)MediaBajaMedia/BajaCuando se requiere detectar DNS, SNMP, etc.
-sX / -sN / -sFSí (root)AltaBajaBajaEvadir firewalls o probar IDS
-sASí (root)AltaMediaN/A (no detecta puertos abiertos)Análisis de filtrado

Cada método tiene un caso de uso ideal, y en redes sensibles es recomendable combinarlos.


Detección de servicios y sistemas operativos

Detección de versión de servicios (-sV)

Este escaneo permite identificar los servicios que están activos en los puertos abiertos, así como las versiones asociadas (cuando es posible). Nmap logra esto enviando solicitudes específicas a los servicios detectados y comparando las respuestas con una base de datos de firmas.

  • Ventajas: Ayuda a identificar software vulnerable por versión específica.
  • Limitaciones: Algunos servicios pueden estar configurados para no entregar información de versión o devolver respuestas ambiguas.
  • Recomendado para: Auditorías de seguridad donde se necesita identificar versiones de Apache, MySQL, SSH, etc.
nmap -sV 192.168.1.1

Detección de sistema operativo (-O)

La detección de sistema operativo se basa en el análisis de las respuestas TCP/IP de los dispositivos a una serie de pruebas diseñadas por Nmap. Evalúa elementos como el TTL, tamaño de la ventana, flags TCP, y más, para hacer una estimación del sistema operativo (SO) y su versión.

  • Ventajas: Permite planificar mejor las pruebas de penetración y elegir exploits apropiados.
  • Limitaciones: Algunos firewalls o proxies pueden alterar las respuestas y generar falsos positivos. Requiere privilegios root.
  • Recomendado para: Reconocimiento en pruebas de caja negra, identificación remota de sistemas en red.
nmap -O 192.168.1.1

Escaneo agresivo (-A)

El modo agresivo combina varias técnicas en una sola ejecución: detección de sistema operativo (-O), detección de versión (-sV), escaneo de scripts por defecto (--script=default), y tracerout.

  • Ventajas: Proporciona una visión detallada de los dispositivos, ideal para análisis rápidos y completos.
  • Limitaciones: Es ruidoso (fácilmente detectable), puede activar alarmas en IDS/IPS, y no es recomendable en redes críticas sin autorización.
  • Recomendado para: Pruebas de pentesting internas o redes de laboratorio donde se necesita mucha información en poco tiempo.
nmap -A 192.168.1.1

Uso de Nmap Scripting Engine (NSE)

NSE es una de las características más poderosas de Nmap. Incluye scripts en Lua que automatizan tareas comunes y permiten análisis avanzados.

Categorías de scripts:

  • auth: autenticación, brute-force
  • vuln: búsqueda de vulnerabilidades
  • exploit: explotación directa
  • discovery: recolección de información
  • malware: detección de bots, backdoors

Ejemplo de uso:

nmap --script vuln 192.168.1.1

Combinado con escaneo agresivo:

nmap -A --script default,vuln 192.168.1.1

Técnicas de evasión

Nmap permite evadir sistemas de detección o firewalls utilizando:

  • Cambios en el tiempo:
nmap -T2 192.168.1.1  # Más lento y menos detectable
  • Fragmentación de paquetes:
nmap -f 192.168.1.1
  • Spoofing de MAC:
nmap --spoof-mac 0 192.168.1.1
  • IP decoy (para esconder IP real):
nmap -D 192.168.1.100,192.168.1.200,ME 192.168.1.1

Generación de reportes y formatos útiles

  • Texto legible:
nmap -oN reporte.txt 192.168.1.1
  • XML (compatible con otras herramientas):
nmap -oX reporte.xml 192.168.1.1
  • JSON (a partir de v7.94):
nmap -oJ salida.json 192.168.1.1
  • Interactivo en HTML (requiere xsltproc):
xsltproc reporte.xml -o reporte.html

Buenas prácticas de uso

  • Siempre contar con permiso legal para escanear
  • Documentar resultados y correlacionarlos con otras fuentes
  • Realizar escaneos fuera de horario laboral para minimizar impacto
  • Usar técnicas de evasión solo con fines educativos o controlados
  • Complementar Nmap con herramientas como Wireshark, Masscan, Nikto, etc.

Disclaimer sobre el uso de Nmap

⚠️ Uso responsable: Este artículo tiene fines exclusivamente educativos. El uso de Nmap para escanear redes o sistemas sin la autorización explícita de su propietario puede ser considerado ilegal y sancionado por la ley. Antes de realizar cualquier tipo de análisis, asegúrate de tener los permisos necesarios. Las técnicas descritas aquí están destinadas a pruebas de seguridad controladas, prácticas de laboratorio o auditorías profesionales con consentimiento.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Volver arriba