Prologo: (Este articulo esta basado en la ayuda de contexto de Nmap “nmap –help” ).
Argumentos-Opciones-Nmap:
Ejecutamos nmap –help :
- In: root@juan-SATELLITE-C55-C-1JM:/# nmap –help
- Nmap 7.94SVN (https://nmap.org)
Uso: nmap [Tipos de escaneo] [Opciones] {especificación de destino}
ESPECIFICACIÓN DEL OBJETIVO:
Puede pasar nombres de host, direcciones IP, redes, etc.
Ejemplo: scanme.nmap.org, microsoft.com/24, 192.168.0.1; 10.0.0-255.1-254
- -iL <nombre de archivo de entrada>: Entrada de la lista de hosts/redes
- -iR <num hosts>: elige objetivos aleatorios
- –exclude <host1[,host2][,host3],…>: Excluir hosts/redes
- –excludefile <exclude_file>: Excluir lista del archivo
DESCUBRIMIENTO DEL ANFITRIÓN:
- -sL: Escaneo de lista: simplemente enumera los objetivos para escanear
- -sn: Ping Scan – deshabilitar el escaneo de puertos
- -PS: Envía un SYN para descubrimiento. Por defecto al puerto 80
- -PA: Envía un ACK vacío para descubrimiento. Traspasa firewalls sin estado
- -PU: Envía un UDP vacío para descubrimiento. Traspasa firewalls que solo filtran TCP
- -PY: Envía paquete STCP INIT para descubrimiento. Solo para usuarios con privilegio
- -PE: Envía ICMP Echo Request. Poco fiable y filtrado por firewalls
- -PP: Envía un ICMP Timestamp Request. No filtrado por muchos firewalls
- -PM: ICMP Address Mask Request. No filtrado por muchos firewalls
- -n: No utilizar resolución DNS. Agilizar el proceso
- -R: Siempre resolver DNS
- -Pn: Trata a todos los hosts como si estuvieran en línea – omite el descubrimiento de hosts
- –dns-servers: Especifica servidores DNS personalizados
- –system-dns: utiliza el solucionador de DNS del sistema operativo
- –traceroute: rastrea la ruta del salto a cada host
TÉCNICAS DE ESCANEO:
- -sS: Escaneo SYN, usado por defecto. Rápido, fiable, sigiloso
- -sT: Envía un SYN, seguido de un RST para cerrar la conexión. Menos efectivo, sin privilegios
- -sA: Envía un ACK vacío. indica que los puertos están o no están filtrados
- -sW: TCP Window. Envía ACK vacío. Discrimina entre abiertos o cerrados. No es siempre fiable
- -sM: Envía ACK con bandera “flag” FIN activado
- -sU: Escaneo UDP
- -sN: TCP NULL Escaneos
- -sF: TCP FIN Escaneos
- -sX: TCP XMAS Escaneos
- –scanflags <flags>: personaliza los indicadores de escaneo TCP
- -sI: Idle Scan. Usa una IP de un host zombi intermedio para analizar objetivo “silenciosa”
- -sY: Envía paquetes SCTP INIT, “parecido TCP SYN”
- -sZ: Envía paquetes SCTP Cookie Echo.
- -sO: escaneo de protocolo IP y nos dice que protocolos de transporte soportados por el objeto a escanea.
- -b: Usa una funcion del Proxy-FTP para explorar los puertos del objetivo. escaneo de rebote FTP determinan el estado del puerto.
ESPECIFICACIÓN DEL PUERTO Y ORDEN DE ESCANEO:
- -p <rangos de puertos>: solo escanea los puertos especificados
- Ejemplo: -p22; -p1-65535; -pU:53,111,137,T:21-25,80,139,8080,S:9
- –exclude-ports <rangos de puertos>: excluye los puertos especificados del escaneo
- -F: Modo rápido: escanea menos puertos que el escaneo predeterminado
- -r: escanea puertos de forma consecutiva, no aleatoria
- –top-ports <número>: escanea <número> puertos más comunes
- –port-ratio <ratio>: escanea puertos más comunes que <ratio>
DETECCIÓN DE SERVICIO y VERSIÓNES:
- -sV: Sondear puertos abiertos para determinar información de servicio/versión
- –version-intensity <nivel>: Establecer desde 0 (light) hasta 9 (todas las pruebas sondeadas)
- –version-light: Limitar a las sondas más probables (Nivel-2)
- –version-all: Pruebe cada sonda (Nivel-9)
- –version-trace: muestra la actividad de escaneo de versiones detallada (para depuración)
SCRIPTS:
- -sC: equivalente a –script=predeterminado “default”
- –script=<scripts Lua>: Ejecuta un script o una lista de scripts escritos en Lua
- –script-args=<n1=v1,[n2=v2,…]>: proporciona argumentos a los scripts
- –script-args-file=nombre de archivo: proporciona argumentos de script NSE en un archivo
- –script-trace: muestra todos los datos enviados y recibidos
- –script-updatedb: actualiza la base de datos del script.
- –script-help=<scripts de Lua>: muestra ayuda sobre los scripts.
- Lua scripts es una lista de archivos de script separados por comas o categorías de script.
DETECCIÓN DE SISTEMA-OPERATIVO:
- -O: Habilitar la detección del sistema operativo
- –osscan-limit: limita la detección del sistema operativo a objetivos prometedores
- –osscan-guess: Adivina el sistema operativo de forma más agresiva
TEMPORIZACIÓN Y RENDIMIENTO:
- Las opciones que toman <tiempo> están en segundos o agregan ‘ms’ (milisegundos), ‘s‘ (segundos), ‘m‘ (minutos) o ‘h‘ (horas) al valor (por ejemplo, 30 m).
- -T<0-5>: Establecer plantilla de tiempo de escaneo de puertos “ordenado de más lento a más rápido”
- –min-hostgroup/max-hostgroup <tamaño>: tamaños de grupos de exploración de hosts paralelos
- –min-parallelism/max-parallelism <numprobes>: paralelización de sondas
- –min-rtt-timeout/max-rtt-timeout/initial-rtt-timeout <tiempo>: Especifica Tiempo de ida y vuelta de la sonda.
- –max-retries <tries>: Limita el número de retransmisiones de sondas de escaneo de puertos.
- –host-timeout <tiempo>: Renuncia al objetivo después de tiempo expecificado
- –scan-delay/–max-scan-delay <tiempo>: Ajusta el retraso entre sondas
- –min-rate <número>: envía paquetes a una velocidad no inferior a <número> por segundo
- –max-rate <número>: envía paquetes a una velocidad no superior a <número> por segundo
EVASIÓN DEl FIREWALL/IDS:
- -F; –mtu <val>: fragmenta paquetes (opcionalmente con MTU dada)
- -D <decoy1,decoy2[,ME],…>: Ocultar un escaneo con señuelos
- -S <Dirección_IP>: Dirección de origen falsa “IP Spoofing”
- -e <iface>: utiliza la interfaz especificada
- -g/–source-port <portnum>: utilizar el número de puerto dado
- –proxies <url1,[url2],…>: Reenvía las conexiones a través de proxies HTTP/SOCKS4
- –data <hex string>: Añade payload como carga útil personalizada a los paquetes enviados
- –data-string <string>: agrega una cadena ASCII personalizada a los paquetes enviados
- –data-length <numero>: agrega datos “payload” aleatorios a los paquetes enviados
- –ip-options <opciones>: envía paquetes con opciones de IP especificadas
- –ttl <val>: establece el campo de tiempo de vida de IP
- –spoof-mac <mac addr>: falsifica tu dirección MAC “MAC Spoofing”
- –badsum: Envía paquetes con un checksum incorrecto TCP/UDP/SCTP falsa
SALIDA & PRODUCCIÓN:
- -oN <archivo>: Salida normal en un fichero, similar a la que sale por pantalla
- -oS/ <archivo>: La salida del script para niños es como la salida interactiva, excepto que se post procesa para adaptarse mejor al ‘l33t HaXXorZ! . ¡Lo de los niños! Es simplemente una broma burlándose de los guionistas
- -oX <archivo>: Salida en fichero XML
- -oG <archivo>: Salida fácilmente tratada mediante herramientas de consola como grep
- -oA <fichero>: Salida en los tres formatos principales a la vez
- -v: aumenta el nivel de detalle (use -vv o más para un mayor efecto)
- -d: aumenta el nivel de depuración (use -dd o más para un mayor efecto)
- –reason: muestra el motivo por el que un puerto se encuentra en un estado particular
- –open: solo muestra puertos abiertos (o posiblemente abiertos)
- –packet-trace: muestra todos los paquetes enviados y recibidos
- –iflist: imprime rutas e interfaces de host (para depuración)
- –append-output: Agregar a archivos de salida especificados en lugar de bloquearlos
- –resume <nombre de archivo>: reanudar un análisis cancelado
- –noninteractive: deshabilita las interacciones en tiempo de ejecución a través del teclado
- –stylesheet <ruta/URL>: hoja de estilo XSL para transformar la salida XML a HTML
- –webxml: hoja de estilo de referencia de Nmap.Org para XML más portátil
- –no-stylesheet: Evita la asociación de hojas de estilos XSL con salida XML
Miscelánea: Por definición “Materias inconexas y mezcladas” & “Mezcla de cosas diversas”.
- -6: Habilitar escaneo IPv6
- -A: habilitar la detección de Sistema-Operativo, detección de Versión, escaneo de scripts y traceroute
- –datadir <dirname>: especifica la ubicación del archivo de datos Nmap personalizado
- –send-eth/–send-ip: envío utilizando tramas Ethernet sin formato o paquetes IP
- –privileged: asume que el usuario tiene todos los privilegios
- –unprivileged: Asume que el usuario no es privilegiado
- -V: número de versión de impresión
- -h: imprime esta página de resumen de ayuda.
EJEMPLOS DE USO:
- In: root@juan-SATELLITE-C55-C-1JM:/# nmap -v -A scanme.nmap.org
Explicación: Lo primero, tenemos -v aumenta el nivel de detalle y si deseamos mas usar -vv para un mayor efecto, en segundo lugar -A con esta opción habilitamos la detección de Sistema-Operativo, detección de Versión, escaneo de scripts y traceroute y por ultimo especificación de destino scanme.nmap.org.
- In: root@juan-SATELLITE-C55-C-1JM:/# nmap -v -sn 192.168.1.0/24
Explicación: Lo primero, tenemos -v aumenta el nivel de detalle y si deseamos mas usar -vv para un mayor efecto, en segundo lugar -sn Ping Scan deshabilitamos el escaneo de puertos y por ultimo especificación de destino 192.168.1.0/24
- In: root@juan-SATELLITE-C55-C-1JM:/# nmap -v -iR 100 -Pn -p 80
Explicación: Lo primero, tenemos -v aumenta el nivel de detalle y si deseamos mas usar -vv para un mayor efecto, en segundo lugar -iR <num hosts> elige objetivos aleatorios, en tercer lugar -Pn Trata a todos los hosts como si estuvieran en línea, omite el descubrimiento de hosts y en cuarto lugar -p <rango> Solo escaneo puertos especificados en este caso el 80, en este caso no especificamos el destino.
Nota: Con estos tres ejemplos a mi entender se aborda con claridad el procedimiento de sintaxis por lo tanto de trabajo de Nmap.
Recopilando:
Una relación de las Opciones de Nmap debidamente comentadas y acompañadas con tres ejemplos que aclaran su funcionalidad.
- Referencias: moreluz.entorno
- Referencias: Para saber más