Identificar Vulnerabilidades utilizando la Categoría NSE vuln con Nmap

  • Posted on: 22 September 2021
  • By: ReYDeS

Los NSE (Nmap Scripting Engine) son una de las características más poderosas y flexibles de Nmap. Permite a los usuarios escribir y compartir guiones simples para automatizar una amplia diversidad de tareas relacionadas a las redes. Estos guiones son ejecutados en paralelo con la velocidad y eficiencia esperada de Nmap. Los usuarios pueden confiar en la creciente diversidad de guiones distribuidos con Nmap, o escribir los propios en base a sus requerimientos.

Detección de Vulnerabilidades

Cuando se descubre una nueva vulnerabilidad, frecuentemente se requiere escanear la red rápidamente, con el propósito de identificar sistemas vulnerables. Aunque Nmap no es un escáner completo de vulnerabilidades, NSE es lo suficientemente poderoso para gestionar verificaciones de seguridad. Muchos guiones para la detección de vulnerabilidades están disponibles, y se planea distribuir más conforme sean escritos.

Se ejecuta Nmap definiendo la utilización de la categoría NSE “vuln”. Dado el hecho haberse realizada un escaneo anterior, se definen únicamente los puertos encontrados en estado abierto.

$ sudo nmap -Pn -n -O -sV -p21,22,80,445,631,3000,3306,3500,6697,8080,8181 192.168.0 .50 –script vuln

La opción “--script vuln” define la ejecución de todos los guiones NSE incluidos en esta categoría.

A continuación se presentan algunos hallazgos resaltantes, mapeados hacia módulos en Metasploit Framework

Puerto TCP 21

ProFTPD 1.3.5 Mod_Copy Command Execution

Este módulo explota los comandos SITE CPFR/CPTO en la versión ProFTPD 1.3.5. Cualquier cliente no autenticado puede aprovechar estos comandos para copiar archivos desde cualquier parte del sistema de archivos hacia un destino seleccionado. Los comandos de copia son ejecutados con los derechos del servicio ProFTPD, lo cual por defecto se ejecuta bajo los privilegios del usuario “nobody”. Utilizando “/proc/self/cmdline” para copiar una carga PHP hacia un directorio del sitio web, es posible ejecutar código PHP remoto.

Puerto TCP 80

Slowloris Denial of Service Attack

Slowloris intenta mantener tantas conexiones abiertas hacia un servidor web, y mantenerlas abiertas tanto como sea posible. Esto se logra abriendo conexiones hacia el servidor web, y enviando peticiones parciales. Periódicamente se enviarán cabeceras HTTP subsecuentes, añadiendo pero nunca completando la petición. Los servidores afectados podrían mantener estas conexiones abiertas, llenando su cola de conexiones concurrentes máxima, para eventualmente negar intentos de conexión adicional desde clientes legítimos.

Apache Optionsbleed Scanner

Este módulo de Metasploit Framework escanea por la vulnerabilidad de nombre “Apache optionsbleed”, donde la cabecera de respuesta Allow devuelta desde una petición OPTIONS puede sangrar la memoria si el servidor tiene un archivo “.htaccess” con un método Limit inválido definido.

Puerto TCP 631

Slowloris Denial of Service Attack

Slowloris intenta mantener tantas conexiones abiertas hacia un servidor web, y mantenerlas abiertas tanto como sea posible. Esto se logra abriendo conexiones hacia el servidor web, y enviando peticiones parciales. Periódicamente se enviarán cabeceras HTTP subsecuentes, añadiendo pero nunca completando la petición. Los servidores afectados podrían mantener estas conexiones abiertas, llenando su cola de conexiones concurrentes máxima, para eventualmente negar intentos de conexión adicional desde clientes legítimos.

CUPS 1.6.1 Root File Read

