Vulnerabilidad en Nuclei permitía evadir la verificación de firmas

Un fallo crítico en el escáner de vulnerabilidades de código abierto Nuclei, ahora corregido, permitía a los atacantes evadir la verificación de firmas y ejecutar código malicioso a través de plantillas modificadas en sistemas locales.

Qué es Nuclei y cómo funciona

Nuclei, desarrollado por ProjectDiscovery, es una herramienta de código abierto ampliamente utilizada para escanear sitios web en busca de vulnerabilidades y configuraciones erróneas. Su sistema de escaneo se basa en más de 10,000 plantillas en formato YAML, diseñadas para identificar vulnerabilidades conocidas, archivos de configuración expuestos, webshells y puertas traseras.

Además, estas plantillas incluyen un protocolo de código que permite ejecutar comandos o scripts localmente, ampliando su funcionalidad.

Cada plantilla está “firmada” con un hash de resumen (“digest hash”) que Nuclei utiliza para verificar que no ha sido modificada con código malicioso. Esta firma se encuentra al final de las plantillas en la forma:

# digest: <hash>

La vulnerabilidad CVE-2024-43405

Investigadores de Wiz descubrieron una vulnerabilidad, identificada como CVE-2024-43405, que permite evadir la verificación de firmas de Nuclei incluso cuando una plantilla ha sido modificada con contenido malicioso.

El problema radica en la forma en que el sistema de verificación basado en expresiones regulares de Go interpreta los saltos de línea (“\r”) en comparación con el analizador YAML. Mientras que Go trata “\r” como parte de la misma línea, el analizador YAML lo interpreta como un salto de línea. Este desajuste permite inyectar contenido malicioso que evade la verificación de firmas pero se ejecuta cuando es procesado por el analizador YAML.

Otro aspecto de la vulnerabilidad es que Nuclei solo verifica la primera ocurrencia de “# digest:” en una plantilla, ignorando cualquier línea adicional. Los atacantes pueden aprovechar esto añadiendo líneas de “# digest:” maliciosas después del hash válido inicial, lo que permite la ejecución de secciones de código malicioso.

Impacto y demostración del ataque

Guy Goldenberg, investigador de Wiz, explicó cómo explotaron este desajuste entre las interpretaciones de saltos de línea. “Armados con conocimientos sobre las discrepancias en la interpretación de líneas, creamos una plantilla que explota esta disparidad entre la implementación regex de Go y el analizador YAML,” afirmó Goldenberg.

El resultado fue un ataque en el que el hash malicioso evadía la verificación y se ejecutaba al ser procesado.

Solución y recomendaciones

Wiz informó responsablemente sobre esta vulnerabilidad a ProjectDiscovery el 14 de agosto de 2024, y el problema fue solucionado en la versión 3.3.2 de Nuclei, lanzada el 4 de septiembre de 2024.

Acciones recomendadas:
  1. Actualizar a la versión 3.3.2 o superior: Si estás utilizando versiones anteriores de Nuclei, actualiza de inmediato para mitigar este riesgo.
  2. Usar entornos aislados: Ejecuta Nuclei en una máquina virtual o en un entorno aislado para minimizar el impacto de posibles plantillas maliciosas.
  3. Auditar plantillas personalizadas: Revisa cuidadosamente cualquier plantilla personalizada para detectar código sospechoso o hashes alterados.
Conclusión

Este incidente destaca la importancia de garantizar la seguridad de herramientas de código abierto que se utilizan ampliamente en la evaluación de vulnerabilidades. Actualizar herramientas y seguir buenas prácticas operativas son pasos esenciales para proteger los sistemas y evitar posibles ataques derivados de vulnerabilidades como esta. La seguridad es un esfuerzo continuo, y cada organización debe mantenerse alerta frente a nuevas amenazas.

 

Related Posts
Clear Filters

En el ámbito de la ciberseguridad, una reciente actividad maliciosa ha puesto en jaque a los dispositivos firewall Fortinet FortiGate…

Más de 4,000 Backdoors web abandonados pero activos fueron secuestrados, y su infraestructura de comunicación fue hundida digitalmente después de…

Devel Group
Privacy Preferences
When you visit our website, it may store information through your browser from specific services, usually in form of cookies. Here you can change your privacy preferences. Please note that blocking some types of cookies may impact your experience on our website and the services we offer.