Seguimos avanzando en el estudio de NMAP, esta vez haciendo uso de Scripts, muchos de los cuales nos pueden ayudar a detectar vulnerabilidades u obtener información para comprometer un sistema, en esta oportunidad será algo más intermedio-avanzado.
1- Escanear vulnerabilidades con scripts
En esta ocasión vamos a valernos de scripts para nmap, que vienen incluidos y hasta podemos descargar bastantes más si sabemos buscar. Ahora vamos a ver como aplicar un script que verifique si hay vulnerabilidades en una determinada IP.
nmap -Pn --script vuln IP
Como habrán visto, el script se llama vuln que nos ayuda a detectar los bugs más conocidos. Veamos algunos de los más conocidos junto con su explicación:
- Auth: ejecuta todos sus scripts disponibles para autenticación
- Default: ejecuta los scripts básicos por defecto de la herramienta
- Discovery: recupera información del target o víctima
- External: script para utilizar recursos externos
- Intrusive: utiliza scripts que son considerados intrusivos para la víctima o target
- Malware: revisa si hay conexiones abiertas por códigos maliciosos o backdoors (puertas traseras)
- Safe: ejecuta scripts que no son intrusivos
- Vuln: descubre las vulnerabilidades más conocidas
- All: ejecuta absolutamente todos los scripts con extensión NSE disponibles
Así que la estructura para usar scripts sería
nmap --script nombre_script IP
Si queremos lanzar un escaneo con varias categorías vamos a hacer
nmap --script categoria1,categoria2,categoria3 IP
El ejemplo sería
nmap --script default,broadcast IP_victima
2- ACTUALIZACION
Para actualizar la base de datos de scripts podemos lanzar el comando updatedb
nmap --script-updatedb
3- UBICACION
Donde se ubican los scripts por defecto: en /usr/shares/nmap/scripts/ y los mismos tiene la extensión .nse.
4- Traceroute Geolocalización
Realicemos un traceroute
a un dominio o dirección IP de destino y además trazar los datos de geolocalización para cada salto en el camino. Hace mucho más fácil la correlación de los nombres de enrutadores en su ruta con las direcciones inversas de DNS .
nmap --traceroute --script traceroute-geolocation.nse -p 80 dominio.com
5- Extraer los datos EXIF de archivos
Los archivos EXIF (archivo de imagen intercambiable), contienen información almacenada en los que son tipo JPEG, PNG, PDF y muchos más tipos de archivos. Estos datos nos pueden brindar información interesante tales como marcas de tiempo, información del dispositivo y coordenadas de GPS.
Vamos combinar nmap con un script http-exif-spider que se puede usar para extraer datos EXIF de los archivos que encontremos en la victima. Lamentablemente este script no es útil contra sitios como Instagram, Twitter y Facebook dado que eliminan la metadata. Veamos el ejemplo
nmap -p80,443 --script http-exif-spider IP_VICTIMA
Al intentar extraer datos EXIF de los archivos, Nmap puede generar un mensaje de error «Current http cache size exceeds max size». Esto se debe a que Nmap no puede procesar el archivo porque es demasiado grande y excede el valor máximo de tamaño de archivo predeterminado. Para arreglar esto usaremos un parámetro adicional http.max-cache-size y aumentaremos el valor según sea necesario de la manera:
nmap -p80,443 --script http-exif-spider --script-args="http.max-cache-size=99999999" IP_victima
6- Detectar Huellas Digitales (fingerprint) y saber que Firewall se usa
El script Nmap http-waf-fingerprint está diseñado para ayudarnos a conocer el firewall de la aplicación web exacta en uso en un servidor web objetivo. También intentará identificar su tipo y número de versión exacta.
nmap -p80,443 --script http-waf-fingerprint IP_victima
7- Enumera los directorios utilizados por las aplicaciones y servidores web populares
Realizar un ataque de fuerza bruta para descubrir aplicaciones web en uso. Prueba más de 2000 rutas en el servidor. El funcionamiento de este script es similar la herramienta NIKTO.
nmap ---script http-enum IP_victima
8- Encontrar los subdominios
nmap ---script dns-brute IP_victima
9- Detectando malware
Veamos como detectar si un host remoto posee algún tipo de malware instalado
nmap -sV --script=http-malware-host IP_victima
O también podemos usar un script de google
nmap -p80 --script http-google-malware IP_victima