Vulnerabilidades: Nmap.

Nmap es un programa informático cuya funcionalidad principal es efectuar escaneos de puertos en los equipos de una red. Originalmente escrito por Gordon Lyon (a.k.a. Fyodor Vaskovich), hoy en día su mantenimiento corre a cargo de una comunidad.

Con el correr del tiempo esta herramienta ha mejorado de forma progresiva y permanente, ofreciendo cada vez más y más posibilidades que amplían sus funcionalidades y resultan de gran interés. NSE (Nmap Scripting Engine) es una de estas características. NSE permite crear scripts que, entre otras opciones, nos posibilita realizar Escaneos de Vulnerabilidades, aumentando las posibilidades, ya de por si amplias, de Nmap en los entornos de Pentesting. Gracias a estos escaneos, se puede llegar a conocer el estado actual de una red informática, su nivel de exposición y las vulnerabilidades más comunes que la afectan.

El objetivo de este artículo no es explicar el funcionamiento de Nmap, si no el de ver sus opciones como escáner de vulnerabilidades. Por lo tanto, voy a dar sabido el uso básico de Nmap.

 

 

En Kali Linux (y otras distros) estos scripts .nse se encuentran en la ruta /usr/share/nmap/scripts.

Resulta de gran Linux interés pasar a echarles un vistazo y ser conscientes del arsenal con el que contamos. Su nombre suele ser bastante descriptivo sobre su funcionalidad.

 

 

En este artículo, como viene siendo habitual, las pruebas las voy a realizar contra Metasploitable 2.

Aunque Nmap es una herramienta que se suele utilizar principalmente desde consola, también integra una interfaz gráfica, Zenmap. Esta interfaz incluye una serie de perfiles predefinidos de escaneo, en los cuales ya se utilizan determinados scripts.

Las capturas de pantalla que os voy a ir presentando serán desde ambas interfaces, de línea de comandos y de Zenmap.

En primer lugar voy a lanzar un escaneo básico (muy básico), para averiguar qué servicios están activos en la máquina objetivo. En función de los resultados elegiré un script u otro para completar el escaneo.

 

En consola utilizo nmap 192.168.42.206 en Zenmap, utilizo el intense scan (el más básico).

 

 

 

 

 

 

 

 

 

Como se puede apreciar, Zenmap incluye scripting en sus perfiles. Ambos métodos nos aportan los mismos resultados (como no podía ser de otra forma), pero en la salida de consola de Nmap nos indica, además del puerto, el servicio que corre en el mismo.

En base a esta información obtenida, voy a realizar un escaneo sobre MySQL. La lista de scripts .nse que trabajan contra MySQL es la siguiente:

La sintaxis de uso es muy sencilla: nmap –script Nombre_del_Script.

En el caso de enlazar varios scripts, irán separados por comas. En este caso voy a utilizar mysql-databases, mysql-empty-password, mysql-enum y mysql-info. Podría utilizar todos los disponibles, pero es una cuestión de economía de tiempo.

Así que me queda una instrucción del tipo:

nmap  –script mysql-databases,mysql-empty-password,mysql-enum,mysql-info 192.168.42.206.


Los scripts cumplen su función y proporcionan información sobre vulnerabilidades de MySQL

 

Con el entorno Zenmap el proceso pasaría por crear un nuevo Perfil de Escaneo (o modificar uno existente). Desde el menú principal, seleccionamos la opción Perfil > Nuevo. Se muestra el Editor de Perfil donde aparecen una serie de pestañas desde las que configurar las distintas opciones de los posibles perfiles de escaneo. La que nos interesa es la de Scripting. En este apartado selecciono las opciones relacionadas con MySQL.

 

 

El resultado de este escaneo es el mismo que en la versión de consola.

 

 

Para facilitarnos la vida, existen una serie de scripts que engloban a otros, lo cual nos ahorra mucho tiempo. Los más representativos son:

  • Default: Ejecuta una batería básica de scripts.
  • Discovery: Información general de la máquina objetivo.
  • Auth: Engloba y ejecuta todos los scripts relacionados con autenticación.
  • Safe: Ejecuta scripts “seguros”, que supuestamente no van a llamar la atención en la máquina objetivo. En realidad sí que suelen ser detectados por los WAF.
  • Intrusive: utiliza scripts que son considerados ruidosos e intrusivos.
  • Malware: Revisa posibles conexiones abiertas por backdoors (puertas traseras).
  • Vuln: Revisa las vulnerabilidades más conocidas.
  • All: ejecuta todos los scripts disponibles. Puede ser una opción lenta y es bastante ruidosa.

 

Como Prueba de Concepto, voy a ejecutar el script que comprueba autenticaciones (auth). La finalidad es comprobar si existen usuarios con contraseñas vacías o usuarios y contraseñas por defecto.

Los resultados son positivos, existen servicios sin contraseña.

Un poco mas allá.

Investigando para la redacción de este artículo, me he encontrado con el trabajo de varias personas que, en su afán de simplificar, facilitar, mejorar o ampliar las funcionalidades de Nmap, han creado sus propias herramientas. Sin dejar de ser meras curiosidades, vale al pena echarles un vistazo, ya que pueden ayudarnos a más de uno en nuestras tareas de Pentesting.

Os dejo un par de recomendaciones:

Dracnmap

Dracnmap es una completa herramienta de Explotación de Redes y de Recolección de Información que está basada en Nmap. Nos proporciona información tan útil como los servicios que se están ejecutando en la máquina objetivo, estado de los puertos, Sistema Operativo, Cortafuegos y por supuesto, vulnerabilidades.

Los scripts están divididos en distintas categorías, entre las que cabe destacar malware, fuerza bruta, fuzzing o vulnerabilidades.

Dentro del capítulo de vulnerabilidades, es capaz de detectar backdoors, Inyecciones SQL, Cross Site Scripting (XSS), Cross Site Tracing (XST), y Denegaciones de Servicio.

 

 

 

 

AutoNSE.

AutoNSE es una herramienta de autoescaneo y autoexplotación. También basado en Nmap, se basa en un concepto muy sencillo: Realiza un escaneo automatizado del objetivo. Dependiendo de los resultados obtenidos, lanzará de forma automatizada todos los scripts que puedan sernos de alguna utilidad.

 

Hay que ser paciente, ya que en determinadas ocasiones, puede tardar bastante tiempo en realizar el escaneo completo. Vale la pena esperar, los resultados suelen ser interesantes.

 

 

En esta captura os muestro el resultado del escaneo de malware y la identificación del servidor web.

 

 

Hemos hallado una vulnerabilidad.

 

 

Posible inyección SQLite

 

 

Y con esto doy por finalizado este artículo sobre Nmap / Zenmap como escáner de vulnerabilidades.

Un saludo.
Raúl Ibilcieta.

 

Leave a reply

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

Scroll to Top

Utilizamos cookies para poder ofrecerte una mejor experiencia de navegación en nuestra Web. Si continúas la navegación, asumimos que estas de acuerdo. Más Información

Los ajustes de cookies en esta web están configurados para «permitir las cookies» y ofrecerte la mejor experiencia de navegación posible. Si sigues usando esta web sin cambiar tus ajustes de cookies o haces clic en «Aceptar», estarás dando tu consentimiento a esto.

Cerrar