Este módulo explota una vulnerabilidad en CUPS inferiores a la versión 1.6.2, un sistema de fuente abierta para impresión. CUPS permite a los miembros del grupo “lpadmin” cambiar en el archivo de configuración “cupsd.conf”, lo cual puede especificar una ruta “Error Log”. Cuando el usuario visita la página “Error Log” en la interfaz web, el demonio “cupsd” (ejecutándose con el setuid root), lee la ruta “Error Log” y hace un echo de esto como texto plano. Este módulo se conoce funciona en Mac OS X < 10.8.4 y Ubuntu Desktop <= 12.0.4, tanto como la sesión este en el grupo “lpadmin”. Advertencia: si el usuario tiene configurado una ruta personalizada hacia el Error Log de CUPS, este módulo fallará en redefinir la ruta correctamente. Se puede especificar una ruta “Error Log” personalizada con la opción “ERROR_LOG”.

Puerto TCP 3500

Slowloris Denial of Service Attack

Slowloris intenta mantener tantas conexiones abiertas hacia un servidor web, y mantenerlas abiertas tanto como sea posible. Esto se logra abriendo conexiones hacia el servidor web, y enviando peticiones parciales. Periódicamente se enviarán cabeceras HTTP subsecuentes, añadiendo pero nunca completando la petición. Los servidores afectados podrían mantener estas conexiones abiertas, llenando su cola de conexiones concurrentes máxima, para eventualmente negar intentos de conexión adicional desde clientes legítimos.

Puerto TCP 8080

Slowloris Denial of Service Attack

Slowloris intenta mantener tantas conexiones abiertas hacia un servidor web, y mantenerlas abiertas tanto como sea posible. Esto se logra abriendo conexiones hacia el servidor web, y enviando peticiones parciales. Periódicamente se enviarán cabeceras HTTP subsecuentes, añadiendo pero nunca completando la petición. Los servidores afectados podrían mantener estas conexiones abiertas, llenando su cola de conexiones concurrentes máxima, para eventualmente negar intentos de conexión adicional desde clientes legítimos.

Adicionalmente a los hallazgos o vulnerabilidades indicadas por la categoría NSE vuln, también se tiene lo siguiente:

  • Diversos directorios y archivos en el servicio web ejecutándose en el puerto TCP 80
  • Instalación de phpMyAdmin ejecutándose en el puerto TCP 80
  • Potenciales inyecciones SQL en aplicaciones ejecutándose en el puerto TCP 80
  • Diversos directorios y archivos en el servicio web ejecutándose en el puerto TCP 631
  • Archivo robots.txt en el servicio web ejecutándose en el puerto TCP 3500
  • Potenciales CSRF en aplicaciones ejecutándose en el puerto TCP 8080
  • Vulnerabilidad en el servicio “regsvc” correspondiente a sistemas Windows 2000.

Recordar siempre todos los resultados obtenidos por las herramientas automática deben ser revisados por un profesional en Hacking Ético y Pruebas de Penetración. Pues casi siempre existen falsos positivos. Siendo el más resaltante de los últimos mencionados relacionada a una vulnerabilidad identificada para sistemas Windows, siendo el sistema operativo del servidor escaneado Ubuntu Linux.

Fuentes:

https://nmap.org/nsedoc/
https://nmap.org/nsedoc/categories/vuln.html
https://www.rapid7.com/db/modules/exploit/unix/ftp/proftpd_modcopy_exec/
https://www.rapid7.com/db/modules/auxiliary/dos/http/slowloris/
https://www.rapid7.com/db/modules/auxiliary/scanner/http/apache_optionsb...
https://www.rapid7.com/db/modules/post/multi/escalate/cups_root_file_read/

Sobre el Autor


Alonso Eduardo Caballero Quezada - ReYDeS
Instructor y Consultor Independiente en Ciberseguridad
Correo Electrónico: ReYDeS@gmail.com
Twitter: https://twitter.com/Alonso_ReYDeS
LinkedIn: https://pe.linkedin.com/in/alonsocaballeroquezada/
Facebook: https://www.facebook.com/alonsoreydes
Youtube: https://www.youtube.com/c/AlonsoCaballero


Webinar Informática Forense