Nmap Cheat Sheets
# Ejecución promedio
nmap 10.10.10.10 -p- --open --min-rate 500 -vvv -n -Pn --disable-arp-ping --defeat-rst-ratelimit -oG allPorts
cat allPorts| grep -oP '\d+(?=\/\w+\/\w+)' | paste -sd, -
nmap 186.64.114.175 -p 21,25,110,143,465,587,993,995,2812,10050,30215,40137,43270,43527,44029,47959 -sC -sV -O --min-rate 500 -oN target
1. ESCANEO DE RED
Escanear rango de red
nmap 10.10.10.0/24 -sn -oA net | grep "for" | cut -d " " -f 5 code
Escanear red por lista de IP
nmap -sn -oA net -iL hosts.txt | grep for | cut -d " " -f 5
2. ESCANEO DE HOSTS
Escaneo básico
nmap 10.10.10.10 -sn -oA host
Escaneo básico sobre múltiples direcciones IP
nmap 10.10.10.10 10.10.10.20 -sn -oA hosts | grep for | cut -d" " -f 5
Escaneo con envío de paquetes ICMP
nmap 10.10.10.10 -sn -PE -oA host
Escaneo con análisis de tráfico sobre paquetes tramitados
nmap 10.10.10.10 -sn -PE --packet-trace -oA host
Escaneo muestra el razón del resultado
nmap 10.10.10.10 -sn -PE --reason -oA host
Escaneo con ping ARP deshabilitado
nmap 10.10.10.10 -sn -PE --packet-trace --disable-arp-ping -oA host
3. ESCANEO DE PUERTOS
Escaneo de los 10 puertos principales (cambiar 10 por 100, 1000 en función del top requerido)
nmap 10.10.10.10 --top-ports=10
Escaneo específico de puerto
nmap 10.10.10.10 -p 443
Escaneo de puertos con rastreo de paquetes
nmap 10.10.10.10 -p 21 --packet-trace -Pn -n --disable-arp-ping
Escaneo de puertos bajo protocolo TCP
nmap 10.10.10.10 -p- -sT -Pn -n --reason --packet-trace --disable-arp-ping
Escaneo de puerto filtrado (status= filtered)
nmap 10.10.10.10 -p 139 --packet-trace --disable-arp-ping -Pn -n
Escaneo de puertos bajo protocolo UDP
nmap 10.10.10.10 -sU -F
Escaneo de puerto con detección de versión del servicio activo
nmap 10.10.10.10 -sV -Pn -n --disable-arp-ping --packet-trace -p 445 --reason
4. GUARDAR RESULTADOS DE ESCANEOS
Guardar escaneo en formato nmap
nmap 10.10.10.10 -p- -oN target
Guardar escaneo en formato grep
nmap 10.10.10.10 -p- -oG target
Guardar escaneo en formato xml
nmap 10.10.10.10 -p- -oX target
Crear reporte html para formato xml
xsltproc target.xml -o target.html
5. ENUMERACIÓN DE SERVICIOS
Escaneo de puertos con detección de versión de servicio activo
nmap 10.10.10.10 -p- -sV
Escaneo con retardo en salida
nmap 10.10.10.10 -p- -sV --stats-every=5s
Escaneo con aumento de los niveles de verbosidad
nmap 10.10.10.10 -p- -sV -v
nmap 10.10.10.10 -p- -sV -vv
nmap 10.10.10.10 -p- -sV -vvv
Escaneo con captura del banner de servicio
nmap 10.10.10.10 -p- -sV
nmap 10.10.10.10 -p- -sV -Pn -n --disable-arp-ping --packet-trace
tcpdump -i eth0 host 10.10.10.10 and 10.10.10.20
nc -nv 10.10.10.10
6. ESCANEO CON EJECUCIÓN DE SCRIPT
Escaneo con scripts por defecto
nmap 10.129.2.28 -sC
Escaneo con script específico
nmap 10.129.2.28 --script vuln
Escaneo con grupo general de scripts
nmap 10.129.2.28 --script vuln,brute,version
Escaneo con grupo de subíndices por puerto
nmap 10.129.2.28 -p 25 --script banner,smtp-commands
Escaneo agresivo
nmap 10.129.2.28 -p 80 -A
7. ESCANEO CON GESTIÓN DE RENDIMIENTO
Escaneado optimizado
nmap 10.129.2.28 -p- --min-rate X --min-parallelism X --min-rtt-timeout X
8. EVASIÓN DE FIREWALL, IDS E IPS
Escaneo SYN
nmap 10.129.2.28 -p 21,22 -sS -Pn -n --disable-arp-ping
Escaneo ACK
nmap 10.129.2.28 -p 21,22 -sA -Pn -n --disable-arp-ping
Escaneo con dirección IP de salida falsa
nmap 10.129.2.28 -p 80 -sS -Pn -n --disable-arp-ping --packet-trace-D RND:5
Escaneo desde una IP de origen diferente
nmap 10.129.2.28 -n -Pn -p 445 -O -S 10.129.2.200 -e tun0
Proxy DNS con escaneo SYN para puerto filtrado
nmap 10.129.2.28 -p50000 -sS -Pn -n --disable-arp-ping --packet-trace
Proxy DNS con escaneo SYN desde el puerto DNS como origen
nmap 10.129.2.28 -p50000 -sS -Pn -n --disable-arp-ping --packet-trace --source-port 53
Conexión vía Netcat para confirmar puerto DNS filtrado
ncat -nv --source-port 53 10.129.2.28 50000
PARÁMETROS GENERALES
Parámetros de escaneo
Descripción
-sn
Desactiva el escaneo de puertos
-oA
Almacena los resultados en todos los formatos (.nmap, grepeable y xml)
-oN
Almacena el resultado en formato .nmap
-oG
Almacena el resultado en formato .gnmap (grepeable)
-oX
Almacena el resultado en formato .xml
-iL
Realiza análisis definidos contra una lista proporcionada
-PE
Realiza el escaneo de ping utilizando solicitudes ICMP contra el objetivo
--packet-trace
Muestra todos los paquetes enviados y recibidos
--disable-arp-ping
Deshabilita el ping ARP
--reason
Muestra el motivo de un resultado específico
--top-ports=10
Explora los puertos principales especificados que se han definido como más frecuentes (10, 100 ó 1000)
-p
Explora sólo el puerto especificado
-p-
Explora los 65535 puertos
--open
Explora solo los puertos abiertos
-n
Desactiva la resolución DNS
-sT
TCP Connect Scan. Envía un paquete SYN al destino. Recibe un SYN/ACK. Envía un ACK confirmando conexión. Recibe un Data con info. Envía un RST para finalizar. Si se completa indica puerto abierto. Si recibe RST indica puerto cerrado. Es más confiable pero menos sigiloso que el SYN scan
-sS
TCP SYN Scan. Envía un paquete SYN. Si recibe un SYN/ACK indica puerto abierto. Si recibe un RST indica puerto cerrado. Este escaneo es sigiloso, ya que no completa el proceso de conexión TCP
-sA
TCP ACK Scan. Envía un paquete ACK. Si recibe un RST indica puerto cerrado. Si no recibe respuesta, puede indicar que el puerto está filtrado. Es útil para eludir firewalls, ya que no establece una conexión completa
-sU
Realiza un escaneo UDP
-Pn
Deshabilita las solicitudes de eco ICMP
-F
Escanea los 100 puertos principales
-sV
Realiza la detección de la versión del servicio en puertos específicos
--stats-every=5s
Muestra el progreso del escaneo cada 5 segundos
-v / -vv / -vvv
Aumenta el detalle de la información mostrada por output en el escaneo
-sC
Escaneo que aplica la ejecución de scripts NSE predeterminados
--script
Utiliza secuencias de comandos NSE específicos para escaneos por scripts
--traceroute
Rastrea la ruta de un paquete ICMP para mostrar los nodos intermedios
-O
Detecta el sistema operativo del objetivo
-A
Escaneo agresivo. Aplica automáticamente -sV, -O --traceroute y -sC
-T X
Velocidad de escaneo en relación a paquetes enviados al objetivo (0 mas baja, 5 mas alta)
--initial-rtt-timeout Xms
Establece el valor de tiempo especificado como tiempo de espera inicial de RTT (Round-Trip-Time- RTT / Tiempo de ida y vuelta de un paquete)
--min-parallelism X
Establece el valor especificado como la frecuencia mínima de envío de paquetes sobre el objetivo
--max-parallelism X
Establece el valor especificado como la frecuencia máxima de envío de paquetes sobre el objetivo
--min-rtt-timeout X
Establece el valor de tiempo especificado como tiempo de espera mínimo de RTT
--max-rtt-timeout X
Establece el valor de tiempo especificado como tiempo de espera máximo de RTT
--min-rate X
Establece el número mínimo de paquetes que se enviarán por segundo de forma simultanea
--max-rate X
Establece el número máximo de paquetes que se enviarán por segundo de forma simultanea
--max-retries X
Establece el número de reintentos que se realizarán durante el análisis
--min-hostgroup X
Establece el número mínimo de hosts en paralelo
--max-hostgroup X
Establece el número máximo de hosts en paralelo
-D RND:X
Genera X direcciones IP aleatorias que indican la IP de origen de la que proviene la conexión
-S 10.129.2.20
Escanea el objetivo utilizando una dirección IP de origen diferente
-e tun0
Envía todas las solicitudes a través de la interfaz especificada
--source-port 53
Realiza los análisis desde un puerto el origen especificado
ESTADO DE PUERTOS
Estado de un puerto
Descripción
open
Indica que se ha establecido la conexión con el puerto escaneado. Estas conexiones pueden ser conexiones TCP , datagramas UDP y asociaciones SCTP
closed
El protocolo TCP indica que el paquete que recibimos contiene una flag RST. Este método de escaneo también se puede utilizar para determinar si nuestro objetivo está vivo o no.
filtered
Nmap no puede identificar correctamente si el puerto escaneado está abierto o cerrado porque no se devuelve ninguna respuesta del destino para el puerto o recibimos un código de error del destino.
unfiltered
Este estado de un puerto solo ocurre durante el escaneo TCP-ACK y significa que el puerto es accesible, pero no se puede determinar si está abierto o cerrado.
open|filtered
Si no obtenemos respuesta para un puerto concreto, Nmap lo establece en este estado. Esto indica que un firewall o un filtro de paquetes pueden proteger el puerto.
closed|filtered
Este estado solo ocurre en los escaneos inactivos de ID de IP e indica que fue imposible determinar si el puerto escaneado está cerrado o filtrado por un firewall.
GRUPOS DE SCRIPTS PARA ANÁLISIS CON --script
Categoría
Descripción
auth
Determinación de credenciales de autenticación.
broadcast
Los scripts, que se utilizan para el descubrimiento de hosts mediante la transmisión y los hosts descubiertos, se pueden agregar automáticamente a los análisis restantes.
brute
Ejecuta scripts que intentan iniciar sesión en el servicio respectivo mediante fuerza bruta con credenciales.
default
Scripts predeterminados ejecutados usando la -sCopción.
discovery
Evaluación de servicios accesibles.
dos
Estos scripts se utilizan para comprobar los servicios en busca de vulnerabilidades de denegación de servicio y se utilizan menos porque dañan los servicios.
exploit
Esta categoría de scripts intenta explotar vulnerabilidades conocidas del puerto escaneado.
external
Scripts que utilizan servicios externos para su posterior procesamiento.
fuzzer
Utiliza scripts para identificar vulnerabilidades y manejo inesperado de paquetes mediante el envío de diferentes campos, lo que puede llevar mucho tiempo.
intrusive
Scripts intrusivos que podrían afectar negativamente al sistema de destino.
malware
Comprueba si algún malware infecta el sistema de destino.
safe
Scripts defensivos que no realizan accesos intrusivos y destructivos.
version
Extensión para detección de servicios.
vuln
Identificación de vulnerabilidades específicas.
PLANTILLA DE TIEMPOS DE ENVÍO Y EFECTOS
T0
T1
T2
T3
T4
T5
Name
Paranoid
Sneaky
Polite
Normal
Aggressive
Insane
min-rtt-timeout
100 ms
100 ms
100 ms
100 ms
100 ms
50 ms
max-rtt-timeout
5 minutes
15 seconds
10 seconds
10 seconds
1250 ms
300 ms
initial-rtt-timeout
5 minutes
15 seconds
1 second
1 second
500 ms
250 ms
max-retries
10
10
10
10
6
2
Initial (and minimum) scan delay (--scan-delay)
5 minutes
15 seconds
400 ms
0
0
0
Maximum TCP scan delay
5 minutes
15,000
1 second
1 second
10 ms
5 ms
Maximum UDP scan delay
5 minutes
15 seconds
1 second
1 second
1 second
1 second
host-timeout
0
0
0
0
0
15 minutes
script-timeout
0
0
0
0
0
10 minutes
min-parallelism
Dynamic, not affected by timing templates
Dynamic, not affected by timing templates
Dynamic, not affected by timing templates
Dynamic, not affected by timing templates
Dynamic, not affected by timing templates
Dynamic, not affected by timing templates
max-parallelism
1
1
1
Dynamic
Dynamic
Dynamic
min-hostgroup
Dynamic, not affected by timing templates
Dynamic, not affected by timing templates
Dynamic, not affected by timing templates
Dynamic, not affected by timing templates
Dynamic, not affected by timing templates
Dynamic, not affected by timing templates
max-hostgroup
Dynamic, not affected by timing templates
Dynamic, not affected by timing templates
Dynamic, not affected by timing templates
Dynamic, not affected by timing templates
Dynamic, not affected by timing templates
Dynamic, not affected by timing templates
min-rate
No minimum rate limit
No minimum rate limit
No minimum rate limit
No minimum rate limit
No minimum rate limit
No minimum rate limit
max-rate
No maximum rate limit
No maximum rate limit
No maximum rate limit
No maximum rate limit
No maximum rate limit
No maximum rate limit
defeat-rst-ratelimit
Not enabled by default
Not enabled by default
Not enabled by default
Not enabled by default
Not enabled by default
Not enabled by default
RESPUESTA DE FIREWALL
Paquetes
Descripción
dropped
Nmap envía paquetes pero no recibe respuesta, pueden ser bloqueados por firewalls, IDS o congestión de red
rejected
Nmap recibe una respuesta explícita de rechazo del host de destino, indicando que el puerto está closed o filtered. Devuelve una flag RST
ERRORES DE RESPUESTA DE FIREWALL
Errores
Descripción
Net Unreachable
El destino no puede alcanzarse debido a problemas en la red entre el origen y el destino
Net Prohibited
La red entre el origen y el destino está prohibida, probablemente debido a reglas de firewall
Host Unreachable
El destino no puede ser alcanzado, posiblemente porque está apagado o no está en la red
Host Prohibited
La comunicación con el host está prohibida, probablemente por reglas de firewall o configuración de seguridad
Port Unreachable
El destino está disponible pero el puerto específico no está abierto o accesible
Proto Unreachable
El protocolo especificado no es compatible o está bloqueado en el destino