Nmap: Comandos y Ejemplos para Dominar Redes

1. Introducción

Hoy desglosaremos Nmap con todos sus comandos esenciales y ejemplos prácticos. Aprenderás desde escaneos básicos hasta técnicas avanzadas de evasión. ¡Manos a la obra! 💻🔦


2. Descubrimiento de Hosts Activos

2.1 Escaneo de Rango de Red

Identifica todos los dispositivos en una subred sin escanear puertos:

sudo nmap -sn 10.129.2.0/24  
  • -sn: Desactiva el escaneo de puertos (solo descubre hosts).
  • Ejemplo de salida:
Nmap scan report for 10.129.2.18  
Host is up (0.087s latency).  
MAC Address: DE:AD:00:00:BE:EF (Intel Corporate)  

2.2 Escaneo desde una Lista de IPs

Usa un archivo hosts.lst con direcciones IP:

sudo nmap -sn -iL hosts.lst  

2.3 Escaneo de IPs Específicas

Para rangos pequeños:

sudo nmap -sn 10.129.2.18 10.129.2.19 10.129.2.20  

O con sintaxis abreviada:

sudo nmap -sn 10.129.2.18-20  

3. Escaneo de Puertos TCP

3.1 Escaneo SYN (Stealth Scan)

El más rápido y sigiloso (requiere root):

sudo nmap -sS 10.129.2.28  
  • Resultado típico:
PORT   STATE SERVICE  
22/tcp open  ssh  
80/tcp open  http  

3.2 Escaneo de los 10 Puertos Más Comunes

Ahorra tiempo enfocándote en puertos críticos:

sudo nmap --top-ports 10 10.129.2.28  

3.3 Escaneo de Conexión Completa (-sT)

Ideal si no tienes permisos de root:

nmap -sT 10.129.2.28  

3.4 Escaneo de un Puerto Específico

Verifica solo el puerto 443 (HTTPS):

sudo nmap -p 443 --packet-trace 10.129.2.28  
  • –packet-trace: Muestra paquetes enviados/recibidos.

4. Escaneo de Puertos UDP

4.1 Escaneo UDP Básico

Los puertos UDP suelen estar desprotegidos:

sudo nmap -sU -F 10.129.2.28  # "-F": 100 puertos principales.  
  • Ejemplo de salida:
53/udp open domain
161/udp open snmp

4.2 Detección de Versiones en UDP

Combina con -sV para detalles:

sudo nmap -sU -sV -p 137 10.129.2.28  

5. Enumeración de Servicios y Versiones

5.1 Detección de Versiones (-sV)

Descubre qué software corre en los puertos:

sudo nmap -sV 10.129.2.28  
  • Salida:
80/tcp open http Apache httpd 2.4.29 ((Ubuntu))
22/tcp open ssh OpenSSH 7.6p1 Ubuntu 4ubuntu0.3

5.2 Scripts Básicos (-sC)

Ejecuta scripts predeterminados para obtener más datos:

sudo nmap -sC 10.129.2.28  

6. Uso de Scripts de Nmap (NSE)

6.1 Detección de Vulnerabilidades

Busca vulnerabilidades conocidas:

sudo nmap --script vuln 10.129.2.28  

6.2 Fuerza Bruta en SSH

Prueba credenciales con un script de fuerza bruta:

sudo nmap --script ssh-brute --script-args userdb=usuarios.txt,passdb=contraseñas.txt 10.129.2.28  

6.3 Extraer Metadatos de Servicios

Por ejemplo, en SMTP:

sudo nmap -p 25 --script banner,smtp-commands 10.129.2.28  
  • Resultado:
|_banner: 220 inlane ESMTP Postfix (Ubuntu)
|_smtp-commands: PIPELINING, STARTTLS, ENHANCEDSTATUSCODES

7. Optimización del Escaneo

7.1 Ajuste de Velocidad (-T)

Usa plantillas de tiempo para acelerar:

sudo nmap -T4 10.129.2.0/24  # -T4: Agresivo (más rápido).  

7.2 Control de Paquetes

Limita reintentos y define tasa de envío:

sudo nmap --max-retries 2 --min-rate 500 10.129.2.0/24  

8. Evasión de Firewalls e IDS/IPS

8.1 Señuelos (-D)

Envía tráfico desde IPs falsas para confundir:

sudo nmap -D RND:5,ME 10.129.2.28  # 5 IPs aleatorias + la tuya (ME).  

8.2 Escaneo desde Puerto DNS (53)

