Nmap - Escaneo de Red

Nmap - Escaneo de Red

1. Introduccion

Nmap (Network Mapper) es la herramienta esencial y mas utilizada para el escaneo de puertos y enumeracion de red en fases de reconocimiento. Es compatible con multiples tecnicas de escaneo que permiten adaptar la exploracion al entorno y objetivos especificos.

Esta guia cubre las tecnicas de escaneo mas relevantes, parametros de uso comun y ejemplos practicos para diferentes escenarios de pentesting.


2. Sintaxis Basica

2.1. Forma General

nmap [OPCIONES] <-objetivo> <target>

2.2. Especificacion de Objetivos

# Host unico
nmap 192.168.1.1

# Rango CIDR
nmap 192.168.1.0/24

# Varios hosts (separados por comas)
nmap 192.168.1.1,2,5

# Lista desde archivo
nmap -iL hosts.txt

# Exclusion de hosts
nmap 192.168.1.0/24 --exclude 192.168.1.1

2.3. Rangos Numericos

# Rango de puertos
nmap -p 22-80 192.168.1.1

# Puertos especificos
nmap -p 22,80,443 192.168.1.1

# Todos los puertos
nmap -p- 192.168.1.1

# Primer y ultimo puerto
nmap -p 1-1000 192.168.1.1

3. Tecnicas de Escaneo

3.1. Escaneo SYN (-sS)

El escaneo SYN (-sS) enviar paquetes SYN sin completar el three-way handshake. Es rapido y sigiloso ya que no establece una conexion completa.

Requisito: Requiere privilegios de root.

nmap -sS 192.168.1.1
Parametro Descripcion
-sS Envio de paquetes SYN sin completar handshake

Ventajas:

  • Rapido (no espera respuesta completa)
  • Menor probabilidad de ser detectado por IDS/IPS simples
  • No deja conexiones abiertas en el objetivo

Desventajas:

  • Requiere root
  • Puede ser detectado por firewalls avanzados

3.2. Escaneo TCP Connect (-sT)

El escaneo TCP Connect (-sT) completa el three-way handshake mediante la llamada al sistema connect(). Es mas lento pero mas Compatible.

nmap -sT 192.168.1.1
Parametro Descripcion
-sT Completa el handshake TCP

Ventajas:

  • No requiere root
  • Compatible con todos los sistemas
  • Funciona mejor con firewalls que filtran paquetes SYN

Desventajas:

  • Mas lento que SYN
  • Mas facil de detectar y registrar

3.3. Escaneo UDP (-sU)

El escaneo UDP (-sU) es esencial para servicios como DNS (53), SNMP (161) y CoAP (5683). Es naturalmente mas lento porque UDP no tiene mecanismo de confirmacion.

nmap -sU -p 53,161,123 192.168.1.1
Parametro Descripcion
-sU Escaneo UDP
-p Puertos especificos

Caracteristicas:

  • Puerto abierto: Si no hay respuesta ICMP tipo 3 (unreachable), puede estar abierto
  • Puerto cerrado: Respuesta ICMP tipo 3 codigo 3 (port unreachable)
  • Muy lento sin parametros adicionales

Optimizacion:

# Con timeout reducido
nmap -sU --max-retries 2 --max-rtt-timeout 1000 192.168.1.1

# Solo top puertos UDP
nmap -sU --top-ports 100 192.168.1.1

3.4. Escaneo de Servicios (-sV)

El escaneo deVersion (-sV) detecta servicios y sus versiones enviando paquetes probes y analizando respuestas.

nmap -sV 192.168.1.1
Parametro Descripcion
-sV Detectar versiones de servicios
--version-intensity Intensidad del probe (1-9, defecto 7)
--version-light Equivalent a –version-intensity 2
--version-all Equivalent a –version-intensity 9

Intensidad:

# Version ligera (rapida)
nmap -sV --version-light 192.168.1.1

# Version completa (lenta)
nmap -sV --version-all 192.168.1.1

# Intensidad personalizada (1-9)
nmap -sV --version-intensity 5 192.168.1.1

