Hackeando Joomla!

Recientemente en nuestro departamento de Seguridad Informática de ACONSA recibimos una alerta de una importante empresa, la cual había tenido una intrusión en uno de sus portales. Alguien había estado hackeando Joomla! .

Y no una intrusión cualesquiera, sino que habían sido víctimas de un borrado completo del portal en cuestión.

Este portal usaba una versión Joomla! no muy actual, y por supuesto sin actualizar. Cuando nos pusimos a analizar los logs, descubrimos que habían empleado la ruta «images/stories/story.php» para entrar al sistema. Un bug del portal en esta ruta permitía acceder.

En el día de ayer, iniciando el proceso de una pre-auditoría a una empresa privada, y parándonos en el tema Web, observamos que usaban Joomla! 1.5.5. ‘Craso error‘.

curso-joomla-online-1-5-787357

Esta versión al igual que las inferiores, posee una vulnerabilidad bastante importante por no decir exagerada. Pero antes de nada veamos como descubrir mas puntos «flacos» de nuestro objetivo.

Decir que vamos a usar nuestro maravilloso Backtrack 5 R3, que como ya sabéis, está armado hasta los dientes con multitud de utilidades para nuestros peculiares «test».

El módulo a utilizar se llama «joomscan«. Primeramente, al igual que deberíamos hacer con el Metasploit cada vez que lo iniciemos, deberemos actualizar nuestro módulo con el comando:

./joomscan update

Seguidamente a su correcta actualización, tenemos que entrar en la ruta que mostramos a continuación:

comandoiniciarjoomla2

Una vez dentro de la ruta anterior, procedemos a insertar el comando que muestra la imagen:

 comandoiniciarjoomla

Lo que hacemos con este comando es iniciar el joomscan, con la opción -u le decimos que dirección externa o local queremos analizar, y con el -oh nos saca un informe en formato .xml

Veremos algo parecido a esto:

Iniciando

El proceso comenzará, mostrando las famosas letras blancas sobre fondo negro, y dandonos sensación de que al menos, algo funciona.

Terminado el escaner de joomscan, vamos a desplazarnos a la ruta /pentest/web/joomscan/report donde encontraremos nuestro reporte en .xml. Nos aparecerá como la siguiente captura, dependiendo la versión de Joomla! y de lo vulnerable que sea (obviamente).

xml-joomla

Pues ahí tenemos muchas vulnerabilidades, nosotros aprovecharemos la más escandalosa por decirlo de alguna manera, la número 16. «Joomla Remote Admin Password Change Vulnerability«.

En nuestro reporte incluso nos pone como poder explotar esta bug. Concretamente dice que debemos pegar la dirección /index.php?option=com_user&view=reset&layout=confirm justamente detras del sitio web. Es decir, si nuestro sitio es www.misitiojoomla.com quedaría así:

www.misitiojoomla.com/index.php?option=com_user&view=reset&layout=confirm

Una vez completada dicha ruta, pulsamos enter y obtendremos lo siguiente:

clave1

En el cuadrito de texto, basta con poner una comilla como esta << ‘ >> y darle a enviar. Automáticamente nos redirigirá a la siguiente página:

clave2

Metemos una clave elegida por nosotros, y acabamos de resetar la cuenta «admin» con la clave que queramos. A partir de ahí el usuario atacante puede hacer lo que le de la gana con nuestro sitio. Literalmente.

Por tanto, esto nos muestra una vez más la necesidad imperiosa de actualizar. Y no solo tener fixeados todos los fallos de nuestras aplicaciones sean del tipo que sean, sino de advertirnos a tiempo de que cuentas como «admin» es lo primero a lo que se le hecha la caña.

Desde ACONSA insistimos nuevamente en darle la importancia que tiene a la seguridad de nuestros sistemas. Lamentablemente en la mayoría de casos se le da cuando ya hay algún daño hecho.

Espero que os haya servido de algo nuestro artículo.

Un saludo.