Finge ser tráfico legítimo de DNS, esto ayuda a evadir una DMZ por ejemplo:

sudo nmap --source-port 53 -sS 10.129.2.28  

8.3 Fragmentación de Paquetes

Divide los paquetes para evitar detección:

sudo nmap -f 10.129.2.28  

8.4 Escaneo ACK (-sA)

Útil para mapear reglas de firewall:

sudo nmap -sA 10.129.2.28  
  • Resultado:
22/tcp unfiltered ssh # Puerto accesible.
80/tcp filtered http # Bloqueado por firewall.

9. Guardado de Resultados

9.1 Formatos de Salida

Guarda en múltiples formatos para análisis posterior:

sudo nmap -sS -oA scan_resultado 10.129.2.28  # Crea .nmap, .xml, .gnmap.  

9.2 Exportar a HTML

Convierte XML a HTML con xsltproc:

xsltproc scan_resultado.xml -o scan_resultado.html  

10. Consejos de Seguridad

  • Permisos: Siempre escanea redes propias o con autorización.
  • Actualización: Usa la última versión de Nmap para mejores resultados.
  • Pruebas: Combina comandos (Ej: nmap -sS -sV -O -T4) para escaneos rápidos y detallados.

11. Ejemplo Final: Escaneo Completo

Un comando que lo reúne todo:

sudo nmap -sS -sV -sC -O -T4 -p- -A --script vuln -oA full_scan 10.129.2.28  
  • -sS: Escaneo SYN.
  • -sV: Detección de versiones.
  • -A: Modo agresivo (incluye detección de OS y traceroute).
  • -p-: Todos los puertos (1-65535).

12. Todos los comandos Importantes

12.1 Opciones de Escaneo

Opción de NmapDescripción
10.10.10.0/24Rango de red objetivo.
-snDesactiva el escaneo de puertos (solo descubre hosts).
-PnDesactiva las solicitudes ICMP Echo (ping scan).
-nDesactiva la resolución DNS.
-PERealiza un ping scan usando solicitudes ICMP Echo.
--packet-traceMuestra todos los paquetes enviados y recibidos.
--reasonMuestra la razón detrás de un resultado específico (ej: «syn-ack»).
--disable-arp-pingDesactiva las solicitudes ARP.
--top-ports=<num>Escanea los puertos más frecuentes (ej: --top-ports=100 para los 100 principales).
-p-Escanea todos los puertos (1-65535).
-p22-110Escanea puertos del 22 al 110.
-p22,25Escanea solo los puertos 22 y 25.
-FEscanea los 100 puertos más comunes.

12.2 Tipos de Escaneo

Opción de NmapDescripción
-sSEscaneo TCP SYN (sigiloso, requiere permisos de root).
-sAEscaneo TCP ACK (útil para detectar reglas de firewall).
-sUEscaneo UDP.
-sVDetecta versiones de servicios.
-sCEjecuta scripts predeterminados de Nmap (categoría default).
-ODetección del sistema operativo del objetivo.
-AEscaneo agresivo (incluye detección de OS, servicios y traceroute).

12.3 Opciones de Salida

Opción de NmapDescripción
-oA filenameGuarda resultados en todos los formatos (.nmap, .gnmap, .xml).
-oN filenameGuarda en formato normal (.nmap).
-oG filenameGuarda en formato grepable (.gnmap).
-oX filenameGuarda en formato XML (.xml).

12.4 Optimización de Rendimiento

Opción de NmapDescripción
--max-retries <num>Define el número de reintentos para puertos específicos (ej: --max-retries 2).
--stats-every=5sMuestra el estado del escaneo cada 5 segundos.
-v / -vvModo verboso (detalles extendidos durante el escaneo).
--initial-rtt-timeout 50msDefine el tiempo inicial de espera RTT.
--max-rtt-timeout 100msDefine el tiempo máximo de espera RTT.
--min-rate 300Envía al menos 300 paquetes por segundo.
-T <0-5>Plantilla de tiempo (ej: -T4 para modo agresivo).

12.5 Técnicas de Evasión

Opción de NmapDescripción
-D RND:5Usa 5 señuelos aleatorios para ocultar tu IP.
--source-port 53Escanea desde el puerto 53 (finge tráfico DNS).
-fFragmenta paquetes para evitar detección.

¡Y listo! Con estos comandos, dominarás Nmap como un profesional. Si tienes dudas o quieres compartir tus propios tips, ¡escríbelo en los comentarios! 🚀

Comparte esta Publicación en Redes Sociales