Auditando un Entorno Real II: WordPress – Revolution Slider

Muy buenas, bienvenidos a todos a la segunda entrada de Auditando un Entorno Real, aunque no es continuación os dejo también la anterior en la que pudimos acceder a los contratos de la empresa auditada a través de una SQLi y empleando cURL para evitar los detectores de intrusos.

 

auditando_un_entorno_real

 

Primeramente comentar que la vulnerabilidad mostrada en esta entrada ya ha sido comunicada a la empresa auditada, y que por supuesto no se mostrará información sobre la empresa ni sus clientes. La publicación unicamente tiene fines educativos, con el proposito añadido de concienciar a los webmasters a mantener actualizados los plugins y temas de sus Gestores de Contenido como WordPress.

Inicialmente nos encontramos ante una página web convencional, de la cual sabemos que utiliza WordPress como Gestor de contenido (podemos deducirlo por su árbol de directorios, el famoso wp-admin que encontramos en robots.txt, por ejemplo)

 

uno

 

Una vez disponemos de dicha información comenzamos a buscar posibles fallas en el sistema, esta vez lo haremos de forma automatizada a través de la herramienta WPScan, a la cual se le puede asignar un proxy como TOR para dar cierto nivel de anonimato al escaneo.

wpscan --url webauditada.com --proxy socks5://127.0.0.1:9050

 

dos

 

Del escaneo lo que más llama la atención es una posible vulnerabilidad en uno de los plugin instalados, en este caso el popular Revolution Slider que como su nombre indica se utiliza para implementar sliders dinámicos y adaptables en WordPress.

Esta vulnerabilidad permite al atacante enviar al archivo /wp-admin/admin-ajax.php código arbitrario y ejecutarlo, de esta forma hay via libre para eliminar sliders, subir uno nuevo e incluso colar una web shell en el servidor. Comprobamos que no se trata de un falso positivo a través de la siguiente petición enviada con nuestro querido cURL:

curl --socks5 127.0.0.1:9050 -v --data "action=revslider_ajax_action$cliente_action=delete_slider$data[sliderid]=1" webauditada.com

Basicamente empleamos una vez más el proxy, con la opción -v (verbose) mostramos la información generada durante la ejecución y con –data enviamos la información encomillada a través de una petición POST, donde definimos la acción a realizar y el ID del slider a eliminar.

 

tres

 

Comprobamos al ver {«success»:true, «message»:»The slider deleted»…} que el plugin aún trabaja una versión vulnerable y que efectivamente acabamos de dejar a la web sin su estupendo slider:

 

cuatro

 

Una vez llegados a este punto se nos abren varias y jugosas formas de explotación entre las cuales podemos destacar dos:

  • La introducción de un webshell en el servidor con su correspondiente conexión reversa hacia nuestra máquina, invalidando de esta forma nuestra conexión TOR y con ello nuestro anonimato.
  • Obtener el archivo wp-config.php de WordPress, en donde encontraremos por lo menos un usuario y contraseña hacia la base de datos.

Debido al objetivo de la auditoría nos decantamos por la segunda opción, en caso de elegir la primera utilizaremos metasploit con wp_revslider_upload_execute.

 

seis

 

Para obtener el documento wp-config.php (o cualquier otro) explotaremos nuevamente admin-ajax.php y enviaremos la ruta del documento dentro de img, este nos devolverá el documento solicitado:

 

siete

ocho

 

De esta forma hemos obtenido acceso a la Base de Datos de la web auditada.

— PREVENCIÓN —

Para prevenir este tipo de vulnerabilidades es primordial mantener actualizado WordPress, la plantilla con la que trabajemos y por supuesto los plugins, a parte de mantener activos unicamente los que necesitemos utilizar, reduciendo considerablemente las probabilidades de éxito de un atacante. Esto debe complementarse con un sistema de permisos sobre los archivos que impidan por ejemplo acceder a wp-config-php.

Hasta aquí la entrada de hoy,

Un saludo y hasta la próxima!

Metalex

Un comentario en «Auditando un Entorno Real II: WordPress – Revolution Slider»

Los comentarios están cerrados.