Identificar Vulnerabilidades utilizando la Categoría NSE vuln con Nmap
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
WhatsApp: https://wa.me/51949304030
Correo Electrónico: ReYDeS@gmail.com
Twitter: https://twitter.com/Alonso_ReYDeS
Youtube: https://www.youtube.com/c/AlonsoCaballero
LinkedIn: https://pe.linkedin.com/in/alonsocaballeroquezada/