Escaneos de Nmap
Nmap tiene una multitud de opciones, comenzar a jugar con esta excelente herramienta, puede ser un poco desalentador.
En este documento intentamos trabajar con una serie de comandos de ejemplo prácticos para ejecutar Nmap y aprovecharlo al máximo.
Aclaración: utilizamosalgunas opciones, tocamos simplemente superficie de las mismas. El portal de documentación de Nmap es su referencia para profundizar.
1.- Selección por destino:
Escaneamos una sola IP
nmap 192.168.1.1
Escaneamos un host
nmap www.host_a_escanear.com.ar
Escaneamos un rango de IPs
nmap 192.168.1.1-20
Escaneamos una subred
nmap 192.168.1.0/24
Escaneamos objetivos desde un archivo de texto
nmap -iL lista-de-ips.txt
Estos son los escaneos predeterminados, por defecto escanearán 1000 puertos TCP.
2.- Escaneos de puertos
Escaneamos un solo puerto
nmap -p 22 192.168.1.1
Escaneamos un rango de puertos
nmap -p 1-100 192.168.1.1
Escaneamos los 100 puertos más comunes (Rápido)
nmap -F 192.168.1.1
Escanear todos los puertos hasta el 65535
nmap -p- 192.168.1.1
3.- Tipos de escaneos de puertos
Escaneamos usando conexiones TCP
nmap -sT 192.168.1.1
Escanear usando TCP SYN scan (predeterminado)
nmap -sS 192.168.1.1
Escanear puertos UDP
nmap -sU -p 123,161,162 192.168.1.1
Escanear puertos seleccionados – ignorar descubrimiento
nmap -Pn -F 192.168.1.1
Para ejecutar este tipo de escanos nesecitamos trabajar con un usuario con privilegios.
De no tener los privilegios suficientes, nmap utilizará una exploración de conexión TCP por lo tanto la misma va a ser muy lenta debido a que tiene que establecer una conexión completa. Para acelerar un poco el proceso de escaneo ignoramos el descubrimiento, ya que muchos firewalls o hosts NO responderán al PING, por lo que podemos pasarlo por alto, utilizando el parámetro -Pn.
4.- Detección de servicio y sistema operativo
Detectar sistema operativo y servicios
nmap -A 192.168.1.1
Detección de servicio estándar
nmap -sV 192.168.1.1
Detección de servicio más agresiva
nmap -sV --version-intensity 5 192.168.1.1
Detección de captura de banners más rápidas
nmap -sV --version-intensity 0 192.168.1.1
Este tipo de escaneos los utilizan para determinar el sistema operativo o el servicio que se ejecuta en un puerto en particular. La detección de servicios más agresiva suele ser útil si hay servicios ejecutándose con puertos modificados por el administrador.
Por otro lado, la versión más liviana del servicio será mucho más rápida, ya que en realidad no intenta detectar el mismo solo trabaja mostrando el banner del servicio abierto
5.- Formatos de salida de Nmap
Guardamos la salida predeterminada en el archivo de texto:
nmap -oN outputfile.txt 192.168.1.1
Guardamos resultados como XML
nmap -oX archivo de salida.xml 192.168.1.1
Guardamos los resultados en un formato para grep (expresiones regulares)
nmap -oG archivo de salida.txt 192.168.1.1
Guardamos en todos los formatos
nmap -oA archivo de salida 192.168.1.1
La salida predeterminada podemos re-direccionarla simplemente utilizando redirección de archivos > . Si usamos la opción -oN vamos guardar los resultados, como asi también podemos monitorearlos en la terminal mientras realizamos el escaneo.
6.- Profundizando más con NSE Scripts
Escaneamos usando scripts seguros predeterminados:
nmap -sV -sC 192.168.1.1
Si queremos obtener ayuda de un script podemos usar el comando:
nmap --script-help=ssl-heartbleed
Escaneamos usando un script NSE específico:
nmap -sV -p 443 –script=ssl-heartbleed.nse 192.168.1.1
Escaneamos utilizando un conjunto de scripts
nmap -sV --script=smb* 192.168.1.1
En la instalación de Nmap que uso, actualmente hay 581 scripts NSE. Los scripts pueden realizar una amplia gama de funciones de prueba y descubrimiento relacionadas con la seguridad.
La opción –script-help=$scriptname nos muestra la ayuda para los scripts individuales. Para obtener una lista sencilla de los scripts instalados, podemos usar el comando locate nse | grep script, tambien find o cualquier comando de busqueda.
Nota: En la mayoria de los ejemplos hemos utilizado el parámetro de detección de servicio -sV. En general, usando este parámetro la mayoría de los scripts NSE serán más efectivos y obtendremos una respuesta más completa en la detección de servicios.
7.- Un escaneo para buscar servicios UDP de reflexión DDOS
Los ataques de reflexión DDOS basados en UDP son un problema común al que nos enfrentamos los «buenos» de la red. El comando siguienteescaneará una lista de objetivos en busca de sistemas con servicios UDP abiertos que permitan que se produzcan este tipo de ataques. Los detalles completos del comando y los antecedentes los podemos encontrar en el Blog del Instituto Sans donde se publicó por primera vez.
https://isc.sans.edu/diary/Using+nmap+to+scan+for+DDOS+reflectors/18193
Buscar reflectores UDP DDOS
nmap –sU –A –PN –n –pU:19,53,123,161 –script=ntp-monlist,dns-recursion,snmp-sysdescr 192.168.1.0/24
8.- Información del servicio HTTP
Titulos de las páginas de los servicios HTTP
nmap --script=http-title 192.168.1.0/24
Obtenemos encabezados HTTP de servicios web
nmap --script=http-headers 192.168.1.0/24
Encuentramos aplicaciones web desde rutas conocidas
nmap --script=http-enum 192.168.1.0/24
Tenemos muchos scripts de recopilación de información HTTP, si los listamos encontraremos que hay algunos que son simples pero útiles cuando queremos examinar redes más grandes. Este tipo de escaneos nos ayudan a identificar rápidamente cuál es el servicio HTTP que se ejecuta en el puerto abierto.
Tengamos en cuenta que el script http-enum es particularmente ruidoso. Es similar a Nikto en el sentido que que intentará enumerar rutas conocidas de aplicaciones web y scripts. Esto inevitablemente generará cientos de respuestas HTTP 404 en los registros de acceso y error del servidor web.
9.- Vulnerabilidad Heartbleed SSL
Para detectar la presencia de la vulnerabilidad Heartbleed en los servicios SSL, tenemos un script especifico. Tambien podemos utilizar puertos alternativos para probar SSL en servicios tales como correo y otros protocolos (requiere Nmap 6.46).
Probamos la vulnerabilidad Heartbleed
nmap -sV -p 443 --script=ssl-heartbleed 192.168.1.0/24
Información de la dirección IP
Este comando nos permite recopilar información relacionada con la dirección IP y el propietario del segmento de red de la dirección IP. Nmap utiliza búsquedas de ubicación ASN, whois y geoip.
Encontramos información sobre la dirección IP
nmap --script=asn-query,whois,ip-geolocalización-maxmind 192.168.1.0/24
10. Escaneo remoto
Probar el perímetro de nuestra red desde una perspectiva externa es clave cuando deseamos obtener resultados más precisos. Cuando evaluamos la exposición desde la perspectiva de los atacantes, podemos validar las auditorias de reglas de firewall y comprender exactamente qué se permite en nuestra red.
Sitio para instalar nmap