Esta semana inició con la publicación por parte de Joomla de una vulnerabilidad en su administrador de contenido (CMS),
la cual permite a un atacante ejecutar código de forma remota. Aunque
las vulnerabilidades para los administradores de contenido son bastante
comunes para sus pluggins, en este caso se trata de una debilidad propia
del núcleo del sistema, que además ha estado ahí por más de 8 años y
que afecta a todas las versiones desde la 1.5 hasta la 3.4.5.
Se trata de una inyección de objetos basada en el controlador de bases de datos de MySQL, que no verifica el contenido enviado por los clientes en el user-agent y permite incluir código PHP que será ejecutado por el servidor.
Su construcción rememora las cadenas necesarias para ejecutar la
vulnerabilidad ShellShock y tiene su mayor éxito al usar la función eval() de PHP para ejecutar las funciones pasadas como payload.
Construcción del exploit para ShellShock |
Haciendo uso del exploit publicado en Exploit-DB
y un entorno virtualizado corriendo Joomla 3.4.5 verificamos la
vulnerabilidad. En primer lugar usamos el payload propuesto en el código
del exploit para crear un archivo en la ruta /tmp/.
Payload para crear un archivo haciendo uso de la vulnerabilidad |
Ejecutamos y confirmamos que el archivo ha sido creado por el usuario nobody en la ruta definida. Además podemos confirmar que el user-agent de la petición es el encargado de explotar la vulnerabildiad:
confirmación de la ejecución de la vulnerabilidad |
Dado que mediante la función eval() y haciendo uso de la llamada al sistema system()
es posible ejecutar casi cualquier comando, creamos una pequeña
WebShell en una carpeta con los permisos suficientes y enviamos los
parámetros haciendo peticiones get:
Archivo php con una pequeña webshell creado mediante la vulnerabilidad RCE-Joomla |
El resultado, una página que nos permite ejecutar código directamente desde la URL.
WebSheel creada haciendo uso de la vulenrabildiad RCE-Joomla |
Como ven las posibilidades son infinitas y solo es necesario un poco de
creatividad. La vulnerabilidad esta siendo explotada en todas las
latitudes y debido a los códigos publicados se seguirá multiplicando,
así que es necesario que actualicen sus administradores de contenidos
y quienes hagan uso de IPS o WAF, actualicen las firmas de sus
dispositivos de seguridad para evitar las peticiones con la
configuración de user-agent identificada.
Pueden verificar si su sitio ya ha sido atacado buscando los valores
"JDatabaseDriverMysqli" y "0:" en el log de acceso de su sitio web
administrador con Joomla.
Recuerden hacer Backup de su sitio web y buscar la notificación de nueva versión de Joomla:
Joomla Update |
Tomado de: http://blog.csiete.org/2015/12/probamos-la-vulnerabildiad-de-rce-en.html
Se Respetan Derechos de Autor.