Con deteccion de SO:

nmap -sV -O 192.168.1.1

4. Deteccion de Sistema Operativo

4.1. Deteccion de OS (-O)

nmap -O 192.168.1.1
Parametro Descripcion
-O Deteccion de SO
-O --osscan-guess Deteccion agresiva (adivina SO)
--osscan-limit Limitar deteccion a Objetivos probablemente validos

Deteccion agresiva:

# Adivina el SO aunque no tenga certeza
nmap -O --osscan-guess 192.168.1.1

5. Scripts NSE (Nmap Scripting Engine)

Los scripts NSE permiten automatizar tareas de enumeracion y deteccion de vulnerabilidades.

5.1. Ejecucion de Scripts

# Scripts por defecto (-sC)
nmap -sC 192.168.1.1

# Scripts especificos
nmap --script <script> 192.168.1.1

# Multiple scripts
nmap --script "http-*,smb-*" 192.168.1.1

# Por categoria
nmap --script vuln 192.168.1.1
nmap --script discovery 192.168.1.1
nmap --script brute 192.168.1.1

5.2. Categorias de Scripts

Categoria Descripcion
auth Scripts de autenticacion
broadcast Scripts de broadcasting
brute Scripts para fuerza bruta
default Scripts por defecto
discovery Servicios de enumeracion
dos Scripts de Denial of Service
exploit Scripts de explotacion
external Scripts externos
fuzzer Scripts de fuzzing
intrusive Scripts intrusivos
malware Deteccion de malware
safe Scripts seguros
version Deteccion de versiones
vuln Deteccion de vulnerabilidades

5.3. Scripts utiles

# Deteccion de vulnerabilidades
nmap --script vuln 192.168.1.1

# Enumeracion HTTP
nmap --script http-title 192.168.1.1
nmap --script http-headers 192.168.1.1
nmap --script http-enum 192.168.1.1

# Enumeracion SMB
nmap --script smb-enum-shares 192.168.1.1
nmap --script smb-enum-users 192.168.1.1

# Enumeracion SSH
nmap --script ssh-auth-methods 192.168.1.1

# SSL/TLS
nmap --script ssl-enum-ciphers -p 443 192.168.1.1

# DNS
nmap --script dns-nsec-enum --script-args dns-nsec-enum.domains=example.com 192.168.1.1

6. Optimizacion y Rendimiento

6.1. Parametros de Timing

-T <0-5>
Timing Nombre Descripcion
0 Paranoid Evita deteccion
1 Sneaky Lento pero sigiloso
2 Polite Normal, usa menos recursos
3 Normal Equilibrado
4 Aggressive Rapido
5 Insane Muy rapido, puede perder precision
# Escaneo sigiloso
nmap -sS -T2 192.168.1.1

# Escaneo rapido (top 100 puertos)
nmap -sS -T4 --top-ports 100 192.168.1.1

6.2. Parametros de Rendimiento

Parametro Descripcion Ejemplo
--max-retries Reintentos por puerto (defecto: 3) --max-retries 2
--max-rtt-timeout Timeout maximo RTT (defecto: 10000ms) --max-rtt-timeout 2000
--min-rate Paquetes minimos por segundo --min-rate 1000
--host-timeout Timeout por host --host-timeout 30m
--scan-delay Delay entre paquetes --scan-delay 1s
# Timeout reducido
nmap -sS --max-retries 2 --max-rtt-timeout 2000 192.168.1.1

# Rate limitado
nmap -sS --min-rate 100 192.168.1.1

7. Descubrimiento de Hosts

7.1. Opciones de Descubrimiento

Parametro Descripcion
-sn Solo ping (sin escaneo de puertos)
-Pn Sin ping (omitir descubrimiento de hosts)
-PS TCP SYN ping
-PA TCP ACK ping
-PU UDP ping
-PE ICMP echo request
-PR ARP ping (red local)
# Solo descubrimiento (no puertos)
nmap -sn 192.168.1.0/24

# Sin ping (saltar descubrimiento)
nmap -Pn 192.168.1.1

