Escaneos con nmap

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

https://nmap.org/download.html