domingo, 11 de enero de 2015

Gorosaurus II: wp-knockout

¡Saludos!

    Como ya dije en la serie "The Walking WordPress", los plugins de seguridad que realizan funciones de monitorización de ficheros son absolutamente inútiles, puesto que si el atacante tiene acceso a la base de datos  y puede modificar archivos,  neutralizar cualquier plugin es trivial.

   Expliqué -y mostré partes de código- en este post The Walking WordPress I: defeating security plugins cómo con un par de líneas podías dejar K.O. cada uno de los plugins más famosos de WordPress. Ahora para Gorosaurus  he recogido esas mismas triquiñuelas relacionadas con la alteración de la base de datos, las he actualizado para que funcionen con la última versión de cada plugin, y las he puesto todas en un mismo fichero que he bautizado como wp-knockout.php.

     Simplemente hay que colocar el contenido del fichero dentro del archivo akismet.php (es decir, del plugin Akismet). Para ello podemos, desde el cliente en perl, descargarnos el fichero, lo editamos para añadirle el código de wp-knockout, y lo volvemos a subir al servidor.


    Pero... ¿y si no tenemos permisos de escritura para poder editar el archivo? :)

      Aquí viene la magia de WordPress al rescate: por defecto los usuarios con rol administrator pueden editar el contenido de los ficheros de plugins desde el panel de administración. Esto significa que si cuando estás realizando un pentest y consigues colar una webshell en un WordPress, pero tienes todas las vías capadas en cuanto a permisos -pero puedes ejecutar la webshell- símplemente debes de añadir un usuario con rol administrator usando las propias funciones de WordPress.

      En nuestro caso con gorosaurus podemos hacerlo ejecutando "wp_add_admin". Despues nos logueamos con el usuario creado y podremos editar cualquier archivo que pertenezca a un plugin. Una vez que hemos acabado de editar, usamos "wp_delete_user" para eliminar el usuario.

   Para deshabilitar que los administradores puedan editar archivos desde el panel de control hay que fijar el valor de la constante DISALLOW_FILE_EDIT como "true" en el archivo wp-config.


Byt3z
5 0verl0ad Labs: Gorosaurus II: wp-knockout ¡Saludos!     Como ya dije en la serie "The Walking WordPress", los plugins de seguridad que realizan funciones de monitorizació...

1 comentario:

oscar dijo...

Muy interesante, gracias!

< >