# ARP ping (red local)
nmap -PR 192.168.1.0/24

8. Puertos Comunes

Enumeracion de puertos frecuentes y sus servicios asociados.

Puerto Servicio Descripcion
21 FTP Transferencia de archivos
22 SSH Shell seguro
23 Telnet Shell remoto (sin cifrar)
25 SMTP Correo saliente
53 DNS Sistema de nombres
80 HTTP Servidor web
110 POP3 Correo entrante
143 IMAP Correo entrante
443 HTTPS Servidor web seguro
445 SMB Comparticion de archivos
3306 MySQL Base de datos MySQL
3389 RDP Escritorio remoto
5432 PostgreSQL Base de datos PostgreSQL
5900 VNC Escritorio remoto
6379 Redis Base de datos Redis
8080 HTTP-Alt Servidor web alternativo

9. Formatos de Salida

9.1. Opciones de Salida

Parametro Formato Descripcion
-oN Normal Salida estandar legible
-oX XML Formato XML
-oG Grepable Formato grepeable
-oS ScRipT Formato “sCrIpT KIdd3”
-oA All Todos los formatos
# Normal
nmap -oN scan.txt 192.168.1.1

# XML
nmap -oX scan.xml 192.168.1.1

# Grepable
nmap -oG scan.txt 192.168.1.1

# Todos los formatos
nmap -oA scan 192.168.1.1

10. Ejemplos Practicos

10.1. Escaneo Basico

nmap 192.168.1.1

10.2. Escaneo Completo

nmap -sS -sV -sC -O -p- -oA scan_completo 192.168.1.1

Descripcion:

  • -sS: Escaneo SYN
  • -sV: Deteccion de versiones
  • -sC: Scripts por defecto
  • -O: Deteccion de SO
  • -p-: Todos los puertos
  • -oA: Todos los formatos de salida

10.3. Escaneo Sigiloso

nmap -sS -T2 -p- -f -oN stealth.txt 192.168.1.1

Descripcion:

  • -sS: Escaneo SYN
  • -T2: Timing silencioso
  • -p-: Todos los puertos
  • -f: Fragmentacion de paquetes

10.4. Descubrimiento de Red Local

nmap -PR -sn 192.168.1.0/24 -oN redes.txt

Descripcion:

  • -PR: ARP ping
  • -sn: Solo descubrimiento
  • -oN: Salida normal

10.5. Escaneo UDP

nmap -sU --max-retries 2 -p 53,67,68,123,161,162,500 192.168.1.1

10.6. Escaneo con Scripts de Vulnerabilidad

nmap -sV --script vuln -p- 192.168.1.1

11. Cheat Sheet

Comandos Rapidos

# Basico
nmap <target>

# Completo
nmap -sS -sV -sC -O -p- <target>

# UDP
nmap -sU <target>

# Scripts especificos
nmap --script <script> <target>

# Escaneo sigiloso
nmap -sS -T2 -f <target>

# Red local
nmap -PR -sn <network>/<cidr>

12. Feedback y Recomendaciones

12.1. Lo Que Esta Bien

  • Estructura clara con secciones bien definidas
  • Incluye tecnicas principales (SYN, TCP, UDP)
  • Tiene guia de scripts NSE
  • Incluye ejemplos practicos

12.2. Lo Que Falta

  • Explicacion detallada de cada parametro
  • Ejemplos de escaneo para escenarios especificos (CTF, HTB, OSCP)
  • Seccion de evasion de firewalls/IDS
  • Tabla comparativa de tecnicas
  • Casos de uso para cada tipo de escaneo

12.3. Mejoras Recomendadas

  • Agregar tecnicas de fragmentacion (-f)
  • Agregar decoy scanning (-D)
  • Agregar source spoofing (-S)
  • Agregar configuracion de proxies
  • Incluir ejemplos de output esperado
  • Agregar guia de interpretacion de resultados

12.4. Referencias

  • Pagina oficial: https://nmap.org/
  • Documentacion NSE: https://nmap.org/nsedoc/
  • GTFOBins: https://gtfobins.github.io/