¿Qué es Nmap?
Nmap (Network Mapper) es la herramienta de reconocimiento más usada en el mundo del pentesting. Permite descubrir hosts activos, puertos abiertos, servicios en ejecución y hasta el sistema operativo de los objetivos.
⚠️ Disclaimer: Usa Nmap solo en redes y sistemas para los que tienes autorización explícita. El escaneo no autorizado es ilegal.
Instalación
# Debian/Ubuntu/Kalisudo apt install nmap -y
# Verificar versiónnmap --versionTipos de escaneo esenciales
1. Escaneo básico de puertos
# Escanear los 1000 puertos más comunesnmap 192.168.1.1
# Escanear host específico con resolución DNSnmap scanme.nmap.org2. Escaneo SYN (Half-Open) — El más usado
# Requiere privilegios rootsudo nmap -sS 192.168.1.1
# Con detección de versiónsudo nmap -sS -sV 192.168.1.1El escaneo SYN envía un paquete SYN y espera SYN-ACK sin completar el handshake TCP. Es más rápido y menos detectable que un escaneo completo.
3. Escaneo de todos los puertos
# Escanear los 65535 puertossudo nmap -p- 192.168.1.1
# Con velocidad agresivasudo nmap -p- --min-rate 5000 192.168.1.14. Detección de SO y versiones
# Detección de sistema operativosudo nmap -O 192.168.1.1
# Escaneo agresivo (OS + versión + scripts + traceroute)sudo nmap -A 192.168.1.1Scripts NSE (Nmap Scripting Engine)
Los scripts NSE son una de las características más poderosas de Nmap.
# Escaneo con scripts por defectonmap -sC 192.168.1.1
# Listar todos los scripts disponiblesls /usr/share/nmap/scripts/
# Usar un script específiconmap --script=http-title 192.168.1.1
# Scripts de vulnerabilidadesnmap --script=vuln 192.168.1.1
# Script para SMB (muy útil en redes Windows)nmap --script=smb-vuln-ms17-010 192.168.1.1Mi workflow de reconocimiento
Este es el flujo que uso en pentests y CTFs:
# 1. Descubrimiento rápido de hosts activossudo nmap -sn 192.168.1.0/24
# 2. Escaneo rápido de puertos (top 1000)sudo nmap -sS -T4 --open 192.168.1.1
# 3. Escaneo completo de puertossudo nmap -p- --min-rate 5000 -T4 192.168.1.1 -oN ports.txt
# 4. Escaneo profundo de puertos descubiertosPORTS=$(cat ports.txt | grep "^[0-9]" | cut -d'/' -f1 | tr '\n' ',')sudo nmap -sC -sV -p$PORTS 192.168.1.1 -oN services.txtEvasión de Firewalls / IDS
# Fragmentación de paquetessudo nmap -f 192.168.1.1
# Usando decoys (señuelos)sudo nmap -D RND:10 192.168.1.1
# Escaneo lento para evadir IDSsudo nmap -T1 192.168.1.1
# Spoof de dirección MACsudo nmap --spoof-mac 0 192.168.1.1
# Scan desde IP de origen específicasudo nmap -S 192.168.1.100 -e eth0 192.168.1.1Guardar resultados
# Formato normalnmap -oN resultado.txt 192.168.1.1
# Formato XML (para importar en otras tools)nmap -oX resultado.xml 192.168.1.1
# Formato grepablenmap -oG resultado.gnmap 192.168.1.1
# Todos los formatos a la veznmap -oA resultado 192.168.1.1Referencia rápida
| Flag | Descripción |
|---|---|
-sS | Escaneo SYN (stealth) |
-sU | Escaneo UDP |
-p- | Todos los puertos |
-sV | Detección de versiones |
-sC | Scripts por defecto |
-O | Detección de SO |
-A | Modo agresivo |
-T4 | Velocidad rápida |
--open | Solo puertos abiertos |
-oN | Output en texto |
En próximos posts veremos cómo combinar Nmap con otras herramientas como Gobuster, Nikto y Burp Suite para un reconocimiento web completo.
Happy hacking 🔐