lunes, 9 de julio de 2012

Hacked Joomla! v. [1.6.x][1.7.x][2.5.0-2.5.2] - Escalación de Privilegios


Esta vulnerabilidad de joomla nos permite escalar privilegios durante el registro de un usuario nuevo, para la versiones 1.6.x/1.7.x  no se han emitido ningun parche hasta el momento y las versiones 1.0.x/1.5.x/2.5.3+ no son vulnerables. pero para nuestro consuelo la v. 1.5.x (que no este parcheada) de joomla tiene el  bug archiconocido del Token , que puedes cambiar el pass del admin, bueno eso es otro tema.

Centremonos en lo nuestro y Explotamos esta vulnerabilidad xD! que muchas web que usan joomla las tienen. El bug consiste en crearnos un usuario nuevo, pero antes de eso debemos agregar un parámetro mas al formulario del registro, pueden usar Firebug (Addon For Firefox), bueno busquemos un potencial y latente web joomla.

Dork:: inurl:/index.php?option=com_users&view=registration
Exploit Code For use with Firebug:: <input value="7" name="jform[groups][]" />

Aqui tenemos una web joomla y veamos su codigo fuente, para tal ves poder saber que versión es.




He borrado el dominio de esa web,  pero pueden sacarlo con solo mirar el logo xD! , bueno notamos que al mirar el código fuente nos sale el tag META "Joomla! - Open Source Content Management" lo cual no nos indica que versión es, pero posiblemente ese joomla sea una version casi actual o actual, lo digo por la frase que esta marcada, pero no lo garantizo por que eso se puede borrar o cambiar fácilmente, pero si quieren saber que probable versión puede ser, usen el programa CMSEXPLORER que viene incluida en las distribuciones de Backtrack. Ahora tratemos de crear un usuario, tenemos que buscar el componente de usuarios para poder registrarnos, escriban en el navegador:

www.site-joomla.com/index.php?option=com_users&view=registration



Como verán yo llene los formularios con mis datos y apropósito erre a la ahora de escribir mi password, hice esto para que a la hora de registrarme envié el parámetro (que luego inyectaremos) que se quedara grabado en la session de nuestro registro, y pongan un correo existente ya que al final de registro te mandan un link de confirmación, ahora falta inyectar nuestro parámetro en el formulario de registro para  así explotar la dichosa vulnerabilidad.
Presionen F12 para abrir el Firebug y luego desarrollen los pasos de la imagen, y ahora nos queda poner nuestro pequeño codigo que esta casi al inicio de este post.



Si se dan cuenta el código esta entre los tags "<dd></dd>", es por que esta versión de joomla usan esos tipos de etiquetas, pues tal ves encuentren un joomla sin esos tags, en ese caso tienen que ver como es su estructura y acoplarse a ello, para evitar fracasos xD!, respecto al codigo, si se dan cuenta el "value=7", eso nos indica que vamos estar en el grupo de Administradores y no el grupo de Super Usuarios que es el valor 8.


Bueno presionamos F12 o minimizamos el firebug por que ya no lo vamos usar, y hacemos los pasos de la imagen.


Luego de registrarnos nos sale un mensaje que dice que verifiquemos y confirmemos el registro en nuestro email proporcionado, y si no lo encuentran revizenlo en la zona de correos Spam.


Después de confirmar el registro accedemos al panel de administracionde joomla .

www.site-joomla.com/administrator y nos logueamos.



Come vemos en la imagen la version del joomla es 2.5.1 , bueno casi actual como dijimos en el principio y también podremos ver nuestro usuario que es administrador xD! , ahora queda subir nuestra shell.

Este video demostrara como subir nuestra shell en sitios Joomla.

Bueno cuando tengan su shell en el servidor pueden hacer lo que quieran, no se tal ves Rootear el server, y si tal ves no hay un Local Root, pueden hacer enlaces simbólicos(Symlink) a los archivos de otro usuarios que estén en el mismo server o nose, ya ustedes verán.

Post-Data: 
- Me olvidaba, también podemos inyectar el código para escalar privilegios en joomla mediante Tamper Data (addon for firefox), solo tenemos que agregar un parametro mas a la hora de modificar el envio de datos.

Exploit Code for use with Tamper Data:: jform[groups][]=7

luego le subo una imagen, para que vean como es la cuestion.

- Si alguien se pregunta cuantas versiones hay de joomla, estas son, si me equivoco que alguien me lo haga saber xD!.

Joomla V. [1.0.x]-[1.5.x]-[1.6.x]-[1.7.x]-[2.5.x]

Autor: pwnakil@CL-Security

6 comentarios:

  1. Como se evita esta vulnerabilidad???


    Gracias, muy buen articulo

    ResponderEliminar
    Respuestas
    1. Manteniendo tu versión de joomla actualizada.

      Eliminar
  2. una forma simple de evitar es evitar, valga la redundancia, que el cms envie correo al registrarse.

    ResponderEliminar
  3. hay algunas paginas que no dise la version

    ResponderEliminar
  4. www.sitioweb.com/administrator/components/com_login/login.xml

    aqui como econtrar la version exacta del joomla

    ResponderEliminar
  5. Esta vulnerabilidad fue encontrada por xDarkston3x
    no robes creditos lammer.
    Mas información sobre el bug en 1337day & securityfocus.

    PD: Este bug es viejo y reportada no robes creditos (:

    ResponderEliminar