Inyección OGNL en el módulo Webwork de Confluence Server (CVE-2021-26084): Cómo Akamai le ayuda a protegerse de los ataques de día cero
Recientemente, Atlassian informó de una vulnerabilidad de severidad crítica de ejecución de código remoto (RCE) en sus productos Confluence Server y Data Center (CVE-2021-26084), que puede permitir a usuarios no autenticados ejecutar código arbitrario en servidores vulnerables.
El problema principal
La vulnerabilidad es una inyección de Object-Graph Navigation Language (OGNL) en una de las plantillas "Velocity" (motor de plantillas) de Confluence que se podría activar mediante el acceso a "/pages/createpage-entervariables.action" y posiblemente a otras URL también. Algunos exploits de pruebas de concepto (PoC) y nuestros datos sugieren URL adicionales, aunque estas no se observan en el análisis original de parches.
Los parámetros "queryString" y "linkCreation" permiten a los atacantes inyectar código JAVA. La figura 1 muestra las diferencias entre las versiones con parches y sin parches de Confluence Server.
Actividad maliciosa masiva
La complejidad de explotación de esta vulnerabilidad es baja y, desde que se hizo pública el 25 de agosto, han surgido decenas de variantes de PoC. Como sucede con otras RCE de día cero, algunas de esas PoC fueron adoptadas de inmediato por varios agentes maliciosos. Los primeros intentos masivos de reconocimiento y explotación se registraron el 28 de agosto.
Ya se ha informado de que las campañas de ataque actuales implementan mineros XMRig y Kinsing de criptomonedas, mientras que las campañas más recientes también incluyen bots de DDoS Tsunami/Kaiten.
Aunque los primeros atacantes se limitaron a copiar y pegar las PoC existentes, ya observamos en nuestros datos la evolución natural de variantes. Además de las dos URL originales que se publicaron inicialmente, ahora observamos las siguientes variantes:
/pages/createpage.action
/pages/createpage-entervariables.action
/pages/doenterpagevariables.action
/confluence/pages/createpage-entervariables.action
/confluence/pages/doenterpagevariables.action
/collaboration/pages/createpage.action
/jirapages/doenterpagevariables.action
/wiki/pages/doenterpagevariables.action
/-/media/pages/doenterpagevariables.action
/ae/en/pages;/createpage-entervariables.action
/link/lookup/pages;/createpage-entervariables.action
/pages;/createpage-entervariables.action
En los ejemplos anteriores, podemos ver que los atacantes ya están utilizando una técnica de evasión conocida que consiste en agregar un punto y coma en la ruta (que representa los "parámetros de ruta"). Muchos servidores que admiten parámetros de ruta quitarán el punto y coma antes de realizar la llamada a la URL, lo que permite alcanzar con éxito el recurso vulnerable de Confluence, al tiempo que se evade la detección basada en URL.
Como se muestra en las figuras 2 a 4, solo en las últimas 24 horas, hemos observado en nuestra plataforma global:
Casi 2 millones de intentos de analizar o explotar estas vulnerabilidades.
88 378 hosts únicos atacados.
El 91 % de los ataques están dirigidos a los sectores del comercio, la alta tecnología, la fabricación y los servicios financieros.
7456 IP únicas involucradas en estos intentos.
- Los 3 principales números de sistema autónomo (ASN) involucrados en los ataques son AS4134, AS14061y AS15169, que son conocidos por ser el origen de muchas actividades maliciosas en Internet (a pesar de ser utilizados por proveedores de nube legítimos).
La mayoría de los ataques se originaron en Estados Unidos (43 %), China (15 %) e India (10 %).
En base a nuestra experiencia con vulnerabilidades similares en el pasado, existe una preocupación real de que estas campañas mejoren hasta llegar al punto de implementar ransomware en el lado del servidor, a fin de bloquear la base de conocimientos de las empresas o negociar con secretos corporativos.
Mitigación de ataques de día cero
La protección de la plataforma de Akamai contra los intentos de explotación web (incluidos muchos de los ataques de día cero) cuenta con los beneficios que ofrece el ecosistema de detección de amenazas de Akamai. Además, la amplia cobertura global de Akamai proporciona a sus clientes una visibilidad sin precedentes de la inteligencia sobre amenazas, lo que se traduce en una mayor protección. La "defensa por capas" no es solo una frase de marketing cuando opera con la escala de Akamai. Además de la solución Client Reputation basada en inteligencia sobre amenazas que incluye capas de protección más exhaustiva, como la actividad de análisis y la detección de anomalías en solicitudes de clientes, Akamai proporciona comprobaciones de cumplimiento de solicitudes HTTP y un conjunto de normas genéricas de Kona Site Defender para identificar cargas de ciberadversarios convertidas en armas.
Las figuras 5 y 6 muestran ejemplos de un atacante real que envía una solicitud HTTP convertida en arma (es decir, una solicitud con la capacidad de implementar malware o hacerse con el control del servidor) y que ha sido detectada por conjuntos de reglas existentes.
Además de detectar el ataque debido al origen malicioso conocido por Client Reputation de Akamai (atacante web, analizador web, etc.), el ataque también se detecta mediante las reglas genéricas existentes que tienen como objetivo identificar patrones de comandos peligrosos que suelen utilizar los atacantes.
El motor de seguridad adaptable detecta y bloquea los exploits actuales utilizados como arma basándose en las reglas existentes en los grupos de ataque de inyección de comandos y de secuencias de comandos entre sitios.
· 950002 — CMD Injection Attack Detected (OS Commands 4)
· 3000156 — CMD Injection Attack Detected (PHP High-Risk Functions)
· 973307 — Cross-site Scripting (XSS) Attack (Eval/Atob Functions)
· 3000081 — Cross-site Scripting (XSS) Attack (Attribute Injection 2)
· 3000005 — CMD Injection Attack Detected (OS commands with full path)
Los grupos de ataques automatizados detectan y bloquean los exploits actuales utilizados como arma basándose en las reglas existentes en los grupos de ataque de inyección de comandos y de secuencias de comandos entre sitios.
· 1000002 — XSS Attack Group
· 1000005 — CMD Injection Attack Group
Kona Rule Set detecta y bloquea los exploits actuales utilizados como arma basándose
en las reglas existentes en los grupos de ataque de inyección PHP y de secuencias de comandos entre sitios.
· 958976 — PHP Injection Attack (Common Functions)
· 950109 — Multiple URL Encoding Detected
· 973307 — XSS Attack Detected
· 3000081 — Cross-site Scripting (XSS) Attack: Attribute Injection
Apuntes finales
Este ataque sigue el mismo patrón que hemos visto en otras ocasiones en el que los agentes maliciosos muestran su capacidad de adaptar los exploits de PoC, a fin de obtener nuevas vulnerabilidades de día cero en tan solo un día. Utilizar un firewall de aplicaciones web como capa de protección adicional puede hacerle ganar un preciado tiempo hasta que se implementa un parche en el objetivo vulnerable y reducir significativamente el riesgo al que están expuestas sus aplicaciones web.
El equipo de investigación sobre amenazas de Akamai continúa supervisando cualquier nueva variación de los exploits y responde con rapidez ofreciendo actualizaciones de reglas y las recomendaciones más recientes a los clientes.