Computing">
Advanced Nmap Guide
Advanced Nmap Guide
Advanced Nmap Guide
AGOSTO 2012
SIN CLASIFICAR
CCN-STIC-954 Guía Avanzada de Nmap
Edita:
LIMITACIÓN DE RESPONSABILIDAD
El presente documento se proporciona tal cual, rechazando expresamente cualquier tipo de garantía implícita
que se pueda encontrar relacionada. En ningún caso, el Centro Criptológico Nacional puede ser considerado
responsable del daño directo, indirecto, fortuito o extraordinario derivado de la utilización de la información y
software que se indican incluso cuando se advierta de tal posibilidad.
AVISO LEGAL
Quedan rigurosamente prohibidas, sin la autorización escrita del Centro Criptológico Nacional, bajo las
sanciones establecidas en las leyes, la reproducción parcial o total de este documento por cualquier medio o
procedimiento, comprendidos la reprografía y el tratamiento informático, y la distribución de ejemplares del
mismo mediante alquiler o préstamo públicos.
PRÓLOGO
El uso masivo de las tecnologías de la información y las telecomunicaciones (TIC), en todos los
ámbitos de la sociedad, ha creado un nuevo espacio, el ciberespacio, donde se producirán conflictos
y agresiones, y donde existen ciberamenazas que atentarán contra la seguridad nacional, el estado
de derecho, la prosperidad económica, el estado de bienestar y el normal funcionamiento de la
sociedad y de las administraciones públicas.
Partiendo del conocimiento y la experiencia del CNI sobre amenazas y vulnerabilidades en materia
de riesgos emergentes, el Centro realiza, a través de su Centro Criptológico Nacional, regulado por
el Real Decreto 421/2004, de 12 de marzo, diversas actividades directamente relacionadas con la
seguridad de las TIC, orientadas a la formación de personal experto, a la aplicación de políticas y
procedimientos de seguridad, y al empleo de tecnologías de seguridad adecuadas.
Una de las funciones más destacables del Centro Criptológico Nacional es la de elaborar y difundir
normas, instrucciones, guías y recomendaciones para garantizar la seguridad de los sistemas de las
tecnologías de la información y las comunicaciones de la Administración, materializada en la
existencia de la serie de documentos CCN-STIC.
En definitiva, la serie de documentos CCN-STIC se elabora para dar cumplimiento a los cometidos
del Centro Criptológico Nacional y a lo reflejado en el Esquema Nacional de Seguridad, conscientes
de la importancia que tiene el establecimiento de un marco de referencia en esta materia que sirva
de apoyo para que el personal de la Administración lleve a cabo su difícil, y en ocasiones, ingrata
tarea de proporcionar seguridad a los sistemas de las TIC bajo su responsabilidad.
Agosto de 2012
ÍNDICE
1. INTRODUCCIÓN ................................................................................................................................... 2
1.1. ANALIZADOR DE REDES NMAP ................................................................................................ 2
1.2. OBJETIVOS DE LA GUÍA ............................................................................................................. 4
1.3. AUDIENCIA DE ESTE DOCUMENTO ......................................................................................... 5
1.4. TECNOLOGÍAS PRESENTES ....................................................................................................... 5
1.5. TERMINOLOGÍA ........................................................................................................................... 6
1.6. HISTORIAL DE VERSIONES DE NMAP ..................................................................................... 9
2. INSTALACIÓN ..................................................................................................................................... 10
2.1. NMAP PARA LINUX ................................................................................................................... 11
2.1.1. INSTALACIÓN A PARTIR DE CÓDIGO FUENTE.................................................................. 11
2.1.2. INSTALACIÓN BAJO LINUX A PARTIR DE PAQUETES (RPM Y DEB) ............................... 12
2.2. NMAP PARA WINDOWS ............................................................................................................ 13
2.3. INTERFAZ GRÁFICA DE USUARIO ......................................................................................... 14
2.4. INTERACCIÓN CON APLICACIONES DE TERCEROS ........................................................... 16
3. LÍNEA DE COMANDOS ..................................................................................................................... 18
3.1. TÉCNICAS DESCUBRIMIENTO DE EQUIPOS ........................................................................ 18
3.1.1. NO PING (-Pn) ......................................................................................................................... 18
3.1.2. LIST SCAN (-sL) ....................................................................................................................... 18
3.1.3. NO PORT SCAN (-sn) ............................................................................................................... 20
3.1.4. PING ARP (-PR) ....................................................................................................................... 22
3.1.5. PING TCP SYN (-PS<listado de puertos>) .............................................................................. 23
3.1.6. PING TCP ACK (-PA<listado de puertos>) ............................................................................. 25
3.1.7. PING UDP (-PU<lista de puertos>) ........................................................................................ 26
3.1.8. PINGS ICMP (-PE, -PP, -PM).................................................................................................. 27
3.1.9. PING SCTP (-PY<listado de puertos>) .................................................................................... 28
3.1.10. IP PROTOCOL PING (-PO<listado protocolos>) .............................................................. 30
3.2. TÉCNICAS BASADAS EN EL ESCANEO DE PUERTOS ......................................................... 31
3.2.1. TCP SYN Scan (-sS) .................................................................................................................. 31
3.2.2. TCP CONNECT SCAN (-sT) ..................................................................................................... 32
3.2.3. UDP SCAN (-sU) ...................................................................................................................... 33
3.2.4. IDLE SCAN (-sI) ....................................................................................................................... 35
3.2.5. TCP ACK SCAN (-sA) ............................................................................................................... 38
3.2.6. TCP Null, FIN, Xmas scans (-sN, -sF, -sX) ............................................................................... 39
3.2.7. TCP Maimon scan (-sM) ........................................................................................................... 41
3.2.8. TCP Window scan (-sW) ........................................................................................................... 41
3.2.9. SCTP INIT Scan (-sY) ............................................................................................................... 42
3.2.10. SCTP COOKIE-ECHO Scan (-sZ) ....................................................................................... 43
3.2.11. IP protocol scan (-sO) .......................................................................................................... 44
3.2.12. FTP bounce scan (-b <servidor ftp>) ................................................................................. 45
3.3. MEJORANDO EL RENDIMIENTO DEL ANÁLISIS ................................................................. 46
3.3.1. CENTRAR EL ALCANCE DEL ANÁLISIS................................................................................ 46
3.3.2. SEPARAR Y OPTIMIZAR LOS ANÁLISIS UDP ....................................................................... 47
3.3.3. TUNING TEMPORAL AVANZADO ......................................................................................... 47
3.3.4. PLANTILLAS TEMPORALES ................................................................................................... 48
3.4. ANÁLISIS DE REDES IPV6 ......................................................................................................... 49
3.5. OTROS PARÁMETROS RELEVANTES .................................................................................... 49
3.5.1. OBJETIVOS A ANALIZAR (-iL, -iR) ......................................................................................... 50
3.5.2. SALIDA DE RESULTADOS (-oN, -oX, -oS, -oG, -oA) ............................................................. 50
3.5.3. DETECCIÓN DE VERSIONES (-sV) ........................................................................................ 50
3.5.4. DETECCIÓN DE SISTEMA OPERATIVO (-O) ....................................................................... 51
3.5.5. USO DE SCRIPTS (-sC) ........................................................................................................... 51
3.5.6. ANÁLISIS AGRESIVO (-A) ....................................................................................................... 51
3.5.7. INTERACTUANDO CON NMAP DURANTE UN ANÁLISIS ................................................... 51
4. PROCEDIMIENTOS ............................................................................................................................ 52
Figuras
Tablas
1. INTRODUCCIÓN
! Descubrimiento de subredes.
1
Determinar qué equipos están activos y cuál es el estado de sus puertos y servicios de comunicaciones
ofrecidos.
2
Fyodor es el apodo de un conocido hacker, en honor al escritor ruso Fyodor Dostoyevsky, Ingeniero
Informático y autor de Nmap así como de otras herramientas informáticas de seguridad. Actualmente sigue
dirigiendo el proyecto Nmap, manteniendo la popular web de seguridad www.insecure.org, así como
colaborando en diversos libros y publicaciones relacionados con Nmap.
Centro Criptológico Nacional 2
SIN CLASIFICAR
CCN-STIC-954 Guía Avanzada de Nmap
! Por último, esta Guía Avanzada aspira a realizar un adecuado tratamiento de los
resultados obtenidos en los análisis para mejor aprovechamiento de la
herramienta. Dichos resultados incluirán suficiente información estadística que
permita comprender el impacto de la elección de las diferentes técnicas con
respecto al rendimiento en tiempo de realización del análisis y a la cantidad de
información extraída en el proceso.
3
Un puerto constituye cada uno de los huecos en que se puede alojar un servicio que desee ofrecer sus
servicios al exterior. En un mismo equipo existen 65535 (64Ki) puertos TCP y otros tantos UDP.
Dependiendo de su estado, se puede conocer si existe o no un servicio alojado en él.
Centro Criptológico Nacional 5
SIN CLASIFICAR
CCN-STIC-954 Guía Avanzada de Nmap
1.5. TERMINOLOGÍA
13. A lo largo de esta guía se utilizan repetidamente una serie de términos que hacen
referencia a conceptos técnicos, naturales al software de administración de redes, y
en concreto a Nmap. En virtud del rigor que se desea imprimir a la Guía, se definen
a continuación los siguientes términos:
Obsérvese la distinta utilización normalizada del guión “-” para cada uno de los
argumentos del comando en Nmap.
Las versiones de Nmap con interfaz gráfica de usuario permiten la composición
de estos comandos de forma amigable, facilitando la labor del usuario menos
acostumbrado a trabajar en línea de comandos.
4
CIDR, del término inglés Classless Inter-Domain Routing, es una notación en la que se define un conjunto
de equipos utilizando la IP más baja de las que forman el grupo, seguido del número de bits comunes que
tienen el conjunto de direcciones del rango. Por ejemplo: 192.168.1.0/24 agrupa los equipos cuya dirección
tiene los primeros 24 bits iguales, es decir, desde el equipo 192.168.1.0 hasta el equipo 192.168.1.255. Más
información en http://es.wikipedia.org/wiki/Classless_Inter-Domain_Routing
5
Este formato para fijar objetivos permite, para cada número de los que conforman una dirección IP,
introducir un intervalo separado por un guión. Por ejemplo, el intervalo 172.16.0.1-20 analizará las
direcciones IP desde la 172.16.0.1 hasta la 172.16.0.20, mientras que el intervalo 172.16.0-2.20-25 analizará
las IP 172.16.0.20 hasta la 25, así como las 172.16.1.20 hasta la 25 y las 172.16.2.20 hasta la 25.
Centro Criptológico Nacional 7
SIN CLASIFICAR
CCN-STIC-954 Guía Avanzada de Nmap
14. El código fuente de Nmap (en lenguaje C) fue publicado por primera vez en
septiembre de 1997, en un artículo de la revista Phrack Magazine. Desarrollos
posteriores (ya en lenguaje C++) incluyeron mejores algoritmos para el
descubrimiento de los servicios disponibles, nuevos tipos de escaneo así como
soporte a nuevos protocolos de comunicaciones (p.e. IPv6). En febrero de 2004
alcanzó la versión 3.5 y dos años más tarde, en enero de 2006, la versión 4.0, que
implementa numerosas mejoras.
15. En diciembre de 2006 se incluyó NSE, el motor de Scripting de NMap, que ha
permitido a los usuarios ampliar la funcionalidad de NMap hasta límites
insospechados, ya que permite utilizar los resultados del mapeo de puertos para
extraer información adicional. Este ha sido uno de los campos en que más ha
evolucionado NMap en los últimos años, apoyado por su comunidad. Así, ha
pasando de disponer de 22 scripts en su primera versión, a tener disponibles
alrededor de 300 scripts6, estando incluidos en la distribución oficial actual 178 de
ellos.
16. Durante los años 2006 y 2007 se abogó por la sustitución de la anterior interfaz
gráfica que estaba incluida por defecto en la distribución de NMap, llamada
NmapFE, por otra más funcional, escalable y que presentaba mejoras sustanciales,
sobre todo en el campo de visutlización de resultados. La interfaz seleccionada fue
UMIT, basada en Python y GTK, e incluida por defecto desde la versión 4.22SOC1.
Posteriormente, el equipo de desarrollo de NMap decidió seguir el desarrollo de esta
interfaz en paralelo al de sus creadores, cambiando su nombre por Zenmap.
6
Un listado actualizado de los scripts disponibles, así como enlaces para su descarga, se puede encontrar en:
http://nmap.org/nsedoc/index.html
Centro Criptológico Nacional 9
SIN CLASIFICAR
CCN-STIC-954 Guía Avanzada de Nmap
2. INSTALACIÓN
20. Nmap es una herramienta multiplataforma disponible en una gran variedad de
diferentes sistemas, en especial sistemas basados en UNIX. El manual de instalación
de Nmap ofrece guías de instalación para los siguientes sistemas operativos:
1. Distribuciones Linux, tanto basadas en paquetes (RPM o deb), como a partir
de código fuente.
2. Sistemas Windows actuales: XP SP1 y posteriores, Vista, 7 y Windows
Server 2003 y 2008. Existe una guía de instalación para equipos con
Windows 20007.
3. Sistemas Oracle/Sun Solaris
4. Sistemas Apple Mac OS X
5. Sistemas BSD: FreeBSD, OpenBSD y NetBSD.
6. Sistemas Amiga.
7. Sistemas IBM AIX.
21. Esta Guía se centra en los aspectos de instalación para distribuciones Linux basadas
en paquetes RPM (tales como Red Hat, Fedora, Suse y Mandrake), paquetes deb
(como Debian y Ubuntu) así como para instalaciones a partir de la compilación del
código fuente. También se ofrecen detalles para la instalación en sistemas Windows.
7
Esta guía se puede encontrar en https://secwiki.org/w/Nmap/Old_Windows_Releases.
Centro Criptológico Nacional 10
SIN CLASIFICAR
CCN-STIC-954 Guía Avanzada de Nmap
6) Escalar a súper-usuario: su
8
La directiva que controla la ubicación de las librerías de OpenSSL es --with-openssl=<ruta>. Se puede
encontrar un listado de las directivas permitidas en: http://nmap.org/book/inst-source.html#inst-configure
9
http://nmap.org/download.html
Centro Criptológico Nacional 11
SIN CLASIFICAR
CCN-STIC-954 Guía Avanzada de Nmap
26. Siguiendo estos pasos, y si no ha surgido ningún problema, Nmap quedará instalado
en /usr/local/bin/nmap. Se puede ejecutar la orden sin parámetros para comprobar
que está correctamente instalado.
34. Para utilizar los paquetes que proporcionan las distribuciones más comunes, es
suficiente con instalarlos a través de las herramientas de gestión que proporcionan
las propias distribuciones. Las ordenes para las distribuciones más comunes son:
(Open)Suse: yast2 -i nmap zenmap
Debian/Ubuntu: apt-get install nmap zenmap
Fedora/RedHat: yum install nmap zenmap
10
Más información sobre como realizar este cambio en: http://nmap.org/book/inst-windows.html#inst-win-
exec
Centro Criptológico Nacional 14
SIN CLASIFICAR
CCN-STIC-954 Guía Avanzada de Nmap
Figura 3. [Zenmap] Vista de equipos y puertos Figura 4. [Zenmap] Vista de servicios y equipos
47. En la siguiente pestaña, llamada Topology, podemos ver un gráfico con el esquema
de la red analizada, según ha detectado Nmap.
49. Finalmente, cabe destacar la opción que permite añadir perfiles al desplegable de la
pantalla principal. Esta opción se encuentra en el menú Profile > New Profile or
Command, y nos permite, mediante una ventana con pestañas, seleccionar las
opciones a aplicar al análisis.
• UMIT v1.0: versión actual del desarrollo que sirvió como base para Zenmap, la
interfaz gráfica distribuida actualmente con Nmap. Su aspecto es muy similar,
pero posee algunas características difereciadas, como un asistente para generar
comandos de Nmap, la posibilidad de añadir extensiones, y la posibilidad de
planificar la realización de escaneos. Está disponible para sistemas Windows,
Linux/Unix y Mac.
Desde que se desligó de Nmap este proyecto ha crecido, creándose una versión
web de este frontend (UMITWeb, o el nuevo UMITWeb-NG11) también
disponible para sistemas Windows y Linux, así como un generador de paquetes,
e incluso una versión para analizar redes Bluetooth (UmitBT12).
Está disponible como paquete para la mayoría de distribuciones Linux estándar.
Las versiones para otros sistemas operativos, así como paquetes fuente, se
puede obtener desde su web oficial: http://www.umitproject.org/.
• NmapSI4: interfaz escrita en Qt, y disponible para Windows, Unix/Linux y
Mac. Además de ofrecer toda la potencia de Nmap, permite realizar tareas
adicionales como descubrir la ruta que siguen los paquetes (traceroute),
encontrar vulnerabilidades existentes en puertos y versiones de servicios
obtenidas por Nmap y tener un control pormenorizado de los script existentes y
sus opciones de ejecución, entre otros. Como el anterior, existe paquete para la
mayoría de distribuciones Linux actuales, y se puede obtener la versión
actualizada desde su web oficial: http://nmapsi4.org/
51. Además de estas interfaces, que permiten al usuario lanzar de forma más sencilla
sus escaneos, también existen otras aplicaciones que permiten al usuario manejar de
forma fácil los ficheros que produce Nmap tras su ejecución. Algunas de ellas son:
• Nmap Onepage: Esta aplicación permite, a través de una cómoda interfaz web,
interactuar con los ficheros XML que puede generar Nmap para los escaneos
que realiza. Esta interfaz no necesita instalación, y ni siquiera necesita tener un
servidor web dedicado para ella, ya que toda la funcionalidad está
implementada con Javascript. Se puede utilizar en cualquier dispositivo que
disponga de navegador web que soporte javascript, y se puede descargar desde
el siguiente enlace: https://bitbucket.org/holiman/nmap-onepage
• NetworkScanViewer: Esta aplicación, nativa para Windows y que requiere
.NET 4.0 para funcionar. Analiza un conjunto de ficheros de salida de Nessus y
Nmap, y permite la adición de filtros y selecciones, para facilitar el tratamiento
de la información recogida en los escaneos. Se puede encontrar más
información en su Web: http://www.woanware.co.uk/?page_id=143
11
http://trac.umitproject.org/wiki/UmitWebNG
12
http://trac.umitproject.org/wiki/UmitBluetooth
Centro Criptológico Nacional 17
SIN CLASIFICAR
CCN-STIC-954 Guía Avanzada de Nmap
3. LÍNEA DE COMANDOS
52. En esta sección se muestran los métodos y técnicas de análisis que tiene Nmap, su
descripción y funcionamiento, y ejemplos de uso y los paquetes intercambiados.
Tras esto, se muestran algunos detalles a tener en cuenta a la hora de planificar y
realizar un análisis rápido y efectivo a una red, y el modo en que estos detalles se
pueden definir en Nmap. En el Anexo B (ver 5.10) de esta guía se encuentra una
tabla en que se muestran todas las opciones que acepta Nmap por línea de
comandos.
53. La sintaxis de Nmap es la siguiente:
nmap [Tipo(s) de análisis] [Opciones] [Objetivos]
54. Los tipos de análisis y las opciones generalmente comienzan con un guión (“-“), a
diferencia de los objetivos del análisis. Estos objetivos se pueden definir como
direcciones IP, intervalos de direcciones, rangos CIDR o nombres de dominio (estos
últimos también aceptan notación CIDR). De este modo, son válidos los objetivos
192.168.10.10, 172.16.128-130.0-255, 10.0.0.0/16, www.csirtcv.es y
scanme.nmap.org/28.
los equipos a analizar, así que si se selecciona este método, los paquetes
relacionados con esta resolución serán los únicos que se enviarán. Esta es una
opción especialmente sigilosa (no intrusiva) con la cual obtener información
potencialmente valiosa, y que puede servir también para comprobar que no se va a
analizar ningún activo fuera de nuestro alcance.
60. La Figura 8 muestra las consulta DNS inversas (PTR) hechas para obtener los
nombres de dominio de los objetivos indicados (www.ejemplo.es/29). En este caso
todas obtienen respuesta. No se envía por tanto ningún paquete a los objetivos.
61. En esta primera parte de la figura se observa el resultado textual de la invocación
del comando, mientras que en la siguiente se muestra el flujo gráfico de mensajes
intercambiados.
Entrada:
nmap -sL www.ejemplo.es/29
Salida:
Flujo Mensajes:
Entrada:
nmap -sn 191.168.1.70, www.google.com
Salida:
Flujo Mensajes:
Centro Criptológico Nacional 20
SIN CLASIFICAR
CCN-STIC-954 Guía Avanzada de Nmap
Entrada:
nmap -sn 191.168.1.70, www.google.com
Salida:
Flujo Mensajes:
FIGURA 10. TÉCNICA BÁSICA DE DESCUBRIMIENTO PING SCAN (-SN) EN EQUIPOS SIN
PRIVILEGIOS
69. En las figuras anteriores se puede comprobar la diferencia entre ejecutar el mismo
comando en un equipo sobre el que se tienen privilegios de administración y en otro
sobre el que no se tienen permisos. En el segundo caso, se utilizan únicamente
llamadas al sistema, por lo que siempre se realizan conexiones completas, a
diferencia de en el equipo donde si se tienen privilegios.
Entrada:
nmap -sn -PR -v 172.16.28.70
Salida:
Starting Nmap 6.01 ( http://nmap.org ) at 2012-06-02 17:50 CEST
Nmap scan report for 172.16.28.70
Host is up (0.00017s latency).
MAC Address: AA:BB:CC:DD:EE:FF (Digital Equipment)
Nmap done: 1 IP address (1 host up) scanned in 0.07 seconds
Flujo Mensajes:
79. En la Figura 12 se puede observar cómo esta técnica envía un TCP SYN al puerto
80 del objetivo como si tratara de establecer una conexión. En este caso el objetivo
responde afirmativamente al establecimiento, desvelando con ello su presencia.
Entrada:
nmap -sn -PS www.ejemplo.es
Salida:
Starting Nmap 6.01 ( http://nmap.org ) at 2012-06-02 17:56 CEST
Nmap scan report for www.ejemplo.es (172.16.100.20)
Host is up (0.0025s latency).
rDNS record for 172.16.100.20: pc100-20.ejemplo.es
Nmap done: 1 IP address (1 host up) scanned in 0.07 seconds
Flujo Mensajes:
Entrada:
nmap -sn -PS21,80,443 www.ejemplo.es
Salida:
Starting Nmap 6.01 ( http://nmap.org ) at 2012-06-02 18:00 CEST
Nmap scan report for www.ejemplo.es (172.16.100.20)
Host is up (0.0021s latency).
rDNS record for 172.16.100.20: pc100-20.ejemplo.es
Nmap done: 1 IP address (1 host up) scanned in 0.06 seconds
Flujo Mensajes:
FIGURA 13. TÉCNICA AVANZADA DE DESCUBRIMIENTO PING TCP SYN (-PS) SOBRE VARIOS
PUERTOS
Entrada:
nmap -sn -PA scanme.nmap.org
Salida:
Flujo Mensajes:
Entrada:
nmap -PU -sn 172.16.28.195
Salida:
Flujo Mensajes:
Entrada:
nmap -sn -PE -PP -PM www.google.es
Salida:
Flujo Mensajes:
FIGURA 16. Técnica avanzada de descubrimiento Pings ICMP (-PE, -PP, -PM)
13
http://en.wikipedia.org/wiki/Stream_Control_Transmission_Protocol
Centro Criptológico Nacional 28
SIN CLASIFICAR
CCN-STIC-954 Guía Avanzada de Nmap
Entrada:
nmap -sn -PY -v 172.16.28.195
Salida:
Starting Nmap 6.01 ( http://nmap.org ) at 2012-07-12 09:35 CEST
Initiating Ping Scan at 09:35
Scanning 172.16.28.195 [1 port]
Completed Ping Scan at 09:35, 0.03s elapsed (1 total hosts)
Initiating Parallel DNS resolution of 1 host. at 09:35
Completed Parallel DNS resolution of 1 host. at 09:35, 0.00s elapsed
Nmap scan report for 172.16.28.195
Host is up (0.00062s latency).
Read data files from: /usr/local/bin/../share/nmap
Nmap done: 1 IP address (1 host up) scanned in 0.07 seconds
Raw packets sent: 1 (52B) | Rcvd: 1 (80B)
Flujo Mensajes:
Entrada:
nmap -sn -PO www.google.es
Salida:
Flujo Mensajes:
Entrada:
nmap -Pn -sS -p 21,80,8080-8082 -v 172.16.28.214
Salida:
Starting Nmap 6.01 ( http://nmap.org ) at 2012-06-02 18:42 CEST
Initiating Parallel DNS resolution of 1 host. at 18:42
Completed Parallel DNS resolution of 1 host. at 18:42, 0.00s elapsed
Initiating SYN Stealth Scan at 18:42
Scanning 172.16.28.214 [5 ports]
Discovered open port 80/tcp on 172.16.28.214
Completed SYN Stealth Scan at 18:42, 1.23s elapsed (5 total ports)
Nmap scan report for 172.16.28.214
Host is up (0.00056s latency).
PORT STATE SERVICE
21/tcp filtered ftp
80/tcp open http
8080/tcp closed http-proxy
8081/tcp closed blackice-icecap
8082/tcp closed blackice-alerts
Flujo Mensajes:
Entrada:
sudo nmap -Pn -sT -p 21,80,8080-8082 -v 172.16.28.214
Salida:
Flujo Mensajes:
Entrada:
nmap -Pn -sU -p 66-70 -v 172.16.28.214
Salida:
Starting Nmap 6.01 ( http://nmap.org ) at 2012-06-02 18:48 CEST
Initiating Parallel DNS resolution of 1 host. at 18:48
Completed Parallel DNS resolution of 1 host. at 18:48, 0.00s elapsed
Initiating UDP Scan at 18:48
Scanning 172.16.28.214 [5 ports]
Completed UDP Scan at 18:48, 1.23s elapsed (5 total ports)
Nmap scan report for 172.16.28.214
Host is up (0.00055s latency).
PORT STATE SERVICE
66/udp closed sqlnet
67/udp closed dhcps
68/udp open|filtered dhcpc
69/udp open|filtered tftp
70/udp open|filtered gopher
Flujo Mensajes:
111. Básicamente esta técnica permite escanear un objetivo sin enviarle un solo paquete
utilizando la propia dirección IP origen, por lo que se considera la técnica más
avanzada y sigilosa de todas las presentes en Nmap. Para ello es necesario utilizar
un tercer equipo, denominado zombie, cuya IP tomaremos para que aparezca como
fuente de las sondas desde el punto de vista de la máquina objetivo.
112. En este caso, se pueden obtener dos estados de puertos distintos: abierto (si se
detecta a través del zombie que ha existido respuesta), o cerrado/filtrado (si no se
detecta respuesta a través del zombie, bien porque el objetivo no responde al
zombie, o bien porque el objetivo responde con un paquete RST, que es ignorado
por el zombie).
113. El uso de esta técnica es altamente controvertido, desde el momento en que ésta
usa sin autorización los recursos de una máquina (zombie), que además se
registraría falsamente por herramientas IDS/IPS como el origen de un proceso de
escaneo de puertos. Para su correcto funcionamiento es necesario que la máquina
zombie sea alcanzable y su implementación TCP/IP genere una secuencia de
identificadores IP predecible. Debido a que esta técnica escanea un objetivo desde
el punto de vista de una tercera máquina, es posible determinar de este modo las
relaciones de confianza entre distintas máquinas. Para ello es posible indicar una
lista de equipos zombie que pudieran ser de confianza del objetivo.
114. Para tratar de encontrar un zombie que cumpla con los requisitos, se puede
escanear una subred utilizando los parámetros siguientes:
115. Esta comando envía los mismos paquetes (TCP con SYN+ACK) que usa Idle Scan
al inicio del proceso. Cualquier objetivo válido debería responder con un paquete
RST y por tanto deberá aparecer el puerto 80 como no filtrado.
116. El flujo de mensajes de la Figura 21 se presenta la traza de mensajes observable
desde el origen (172.16.28.65). Inicialmente el origen recoge información del IPID
de la máquina zombie (172.16.28.124). Inmediatamente después inicia la fase de
descubrimiento del objetivo, enviando paquetes al zombie con la dirección origen
falsificada (la del objetivo: 172.16.28.51). Seguidamente con una sonda al zombie
determina si el objetivo es o no alcanzable (analiza el IPID). Ahora comprueba
nuevamente el IPID del zombie e inicia el escaneo del puerto TCP445 del objetivo
enviando un paquete SYN con la dirección origen falsificada. Finalmente busca si
se ha incrementado el IPID para determinar el estado del puerto 445, en este caso
abierto.
Entrada:
nmap -Pn -p 445 -v -sI 172.16.28.124 172.16.28.51
Salida:
Flujo Mensajes:
FIGURA 21. Técnica avanzada de escaneo Idle Scan (-sI: origen y objetivo)
117. El siguiente flujo de mensajes (Figura 22) muestra la traza de mensajes observable
desde el objetivo (172.16.28.51). Como se puede ver, todos los mensajes que
recibe el objetivo aparentemente vienen de la máquina zombie (172.16.28.124).
Para el objetivo es como si el zombie tratara de establecer una conexión por dos
veces al puerto TCP445. A la vista de esta traza es imposible averiguar que es otra
máquina la que está causando este flujo de mensajes.
FIGURA 22. Técnica avanzada de escaneo Idle Scan (-sI): zombie y objetivo
Entrada:
nmap -Pn -sA -p 443-445,3389 -v 172.16.28.51
Salida:
Flujo Mensajes:
14
RFC 793, página 65: “Si el estado del puerto destino es CERRADO […] un segmento entrante
que no contenga un RST causará el envío de un RST como respuesta.” La siguiente página trata el
caso del envío de paquetes a puertos ABIERTOS sin alguno de los bits SYN, RST o ACK
activados, estableciendo que: “[…] no es probable que se reciba uno, pero si es el caso, se debe
desechar el segmento y volver.”
Centro Criptológico Nacional 39
SIN CLASIFICAR
CCN-STIC-954 Guía Avanzada de Nmap
122. La técnica Null Scan (-sN) envía una sonda sin ningún flag activado, la técnica
FIN Scan (-sF) activa únicamente el flag FIN y, finalmente, la Xmas Scan (-sX)
activa los flags FIN, PSH y URG. Estas técnicas son eficaces traspasando algunas
herramientas cortafuegos sin estado y encaminadores con filtro de paquetes. Estas
cuatro técnicas utilizan conjuntos de flags determinados, aunque cualquier
combinación de flags TCP es posible si se utiliza el modificador --scanflags.
123. Según las respuestas obtenidas, Nmap clasifica los puertos en: abiertos/filtrados (si
no se recibe ninguna respuesta), cerrados (si se recibe un paquete RST) o filtrados
(si se recibe algún tipo de error ICMP inalcanzable).
124. Además, son ligeramente más sigilosas que la técnica básica SYN Scan, aunque
actualmente la mayor parte de las herramientas IDS/IPS sea posible configurarlas
para detectar estos tipos de escaneo. Sin embargo, los resultados no serán fiables
en sistemas Windows, Cisco, BSDI y OS/400, debido a que no siguen al pie de la
letra el RFC 793 y envían paquetes RST esté el puerto abierto o no. Los resultados
en sistemas Unix si que suelen ser fiables y correctos.
125. Los resultados obtenidos para las cuatro técnicas son prácticamente idénticos. A
modo de ejemplo sólo se representa una de ellas, -sX.
126. En la Figura 24 se puede observar cómo el origen envía 5 paquetes TCP con los
flags FIN, PSH y URG activados a los 5 puertos indicados del objetivo (del 21 al
25). De todos menos uno recibe un RST, por lo que Nmap sabe que están cerrados.
En cambio del puerto 22 no recibe respuesta alguna, por lo que o está filtrado o
abierto.
Entrada:
nmap -sX -p 21-25 -v 172.16.28.82
Salida:
Starting Nmap 6.01 ( http://nmap.org ) at 2012-07-12 10:27 CEST
Initiating ARP Ping Scan at 10:27
Scanning 172.16.28.82 [1 port]
Completed ARP Ping Scan at 10:27, 0.03s elapsed (1 total hosts)
Initiating Parallel DNS resolution of 1 host. at 10:27
Completed Parallel DNS resolution of 1 host. at 10:27, 0.00s elapsed
Initiating XMAS Scan at 10:27
Scanning 172.16.28.82 [5 ports]
Completed XMAS Scan at 10:27, 1.23s elapsed (5 total ports)
Nmap scan report for 172.16.28.82
Host is up (0.00018s latency).
PORT STATE SERVICE
21/tcp closed ftp
22/tcp open|filtered ssh
23/tcp closed telnet
24/tcp closed priv-mail
25/tcp closed smtp
MAC Address: AA:BB:CC:DD:EE:FF (Hewlett-Packard Company)
Flujo Mensajes:
FIGURA 24. Técnica avanzada de escaneo TCP Null, FIN y Xmas scans (-sN,-sF,-sX,-sM)
132. Los resultados obtenidos con esta técnica no son siempre fiables, ya que dependen
de detalles muy particulares no implementados en la totalidad de los sistemas
existentes. Así, si todos los puertos aparecen como cerrados, muy probablemente
el sistema no tendrá este comportamiento. Si obtenemos la mayoría de puertos
cerrados, y unos pocos abiertos, es probable que el objetivo tenga este
comportamiento y los resultados sean fiables. En algunos casos también se ha
comprobado el efecto contrario, detectando Nmap la mayoría de puertos abiertos y
unos pocos cerrados. En este caso, esos puertos que se detectan como cerrados son
los que realmente están abiertos.
133. Dada la relativa fiabilidad de esta técnica se ha decidido no incluir ningún ejemplo
en esta guía.
Entrada:
nmap -Pn -sY -p21-25 -v 172.16.28.82
Salida:
Flujo Mensajes:
Entrada:
nmap -Pn -v -sO -p1,2,6,17,41 172.16.28.51
Salida:
Starting Nmap 6.01 ( http://nmap.org ) at 2012-07-12 11:02 CEST
Initiating ARP Ping Scan at 11:02
Scanning 172.16.28.51 [1 port]
Completed ARP Ping Scan at 11:02, 0.03s elapsed (1 total hosts)
Initiating Parallel DNS resolution of 1 host. at 11:02
Completed Parallel DNS resolution of 1 host. at 11:02, 0.00s elapsed
Initiating IPProto Scan at 11:02
Scanning 172.16.28.51 [5 ports]
Discovered open port 6/ip on 172.16.28.51
Discovered open port 1/ip on 172.16.28.51
Discovered open port 17/ip on 172.16.28.51
Completed IPProto Scan at 11:02, 1.23s elapsed (5 total ports)
Nmap scan report for 172.16.28.51
Host is up (0.00078s latency).
PROTOCOL STATE SERVICE
1 open icmp
2 open|filtered igmp
6 open tcp
17 open udp
41 open|filtered ipv6
MAC Address: AA:BB:CC:DD:EE:FF (Cadmus Computer Systems)
Flujo Mensajes:
modificadores determinan el tiempo que Nmap debe esperar hasta que la sonda se
descarte. Elegir el valor correcto puede acelerar el escaneo, por ejemplo, en
situaciones en las que hay cortafuegos presentes o cuando estamos ante una red
especialmente rápida y poco congestionada.
163. --max-retries <valor>: Especifica el número máximo de veces que Nmap debe
retransmitir una sonda antes de descartarla definitivamente. Si no se recibe
respuesta, puede ser que la sonda se haya filtrado en un cortafuegos, que un
objetivo tenga el ratio de respuesta limitada, o que simplemente se haya perdido
por la red. Este valor determina en gran medida la eficiencia y eficacia del
escaneo. Un valor cercano a 0 hará que el escaneo sea muy rápido, a costa de
perder precisión. Un valor alto lo ralentizaría, pero obtendríamos unos valores
precisos. Se deberá fijar el valor en función de la fiabilidad de la red.
164. --host-timeout <msec>: En algunas ocasiones Nmap necesita mucho tiempo para
hacer un análisis completo a un equipo, ya sea por cortafuegos muy restrictivos,
hardware o software pobre, limitación de envío de paquetes, o red saturada.
Debido a esto, un análisis global estaría retrasándose demasiado por un único
equipo. Se podría entonces especificar con este modificador que descarte el
escaneo del equipo si se sobrepasa un límite de tiempo concreto.
165. --scan-delay <msec>, --max-scan-delay <msec>: Controlan el tiempo de espera
entre cada sonda enviada a un mismo objetivo. Útil para tratar de evadir sistemas
IDS o IPS.
166. --min-rate <paquetes/segundo>, --max-rate <paquetes/segundo>: Tasa mínima y
máxima de paquetes por segundo que Nmap envía. Por defecto no se establecen
tasas mínimas ni máximas.
167. --defeat-rst-ratelimit: Además de la limitación de errores ICMP expuesta en
secciones anteriores, algunos sistemas comienzan a aplicar limitaciones similares
al número de paquetes RST que envían. Por defecto Nmap intenta adaptarse a
estas limitaciones para lograr unos resultados tan fiables como sea posible. Este
parámetro instruye a Nmap para que no tenga en cuenta esta limitación. En
algunos tipos de análisis puede ser útil (por ejemplo utilizando la técnica SYN
Scan, si únicamente nos importan los puertos abiertos y no nos importa no
distinguir entre puertos filtrados o cerrados), pero generalmente reduce la
fiabilidad del análisis. Se encuentra deshabilitado por defecto.
T0 T1 T2 T3 T4 T5
Nombre paranoid sneaky polite normal aggresive insane
min-rtt-timeout 100 100 100 100 100 50
max-rtt-timeout 300,000 15,000 10,000 10,000 1,250 300
initial-rtt-timeout 300,000 15,000 1,000 1,000 500 250
max-retries 10 10 10 10 6 2
host-timeout 0 0 0 0 0 900,000
min-parallelism Dinámico
max-parallelism 1 1 1 Dinámico
min-hostgroup Dinámico
max-hostgroup Dinámico
169. Por defecto, y si no se indica lo contrario, se utiliza la plantilla normal, por lo que
introducir el parámetro -T3 no tiene ningún efecto sobre el análisis.
170. En redes de banda ancha o redes locales, se recomienda utilizar -T4, siendo -T5
solo recomendable en redes extremadamente rápidas y poco congestionadas. Por
otra parte, las plantillas -T0 y -T1 pueden ser útiles para evitar alertas en sistemas
IDS, a costa de aumentar extraordinariamente el tiempo de análisis.
15
Se puede encontrar un listado de proveedores de túneles IPv6 en:
http://en.wikipedia.org/wiki/List_of_IPv6_tunnel_brokers
Centro Criptológico Nacional 49
SIN CLASIFICAR
CCN-STIC-954 Guía Avanzada de Nmap
195. Finalmente, cualquier otra tecla pulsada imprime un mensaje de estado indicando
el porcentaje de análisis que se ha realizado y el tiempo estimado para finalizar el
análisis. Un ejemplo de mensaje podría ser el siguiente:
Stats: 0:00:07 elapsed; 20 hosts completed (1 up), 1 undergoing Service Scan
Service scan Timing: About 33.33% done; ETC: 20:57 (0:00:12 remaining)
4. PROCEDIMIENTOS
196. Una vez se han asentado las bases teóricas necesarias y se han puesto a prueba las
opciones principales, este capítulo las combina con la finalidad de ayudar a
administradores de red y sistemas a la realización de múltiples tareas, todo desde
un punto de vista práctico. Estas tareas se han agrupado en una serie de
Procedimientos, cada uno de los cuales representa un marco de trabajo común.
197. Estos procedimientos se han estructurado de forma que se presenta, en primer
lugar, los tipos de análisis cubiertos por el procedimiento (descubrimiento de
equipos, escaneo de puertos, detección de servicios, etc.).
198. Seguidamente, se describe el procedimiento, dando ejemplos prácticos en forma de
situaciones en las que un análisis como los expresados en el procedimiento podría
ser válido, y se muestran una serie de objetivos de ejemplo sobre los que se
lanzarán análisis.
199. Finalmente, se muestran las líneas de configuración de Nmap necesarias para
llevar a cabo los análisis según se ha indicado anteriormente, así como resultados
de varias ejecuciones de dichas líneas de configuración contra los objetivos de
ejemplo que se han propuesto.
Objetivos analizados
Para este procedimiento se han elegido varios conjuntos de objetivos, teniendo en
cuenta distintos criterios como su proximidad al equipo desde que se ejecuta el
análisis, la cantidad de equipos levantados, y las características de las redes en que
se sitúan.
Las distintas ejecuciones de Nmap se han lanzado desde un equipo cliente
conectado a una red dependiente de RedIRIS, por lo que los análisis a redes
institucionales y educacionales, también conectadas con RedIRIS, serán más
rápidas.
Así, los objetivos marcados para este procedimiento son los siguientes:
! www.empresa.es/24: máquinas pertenecientes a una red de una empresa
española.
! www.universidad.es/24: conjunto de máquinas pertenecientes una
universidad española.
! 192.168.1.0/24: subred local a la máquina que realiza el análisis.
! www.organiza.org/24: subred de máquinas establecidas fuera del territorio
español (en concreto en Estados Unidos).
! www.entidad.com/24: máquinas pertenecientes a una entidad extranjera
situada en un país lejano con muchos elementos intermedios. Para el
ejemplo se ha utilizado una entidad japonesa.
204. Para determinar el estado de las máquinas se han utilizado varias técnicas ya que,
como se indicó en la definición de cada una de las técnicas, los resultados pueden
diferir, dependiendo de los servicios que estén disponibles en dichas máquinas o la
configuración que se haya hecho de los cortafuegos.
4.1.3. RESULTADOS
205. A continuación se muestran dos salidas reducidas de Nmap para las dos partes de
este Procedimiento. Para la parte de obtención de nombres de máquina de los
objetivos, realizada con la técnica List Scan, se han suprimido la mayoría de
resultados que no obtuvieron respuesta al hacer la resolución inversa DNS.
206. Para la fase de determinación del estado de las máquinas, realizada con las
técnicas Ping Sweep, Ping TCP ACK y Ping ICMP Echo, se han suprimido
algunas de las entradas, a pesar de tratarse de máquinas alcanzables, a fin de
reducir el tamaño de la salida mostrada.
207. La siguiente tabla (Tabla 1) recoge una comparativa cuantitativa de los resultados
anteriores hechos sobre cada uno de los objetivos definidos anteriormente. Para
obtener un resultado estable, se ha lanzado cada análisis 5 veces, mostrándose en
la tabla el tiempo medio de ejecución del análisis. De este modo es posible
relativizar el análisis y extraer conclusiones sobre el impacto en el rendimiento de
la técnica según las opciones elegidas. La interpretación de estos resultados se
realiza en el siguiente capítulo.
RTT List Ping TCP Ping TCP Ping ICMP
COMPARATIVA Ping Sweep
Saltos16 Medio17 Scan ACK SYN Echo
Descubrimiento -sn
-sL -sn -PA -sn -PS -sn -PE
30 ms 0 maq en 50 maq en 22 maq en
www.empresa.es/24 14 0,22s 57 en 3.17s
52,15s 3,28s 1,86s
10.6 ms 32 máq. en 0 máq. en 35 maq en 0 máq. en
www.universidad.es/24 12 0,09s
38,25s 52,11s 0,95s 52,11s
<0.5 ms 40 máq. en 19 maq en 34 maq. 37 maq en
192.168.1.0/24 0 2,52s
3,41s 27,35s en 9,44s 1,85s
186.4 ms 220 máq. 0 máq. en 203 maq 210 máq.
www.organiza.org/24 17 2,41s
en 5,21s 52,18s en 4,5s en 4,68s
306 ms 14 en 0 maq. en 10 maq en 9 maq en
www.entidad.com/24 25 2,45s
36,33s 52.11s 6,5s 27,11s
Objetivos analizados
Se han elegido varios conjuntos de objetivos para proporcionar suficientes casos
representativos a este Procedimiento. Los objetivos son los siguientes:
! localhost: máquina con sistema operativo Linux con kernel v2.6.32 desde
donde se realizan los análisis de este procedimiento.
! dejavu: máquina Windows XP SP2 perteneciente a la red local
(FastEthernet) del origen.
! www.empresa.es/24: máquinas pertenecientes a una red de una empresa
española.
! www.organiza.org/24: subred de máquinas establecidas fuera del territorio
español (en concreto en Estados Unidos).
214. Los casos a continuación propuestos están específicamente elegidos para cubrir las
aplicaciones para administradores expuestas en la anterior sección. Dado que éste
es un procedimiento administrativo básico, se ha elegido la técnica de escaneo de
puertos por defecto de Nmap, TCP SYN Scan (ver 3.2.1), debido a su sencillez y a
que arroja resultados muy fiables. Por este mismo motivo, se han restringido los
casos al escaneo de rangos de puertos TCP, excluyéndose los UDP. Existen otras
técnicas más avanzadas que serán tratadas en secciones posteriores.
215. A continuación se incluyen los comandos de ejecución así como algunas capturas
de pantalla de la interfaz de usuario.
! CASO 5: identificación de servidores en una red. Este caso ilustra como poder
conocer la presencia de servidores comunes en una red, entendiendo por comunes
aquellos que tienen FTP, SSH, TELNET, SMTP, HTTP y HTTPS, que en general
se corresponden respectivamente con los puertos TCP [21, 22, 23, 25, 80, 443].
Para mejorar la eficiencia del proceso, y si no se indica de forma explícita, Nmap
ejecuta una fase de descubrimiento por defecto con la técnica Ping Scan (ver
3.1.3), que incluye las siguientes pruebas -PA80 -PS443 -PE -PP. Se incluye
también una prueba que no realiza la fase previa de descubrimiento, para mostrar
las diferencias temporales existentes.
4.2.3. RESULTADOS
Starting Nmap 6.01 ( http://nmap.org ) at 2012-06-04 12:53 CEST
Initiating SYN Stealth Scan at 12:53
Scanning localhost (127.0.0.1) [65535 ports]
Discovered open port 80/tcp on 127.0.0.1
Discovered open port 22/tcp on 127.0.0.1
Discovered open port 3306/tcp on 127.0.0.1
Discovered open port 631/tcp on 127.0.0.1
Completed SYN Stealth Scan at 12:53, 1.45s elapsed (65535 total ports)
Nmap scan report for localhost (127.0.0.1)
Host is up (0.0000090s latency).
Other addresses for localhost (not scanned): 127.0.0.1
Not shown: 65531 closed ports
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
631/tcp open ipp
3306/tcp open mysql
[ ... ]
216. La Tabla 2 recoge una comparativa cuantitativa de los resultados de los casos
anteriores. Cabe destacar las diferencias muy notables en el tiempo de ejecución de
las pruebas. Del mismo modo es muy destacable la valiosa información que puede
dar el caso 5 en realmente pocos segundos. La interpretación de estos resultados se
realiza en el siguiente capítulo (ver 5.9.2).
18
Esta parte del análisis se ha realizado desde un equipo que tenía filtrado el puerto 25 en la salida a Internet,
por ello se detectan todos los servidores SMTP como filtrados.
Centro Criptológico Nacional 64
SIN CLASIFICAR
CCN-STIC-954 Guía Avanzada de Nmap
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
631/tcp open ipp
3306/tcp open mysql
220. Sin embargo el campo “Servicio” es en este caso una mera suposición, obtenida de
un fichero de Nmap que almacena correspondencias estándar entre puerto y
servicio, o servicios conocidos (del inglés well-known services). Es el fichero
nmap-services, que se encuentra en la carpeta de Nmap. La misma información
también se puede obtener en plataformas UNIX en el fichero /etc/services. Aunque
esta información es en la mayoría de las ocasiones fiable, es totalmente posible
tener un servidor HTTP o SMTP en puertos distintos del 80/tcp o 25/tcp
respectivamente. Esta circunstancia revela un campo de estudio del análisis de
vulnerabilidades.
221. Nmap permite realizar pruebas adicionales en cada uno de los puertos detectados
para asegurarse del tipo de servicios, e incluso versiones de los mismos, que
existen tras dichos puertos. Esta información puede ser útil para un administrador
para, por poner un ejemplo, saber si existen vulnerabilidades conocidas en alguno
de los servicios disponible.
222. Igualmente podría ser de su interés hacer un inventario de plataformas instaladas
en los equipos de la red mediante la opción de detección de sistema operativo. Con
ella se podrá distinguir por ejemplo sistemas Windows de UNIX e incluso
sistemas operativos embebidos, como los incorporados en dispositivos de
interconexión de redes.
Objetivos analizados
Se han elegido varios conjuntos de objetivos para proporcionar suficientes casos
representativos a este Procedimiento. Los objetivos son los siguientes:
! dejavu: máquina Windows XP SP2 perteneciente a la red local
(FastEthernet) del origen.
! router: Conmutador/encaminador FastEthernet-ADSL doméstico.
! www.organiza.org/24: subred de máquinas establecidas fuera del territorio
español (en concreto en Estados Unidos).
! www.empresa.es/24: máquinas pertenecientes a una red de una empresa
española.
! 172.16.28.0/24: subred local a la máquina que realiza el análisis.
4.3.3. RESULTADOS
Starting Nmap 6.01 ( http://nmap.org ) at 2012-07-13 12:40 CEST
NSE: Loaded 17 scripts for scanning.
Initiating Parallel DNS resolution of 1 host. at 12:40
Completed Parallel DNS resolution of 1 host. at 12:40, 0.00s elapsed
Initiating SYN Stealth Scan at 12:40
Scanning 172.16.28.65 [100 ports]
Discovered open port 23/tcp on 172.16.28.65
Discovered open port 80/tcp on 172.16.28.65
Completed SYN Stealth Scan at 12:40, 0.03s elapsed (100 total ports)
Initiating Service scan at 12:40
Scanning 2 services on 172.16.28.65
Completed Service scan at 12:40, 6.18s elapsed (2 services on 1 host)
NSE: Script scanning 172.16.28.65.
Nmap scan report for 172.16.28.65
Host is up (0.000011s latency).
Not shown: 98 closed ports
PORT STATE SERVICE VERSION
23/tcp open ssh OpenSSH 5.3p1 Debian 3ubuntu7 (protocol 2.0)
80/tcp open http Apache httpd 2.2.14 ((Ubuntu))
Service Info: OS: Linux; CPE: cpe:/o:linux:kernel
[ ... ]
[ ... ]
[ ... ]
[ ... ]
[ ... ]
[ ... ]
[ ... ]
[ ... ]
[ ... ]
[ ... ]
Completed SYN Stealth Scan at 14:23, 2.27s elapsed (900 total ports)
Initiating Service scan at 14:23
Scanning 25 services on 9 hosts
Completed Service scan at 14:24, 73.56s elapsed (25 services on 9 hosts)
Initiating OS detection (try #1) against 9 hosts
NSE: Script scanning 9 hosts.
Nmap scan report for 172.16.28.1
Host is up (0.00020s latency).
Not shown: 97 filtered ports
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 5.1p1 (FreeBSD 20080901; protocol 2.0)
53/tcp open domain dnsmasq 2.45
443/tcp open ssl/http lighttpd 1.4.23
MAC Address: AA:BB:CC:DD:EE:FF (USC Information Sciences Inst)
Warning: OSScan results may be unreliable because we could not find at least 1 open
and 1 closed port
Device type: specialized
Running: Comau embedded
[ ... ]
[ ... ]
Completed SYN Stealth Scan at 14:24, 2.04s elapsed (1100 total ports)
Initiating Service scan at 14:24
Scanning 30 services on 11 hosts
Stats: 0:01:50 elapsed; 117 hosts completed (21 up), 11 undergoing Service Scan
Service scan Timing: About 96.97% done; ETC: 14:24 (0:00:01 remaining)
Completed Service scan at 14:24, 18.32s elapsed (33 services on 11 hosts)
Initiating RPCGrind Scan against 172.16.28.71 at 14:24
Completed RPCGrind Scan against 172.16.28.71 at 14:24, 0.00s elapsed (1 port)
Initiating OS detection (try #1) against 11 hosts
Retrying OS detection (try #2) against 3 hosts
NSE: Script scanning 11 hosts.
Nmap scan report for 172.16.28.66
Host is up (0.00014s latency).
All 100 scanned ports on 172.16.28.66 are filtered
MAC Address: AA:BB:CC:DD:EE:FF (Hewlett-Packard Company)
Too many fingerprints match this host to give specific OS details
Network Distance: 1 hop
227. En la Tabla 3 se recoge una comparativa cuantitativa de los resultados de los casos
anteriores. Las técnicas y modificadores utilizados en este Procedimiento afectan
CASO
Dirs/puertos Paquetes
Información de versión y sistema operativo puertos/s
analizados env./rec./seg.19
3389/tcp ms-wbt-server Microsoft Terminal 200/2
1 1/100 12,33
Service /8,11s
22/tcp ssh
OpenSSH 5.5: 1
Dropbear: 1
25/tcp smtp Postfix smtpd: 1
30 de 256/ 1100/88
2.1 80/tcp http 3,03
30x3 = 90 /29,7s
Apache httpd: 10
Apache httpd 2.2.x: 2
Apache Tomcat: 1
Vmware ESXi Server httpd: 1
22/tcp ssh
OpenSSH
· 4.x: 22
· 5.x: 122
· 6.x: 1
206 de 256/ 80/tcp http
2.2 nginx: 47 1.607/754 /80,36s 7,69
206x3 = 618
Apache httpd: 14
Apache http 2.2.x CentOS: 12
Apache http 2.2.x Debian: 17
Apache http 2.2.x Ubuntu: 62
otros: 9
53/udp domain 5/4/12,23s
3 1/3(UDP) 0,245
ISC BIND (Fake version: Nominum Vantio 5.3.0.0)
3 Impresoras HP.
1 Switch HP.
21 de 128/ 3396/1922
4 5 Equipos Linux >= 2.6.32. 17,97
21x100 = 2100 /116,84s
6 Equipos Windows
3 Equipo FreeBSD
Tabla 3. Comparativa resultados Procedimiento 3
19
Esta contabilización no tiene en cuenta los paquetes enviados por la detección de versiones.
Centro Criptológico Nacional 76
SIN CLASIFICAR
CCN-STIC-954 Guía Avanzada de Nmap
hacer fracasar sus controles, adoptando el rol de un atacante que utilice las
funcionalidades descritas en este Procedimiento.
231. De forma adicional al establecimiento de restricciones a la actividad en una red, se
ha ido paulatinamente extendiendo el uso de técnicas de monitorización de tráfico,
mediante sistemas de detección de intrusiones. La mayor parte de los sistemas IDS
incorporan reglas para la detección de análisis con Nmap, porque son en ocasiones
una actividad precursora de un ataque. Muchas de estas herramientas han
evolucionado en Sistemas de Prevención de Intrusiones (IPS), debido a que son
capaces de bloquear activamente aquel tráfico que se considere malicioso.
Desafortunadamente para administradores de redes y suministradores de estas
herramientas, la detección fiable de actividades peligrosas mediante el análisis de
tráfico de red es un problema muy complejo. Atacantes con la suficiente paciencia,
habilidad y ayuda de ciertas funcionalidades de Nmap podrían ser capaces de
traspasar herramientas IDS/IPS sin ser detectados. Mientras tanto, los
administradores que utilicen estas herramientas deberán afrontar el coste de
analizar un elevado número de falsos positivos provocados por actividades
normales que hayan sido mal diagnosticadas.
232. A la vista de este tipo de funcionalidades implementadas en Nmap, la gente podría
pensar que no es adecuado ofrecer mecanismos dirigidos a la evasión de
cortafuegos y herramientas IDS/IPS. Se podría argumentar que son útiles tanto a
administradores ocupados en aumentar la seguridad como a atacantes.
Independientemente de la existencia de estas opciones en Nmap, los atacantes
podrían elaborar fácilmente sus propios métodos para el mismo fin, mientras que
los administradores tendrían que hacer su trabajo de una manera mucho más dura.
Objetivos analizados
Se han elegido varios conjuntos de objetivos para proporcionar suficientes casos
representativos a este Procedimiento. Los objetivos son los siguientes:
! dejavu: máquina Windows XP SP3 perteneciente a la red local
(FastEthernet) del origen.
! Impresora: Impresora de red que se utilizará como equipo Zombie desde el
que lanzar el análisis de tipo Idle.
! www.empresa.es/24: máquinas pertenecientes a una red de una empresa
española.
4.4.3. RESULTADOS
Starting Nmap 6.01 ( http://nmap.org ) at 2012-07-10 18:06 CEST
Initiating Parallel DNS resolution of 4 hosts. at 18:06
Completed Parallel DNS resolution of 4 hosts. at 18:06, 0.00s elapsed
Initiating SYN Stealth Scan at 18:06
Scanning 4 hosts [2 ports/host]
SYN Stealth Scan Timing: About 12.50% done; ETC: 18:10 (0:03:37 remaining)
SYN Stealth Scan Timing: About 25.00% done; ETC: 18:10 (0:03:03 remaining)
SYN Stealth Scan Timing: About 37.50% done; ETC: 18:10 (0:02:32 remaining)
SYN Stealth Scan Timing: About 50.00% done; ETC: 18:10 (0:02:01 remaining)
SYN Stealth Scan Timing: About 62.50% done; ETC: 18:10 (0:01:31 remaining)
SYN Stealth Scan Timing: About 75.00% done; ETC: 18:10 (0:01:00 remaining)
SYN Stealth Scan Timing: About 87.50% done; ETC: 18:10 (0:00:30 remaining)
Completed SYN Stealth Scan at 18:10, 255.06s elapsed (8 total ports)
Nmap scan report for pc100-20.empresa.es (169.254.100.20)
Host is up.
PORT STATE SERVICE
22/tcp filtered ssh
80/tcp filtered http
238. La Tabla 4 recoge una comparativa cuantitativa de los resultados de los casos
anteriores. Cabe destacar el tiempo invertido en el Caso1, requerido en general si
se desea pasar inadvertido a través de muchas herramientas de detección y
prevención de intrusiones (IDS/IPS).
Direcciones Puertos Estado puertos Paquetes Paquetes Tiempo
COMP.
Analizadas Analizados Abiertos/Cerrados/Filtrados enviados recibidos empleado
CASO1 4 8 0/0/8 16 0 255,18s
CASO2 1 7 1/0/6 66 2 1,42s
CASO3 1 100 1/0/99 274 41 2,32s
Tabla 4. Comparativa resultados Procedimiento 4.
Objetivos analizados
Se han elegido dos conjuntos de objetivos para proporcionar suficientes casos
representativos a este Procedimiento. Los objetivos son los siguientes:
! 1.2.3.0/24: subred remota con rango de 254 posibles ips
! 172.16.152.0/24: subred local con espacio para 254 equipos
245. Es posible que la prueba anterior no haya dado ningún resultado, bien porque haya
un cortafuegos que haya filtrado el tráfico ICMP o porque la máquina tenga
deshabilitada la respuesta a la petición “ICMP echo request”. En este caso se
puede comprobar el retardo utilizando la herramienta hping3. Para ello será
necesario conocer un equipo con un servicio disponible, y realizar un “ping” a ese
servicio. En el caso del ejemplo siguiente, se comprueba el retardo en el puerto 80.
# hping3 -S -p 80 8.9.10.11
HPING 8.9.10.11 (eth0 8.9.10.11): S set, 40 headers + 0 data bytes
len=46 ip=8.9.10.11 ttl=235 sport=80 flags=SA seq=0 win=1608 rtt=310.6 ms
len=46 ip=8.9.10.11 ttl=236 sport=80 flags=SA seq=1 win=1608 rtt=305.2 ms
len=46 ip=8.9.10.11 ttl=236 sport=80 flags=SA seq=2 win=1608 rtt=299.0 ms
len=46 ip=8.9.10.11 ttl=236 sport=80 flags=SA seq=3 win=1608 rtt=320.9 ms
^C
--- 8.9.10.11 hping statistic ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max = 299.0/308.9/320.9 ms
[…]
# Nmap done at Tue Nov 29 14:45:36 2011 256
IP addresses (229 hosts up) scanned in 347.76 seconds
[…]
# Nmap done at Wed Nov 30 11:30:57 2011 256
IP addresses (229 hosts up) scanned in 105.46 seconds
[…]
# Nmap done at Tue Nov 29 15:48:32 2011 256
IP addresses (41 hosts up) scanned in 3911.43 seconds
249. Se sigue usando el mismo criterio de usar un valor ligeramente superior al RTT
medio como initial-rtt-timeout, y el doble para max-rtt-timeout. En caso de una red
remota que se encuentre a muchos saltos de la red inicial, y dependiendo de si hay
saturación en algún tramo, puede ser conveniente incrementar el valor de max-
retries.
# nmap -T4 -initial-rtt-timeout 350 -max-rtt-timeout 600 -max-retries 4 -min-
parallelism 70 1.2.3.0/24
[…]
# Nmap done at Tue Nov 29 18:11:12 2011 256
IP addresses (41 hosts up) scanned in 1546.11 seconds
5.1. INTRODUCCIÓN
251. Nmap Scripting Engine (NSE) es una característica recientemente añadida a las
funcionalidades de Nmap, y una de las más potentes. Permite al usuario ejecutar
tareas automáticas por medio de scripts, con toda la velocidad y eficacia de la que
Nmap dispone. Estos scripts amplían las funcionales originales, pudiendo
utilizarse como detector y explotación de vulnerabilidades, detector avanzado de
versión de servicios, ataques por fuerza bruta, o denegación de servicio, entre otros
muchos. Aunque lo verdaderamente potente es la posibilidad de escribir scripts
personalizados a las necesidades puntuales que se requieran. Esta libertad facilita
la colaboración de la comunidad, que aporta sus nuevas herramientas, y que
muchas de ellas son añadidas a la suite de Nmap.
20
252. Los scripts están basados en el lenguaje interpretado Lua . Fue elegido por ser
sencillo de utilizar, rápido, escalable, y eficiente. La web oficial dispone de un
buen manual de referencia21 y una guía de usuario22 que cubre los conocimientos
necesarios para desarrollar scripts en NSE.
253. El siguiente código muestra un ejemplo de uso de NSE:
# nmap -sC -T4 192.168.100.121
254. La funcionalidad se activa con el modificador -sC, utilizando los scripts por
defecto para cada servicio descubierto. También puede ejecutarse con el
modificador -script <nombre> especificando qué script se quiere lanzar.
# nmap -T4 -p80 -script http-headers 192.168.100.124
PORT STATE SERVICE
80/tcp open http
| http-headers:
| Date: Tue, 24 Apr 2012 10:49:16 GMT
| Server: Apache/2.2.22 (Debian)
| Last-Modified: Wed, 13 Jul 2011 11:32:34 GMT
| Content-Length: 1105
| Vary: Accept-Encoding
| Connection: close
20
http://www.lua.org
21
http://www.lua.org/manual/
22
http://www.lua.org/pil
Centro Criptológico Nacional 84
SIN CLASIFICAR
CCN-STIC-954 Guía Avanzada de Nmap
| Content-Type: text/html
|_ (Request type: HEAD)
256. La carpeta donde se encuentran los scripts que incluye la instalación de Nmap es
/usr/share/nmap/scripts. En el momento de la redacción de este documento, el
paquete incluye 404 scripts, además de 98 librerías, que se describen más adelante.
La lista completa, actualizada y comentada puede encontrarse en su
documentación oficial23.
5.2. CATEGORÍAS
257. Cada script está clasificado en una o más categorías. Éstas proporcionan
información según el propósito o funcionamiento del script. La siguiente tabla
describe cada una de ellas:
258. Estos grupos permiten ejecutar scripts de forma que solo se lancen una o varias
categorías, según la que más convenga en cada caso.
nmap -T4 -p80 -script discovery 192.168.100.124
261. Lanzaría cualquier script que esté dentro de la categoría discovery y safe
nmap -T4 -p80 -script “not safe” 192.168.100.124
23
http://nmap.org/nsedoc/
Centro Criptológico Nacional 85
SIN CLASIFICAR
CCN-STIC-954 Guía Avanzada de Nmap
nmap -T4 -p80 -script http-* 192.168.100.124
5.3. FORMATO
264. Cada uno de los scripts siguen un formato concreto, con varios campos que
definen como y cuando debe ser lanzado.
5.3.6. REGLAS
270. Nmap utiliza unas reglas para determinar cuando debe ejecutarse un script. Éstas
evalúan si se cumplen las condiciones para que el script sea lanzado. Existen
cuatro tipos de reglas:
• prerule(): se ejecuta una única vez, antes de que se escanee ningún host.
• hostrule(host): se ejecuta justo después de que se ha escaneado un host.
5.4. LIBRERÍAS
273. Las librerías son módulos adicionales implementados que permiten al
desarrollador crear scripts más potentes. Se pueden adjuntar al programa original
para aprovechar las funcionalidades añadidas que aportan.
274. En el momento de la edición de la guía existen 98 librerías disponibles.
Enumerarlas una a una sería poco práctico por el gran número de librerías, además
de ser una cifra en constante crecimiento. Se puede encontrar el listado completo y
actualizado en la documentación oficial de Nmap24.
5.5. API
275. NSE implementa unas funciones internas que proveen detalles sobre la máquina
objetivo, como el estado de los puertos o el resultado de la detección de versión.
También ofrece funciones para usar contra Nsock, la librería de sockets de Nmap.
Dispone de mecanismos de manejo de excepciones para crear scripts robustos.
24
http://nmap.org/nsedoc/
Centro Criptológico Nacional 87
SIN CLASIFICAR
CCN-STIC-954 Guía Avanzada de Nmap
284. La función try tiene como parámetro el código que se está controlando su correcto
funcionamiento. En caso de fallo, la función connect devolverá false, por lo que la
ejecución se detendrá y se lanzará la función que se definió al crearse el manejador
de excepción, en este caso, como se ha descrito anteriormente, se cerrará el socket.
5.6. EJEMPLO
285. Hasta ahora se ha descrito una gran parte de las funcionalidades disponibles para
desarrollar scripts para el motor NSE. A continuación se va a mostrar un ejemplo
de script incluido en la herramienta, describiendo cada sección y su propósito.
5.6.1. CABECERA
286. Este apartado engloba básicamente metainformación referente al script. La
descripción de los campos que se pueden usar en este apartado están descritos en
la sección 5.3.
description = [[
Queries a VNC server for its protocol version and supported security types.
]]
author = "Patrik Karlsson"
license = "Same as Nmap--See http://nmap.org/book/man-legal.html"
categories = {"discovery", "safe"}
289. La librería shortport se utiliza para crear funciones de reglas de forma cómoda.
5.6.3. LA ACCIÓN
290. Finalmente se implementa el código que va a ser ejecutado en caso de que las
reglas se cumplan.
action = function(host, port)
if ( vnc:supportsSecType(vnc.sectypes.NONE) ) then
table.insert(result, "WARNING: Server does not require
authentication")
end
295. Se observa como el script comprueba que el equipo escaneado no está infectado
con el malware Conficker. Las otras comprobaciones no han sido lanzadas puesto
que se consideran inseguras.
296. Puede ser realmente útil si se realizan escaneos periódicos contra segmentos de red
completos, si se combinan con otros scripts de funcionalidad similar.
Centro Criptológico Nacional 91
SIN CLASIFICAR
CCN-STIC-954 Guía Avanzada de Nmap
297. Hasta ahora se ha visto la utilidad de la herramienta Nmap desde el lado del
administrador de sistemas. Sin embargo, esta aplicación puede ser utilizada por
atacantes contra redes bajo nuestra responsabilidad, como herramienta de
descubrimiento de máquinas y servicios vulnerables. En esta sección se describirán
algunas técnicas para dificultar o confundir un escaneo Nmap y la tecnología
necesaria a usar.
ANEXOS
5.9. ANEXO A.- ANÁLISIS DE RESULTADOS
Este anexo realiza una interpretación de los resultados obtenidos en los Procedimientos de
Análisis del Capítulo 4, con los que poder extraer las conclusiones oportunas. Las trazas y
tablas con valores cuantitativos se analizan pormenorizadamente con el fin de facilitar su
lectura así como para destacar aquellos aspectos que deban llamar la atención al
administrador interesado en explotar el potencial de Nmap.
Los resultados a analizar por cada procedimiento son los siguientes:
de las herramientas más populares para conocer el estado de un equipo: el comando ping.
En cualquier caso, como ha quedado patente en este procedimiento, Nmap es mucho más
potente e implementa muchos otros tipos de análisis, intentando maximizar el número de
equipos encontrados.
DESCUBRIMIENTO DE EQUIPOS
Opción Nombre Funcionamiento Observaciones
-Pn No ping No realiza ninguna técnica de descubrimiento. Considera a todos los objetivos
Pasa directamente al análisis de puertos. como aptos para un análisis de
puertos.
-sL List Scan Sólo lista equipos. Hace resolución inversa DNS.
No envía ningún paquete a los objetivos.
-sn Ping Sweep Implica un -PE + -PA 80 + -PS 443. Si usuario sin privilegios:
Si misma subred, también -PR. connect() a 80 y 443.
No hace análisis de puertos posterior. Hace resolución inversa DNS.
-PR Ping ARP Sólo para objetivos de nuestra red local (activo Host Up: Se recibe un ARP Reply.
por defecto). Host Down: Expira el timeout.
Envía un ARP Request.
-PS<ports> Ping TCP Envía un SYN, por defecto al puerto 80. Host Up: Se recibe un SYN/ACK o
SYN Acepta lista de puertos. RST.
Se ejecuta este si usuario sin privilegios. Host Down: Expira el timeout.
-PA<ports> Ping TCP Envía un ACK vacío, por defecto al puerto 80. Host Up: Se recibe un RST.
ACK Acepta lista de puertos. Host Down: Expira el timeout.
Traspasa cortafuegos sin estado.
-PU<ports> Ping UDP Envía un UDP vacío al puerto 31338. Host Up: Se recibe un ICMP port
Acepta lista de puertos. unreachable.
Traspasa cortafuegos que sólo filtran TCP. Host Down: Otros ICMPs, expira
el timeout.
-PY <ports> Ping SCTP Envía un paquete SCTP INIT al puerto 80. Host Up: Se recibe ABORT o
Acepta lista de puertos. INIT-ACK.
Solo usuarios privilegiados. Host Down: Expira el timeout.
-PE Ping ICMP Envía un ICMP Echo Request. Host Up: Se recibe ICMP Echo
Echo Poco fiable. Filtrado en la mayoría de Reply.
cortafuegos. Host Down: Expira el timeout.
-PP Ping ICMP Envía un ICMP Timestamp Request. Host Up: Se recibe ICMP
Timestamp Muchos cortafuegos no filtran este ICMP. Timestamp Reply.
Host Down: Expira el timeout.
-PM Ping ICMP Envía un ICMP Address Mask Request. Host Up: Se recibe ICMP
Address Muchos cortafuegos no filtran este ICMP. AddMask Reply.
mask Host Down: Expira el timeout.
-PO<proto> IP Protocol Envía sondas IP con protocolo 1, 2 y 4. Host Up: Respuesta o ICMP Prot.
Ping Acepta lista de protocolos. Unreachable.
Host Down: Expira el timeout.
Modificadores
-n DNS No realiza nunca resolución inversa de DNS. Más sigiloso y más rápido.
-R Realiza la resolución inversa de DNS incluso a
los objetivos que aparecen como Down.
--dns-servers Especifica la lista de servidores DNS a utilizar
<srv> para hacer la resolución
--system-dns Utiliza el sistema de resolución DNS del sistema
operativo
--tracetoute Ruta Descubre la ruta seguida por los paquetes hasta
el equipo objetivo.
25
Los objetivos, ya sean nombres de máquina, direcciones IP, o cualquier otro formato aceptado por Nmap,
deben aparecer cada uno en una línea distinta.
Centro Criptológico Nacional 100
SIN CLASIFICAR
CCN-STIC-954 Guía Avanzada de Nmap
ANÁLISIS DE PUERTOS
Opción Nombre Funcionamiento Observaciones
-sT Connect Envía un SYN, luego un RST para cerrar Closed: Recibe RST.
conexión. Open: Recibe SYN/ACK.
Puede utilizarse sin privilegios de root . Filtered: ICMP unreachable o
Se utilizan llamadas del SO. expira el timeout.
Menos eficiente que SYN Stealth.
-sX XMas Scan Envía TCP con los flags FIN, PSH y URG a 1.
ESPECIFICACIÓN DE PUERTOS
DETECCIÓN DE VERSIONES
Opción Funcionamiento Observaciones
-sV Interroga al conjunto de puertos abiertos detectados También usado para distinguir entre
para tratar de descubrir servicios y versiones en puertos puertos marcados como open|filtered.
abiertos.
--allports Incluye todos los puertos en la fase de detección de
versiones. Por defecto se excluyen algunos.
--version- Intensidad con que se realizan pruebas para comprobar
intensity servicios y versiones disponibles.
<num> Valores de 0 (ligera) a 9 (todas pruebas disponibles).
--version- Alias de --version-intensity 2
light
--version-all Alias de --version-intensity 9
--version- Muestra traza de actividad del análisis de versiones y Útil para tareas de depuración.
trace servicios.
TEMPORIZACIÓN Y RENDIMIENTO26
Opción Nombre Funcionamiento Observaciones
--min- Objetivos Establece los límites mínimo y máximo de
hostgroup en paralelo objetivos que se pueden analizar de forma
<num> concurrente.
--max-
hostgroup
<num>
--min- Pruebas en Establece los límites mínimo y máximo de Útil en redes o equipos lentos.
parallelism paralelo pruebas que pueden estar llevandose a cabo de Valor demasiado alto puede
<num> forma concurrente. afectar precisión.
--max- Por defecto valor dinámico basado en el
parallelism rendimiento de la red.
<num>
--min-rtt- Tiempo de Modifica el tiempo de espera de respuestas a Útil en redes rápidas o cuando
timeout respuesta sondas enviadas. muchos puertos están cerrados.
<time> de las Si vence el tiempo de espera, Nmap considera
--max-rtt- sondas que no hay respuesta y sigue con la siguiente
timeout sonda.
<time> Por defecto valor dinámico basado en tiempo de
--initial-rtt- sondas anteriores.
timeout
<time>
--max-retries Retransmis Especifica el número de retransmisiones para Por defecto 10 reintentos.
<num> iones cada sonda, en caso de no recibir respuesta.
--host- Tiempo de Especifica el tiempo máximo que ocupa Nmap en Útil para análisis grandes en
timeout análisis de el análisis de un equipo completo. Si vence este redes poco fiables o lentas, a
<time> equipo tiempo, no se muestra nada sobre el mismo en costa de perder algunos
el análisis final. resultados.
--scan-delay Tiempo Define el tiempo inicial y máximo que espera Útil si la red limita la tasa de
<time> entre Nmap entre cada prueba. transferencia o de respuestas.
--max-scan- sondas Nmap trata de ajustar ese tiempo de forma P.ej. equipos que solo envían 1
delay <time> dinámica. respuesta ICMP por segundo.
--min-rate Tasa de Controla la tasa de envío de sondas.
<num> envío de Ámbito global del análisis, no por objetivo.
--max-rate sondas
<num>
--defeat-rst- Límite de Muchos equipos limitan, además del número de Puede reducir precisión.
ratelimit respuestas ICMP, el número de RST que envían.
RST Por defecto Nmap se ajusta al límite.
Este parámetro hace que Nmap no tenga en
cuenta este límite.
--nsock- Motor E/S Fuerza el uso de un motor de control de entrada Valores posibles: epoll y select.
engine nsock salida.
<motor>
-T <plant> Plantillas Define una plantilla genérica de tiempos, que Valores (de + a - lento):
de tiempo configura varios de los parámetros vistos paranoid, sneaky, polite, normal,
anteriormente (ver 3.3.4 para información aggressive, insane.
detallada). Alias: 0 a 5 (p.ej. -T4).
Por defecto: Normal (3).
26
Los tiempos se miden por defecto en segundos. Se pueden utilizar otras unidades de medida añadiendo los
sufijos ‘ms’ (milisegundos), 's' (segundos), 'm' (minutos), o 'h' (horas). Por ejemplo 30m, 500ms o 2h.
Centro Criptológico Nacional 103
SIN CLASIFICAR
CCN-STIC-954 Guía Avanzada de Nmap
SCRIPTING
Opción Funcionamiento Observaciones
-sC Incluye en el análisis actual el conjunto por defecto de Equivalente a:
scripts (algunos pueden ser intrusivos). --script default
SALIDA
Opción Nombre Funcionamiento Observaciones
-oN <file> Salida Registra en un fichero una salida muy similar a Debe definirse la extensión
normal la mostrada por pantalla en modo interactivo. deseada (nmap para salida
-oX <file> Salida XML Crea un fichero XML con los detalles del análisis. normal y gnmap para la
Se puede usar la plantilla XST incluida o “grepable”).
cualquier reconocedor de XML para procesarla.
-oS <file> Salida Salida muy similar a la del modo interactivo, Se pueden aplicar formatos de
Script pero sustituyendo caracteres y capitalización tiempo al estilo strftime:
Kiddie para ajustarse al lenguaje utilizado por estos %H, %M, %S, %m, %d, %y,
grupos en Internet como sello de identidad. %Y, %T, %R, %D.
-oG <file> Salida Salida con formato especial que es fácilmente
“grepable” tratable con herramientas de consola como
grep. Obsoleta.
-oA <patrón> Salida en Crea un fichero para los tipos de salida normal, Sin extensión. Nmap usa el
todos los XML y “grepable”, definidos anteriormente. patrón definido y añade cada
formatos extensión.
-v[<nivel>] Verbosidad Aumenta la cantidad de información sobre el Para aumentar verbosidad se
progreso del análisis que muestra Nmap por pueden añadir más v o incluir un
pantalla. número (p. ej. -vvv o –v3).
-d[<nivel>] Depuración Añade información de depuración a la salida que Se pueden añadir más d o incluir
Nmap muestra por pantalla. un número (p.ej -ddd o -d3) para
aumentar el nivel de depuración.
--reason Razón Indica la razón por la que se ha concluido el Permite diferenciar el tipo de
estado de un puerto o equipo. respuestas que ha generado un
puerto cerrado.
--stats-every Estadísticas Indica cada cuanto tiempo se imprimen Se imprime tanto por pantalla
<time> estadísticas sobre el tiempo restante del como en la salida XML.
análisis.
--packet- Traza de Hace que Nmap imprima información sobre cada Incluye información de --version-
trace paquetes paquete que envía o recibe. trace y --script-trace.
--open Puertos Muestra en la salida los puertos identificados Útil en grandes análisis para
abiertos como (posiblemente) abiertos, obviando obtener listado de puertos
aquellos con otros estados (filtrados o cerrados). alcanzables.
--iflist Interfaces Muestra únicamente el listado de interfaces y de Útil para depuración.
y rutas rutas detectado por Nmap.
--log-errors Errores Guarda los errores generados durante la
ejecución del análisis en los ficheros de salida,
además de mostrarlos por pantalla.
--append- Ficheros de Instruye a Nmap para añadir los resultados del Puede causar problemas de
output salida análisis actual a un fichero de salida existente, tratamiento automático con
en lugar de borrar el contenido de dicho fichero. ficheros XML.
--resume Continuar Continua un análisis Nmap en el punto en que se Interesante para análisis muy
<file> quedó, si se indica como parámetro un fichero largos o que necesitan ser
generado con los modificadores -oN o -oG. interrumpidos por causas de
fuerza mayor.
MISCELÁNEA
Opción Nombre Funcionamiento Observaciones
-6 Ipv6 Habilita el análisis en redes IPv6.
-A Análisis Alias para -O -sV -sC --traceroute
agresivo
--datadir Directorio Indica el directorio de donde Nmap lee algunos
<dir> de datos ficheros que necesita para su uso (nmap-
service-probes, nmap-services, nmap-protocols,
nmap-rpc, nmap-mac-prefixes y nmap-os-db).
--servicedb Fichero de Indica una localización personalizada para el Fichero nmap-services.
<file> servicios fichero de donde Nmap obtiene la información Más prioritario que --datadir.
sobre servicios. Activa -F.
--versiondb Fichero de Indica la ubicación del fichero de donde Nmap Fichero nmap-service-probes.
<file> versiones obtiene las sondas que debe enviar para Más prioritario que --datadir.
detectar servicios (-sV).
--send-eth Escribir en Escribe directamente tramas a nivel Ethernet sin Usado para evitar limitaciones de
tramas usar el API de red ni transporte. algunas implementaciones de la
ethernet Por defecto se decide de forma dinámica el tipo pila TCP/IP.
de tramas a enviar. Activada por defecto en la
versión para Windows.
--send-ip Escribir Escribe paquetes a nivel IP, y los pasa al Complementaria de la opción
tramas IP sistema operativo para que este se encargue de anterior.
enviarlos.
--privileged Modo Asume que tiene suficientes permisos para Útil si se permite a usuarios sin
privilegiado realizar operaciones que requieren elevación de privilegios realizar dichas
privilegios, como apertura de sockets RAW y acciones.
captura de paquetes, entre otros. Alternativa: Fijar la variable de
entorno NMAP_PRIVILEGED.
-- Modo sin Opuesto al anterior. Útil para pruebas o depuración.
unprivileged privilegios Asume que no se tienen privilegios para realizar
operaciones privilegiadas.
--release- Liberar Hace que Nmap libere toda su memoria antes de Facilita descubrimiento de
memory memoria finalizar su ejecución. filtraciones de memoria.
Normalmente es el SO quien hace esta tarea.
-V Versión Imprime la versión de Nmap y finaliza la
--version ejecución.
-h Ayuda Imprime la página de ayuda resumida. Alias: Lanzar nmap sin
--help argumentos.