Blog sobre seguridad informática, privacidad, anonimato, hacking ético, programación y sistemas operativos en general.

lunes, 3 de abril de 2017

WordPress Exploit Framework (wpxf), un "Metasploit" para pruebas de penetración a WordPress


WordPress Exploit Framework es una herramienta escrita en Ruby, la cual esta diseñada para el uso y la creación de exploits y modulos que ayudan a realizar pruebas de penetración y ataques a sistemas y sitios web que usan como CMS (Content Management System) WordPress. Wpxf es una herramienta de codigo abierto licenciada bajo GPL y su codigo fuente está disponhible en github.

* Requisitos para ejecutar WordPress Exploit Framework (Wpxf)

Debemos tener instalado Ruby 2.2.6 o posterior en nuestro sistema, para eso vamos a una terminal y escribimos el comando ruby --version y la salida del comando será nuestra versión de ruby.


Otro requisito es tener instalado bundler, si no está instalado lo podemos hacer con el comando gem install bundler && bundle install

* Ejecutando Wpxf

Lo primero que haremos será usar git para clonar la herramienta, ya que la herramienta está en github usamos el comando git clone https://github.com/rastating/wordpress-exploit-framework, seguido esto entramos a la carpeta donde se ha clonado la herramienta y ejecutamos el comando ruby wpxf.rb si tenemos todos los requisitos necesarios nos deberá aparecer esto:


En caso de obtener un error de dependecias de gemas faltantes como colorize, nokogori, mimetypes, etc; lo que debemos hacer es ejecutar gem install bundler && bundle install dentro de la carpeta de descarga de Wpxf. En sistemas Debian asegurate de tener instalados los paquetes build-essential patch ruby-dev zlib1g-dev liblzma-dev.

Nota: Si has seguido nuestros post sobre como convertir ArchLinux en una distribución de Pentesting, solo basta con ejecutar pacman -S wordpress-exploit-framework para realizar la instalación.

* Uso y opciones de Wpxf.

Los  comandos de Wpxf son similares a los de metasploit, con help podemos ver las diferentes opciones para usar, explicaré brevemente cada una de ellas.



* Opciones Generales

back - regresa a la opción inmediatamente anterior.
check - Realiza la comprobación de que el modulo cargado actualmente puede ser usado en el target establecido.
clear - Limpia la pantalla
exit - Finaliza wpxf
gset [opcion] [valor] - Asigna un valor a una variable globalmente la cual es usada para los modulos actuales y futuros con el mismo valor.
gunset [opcion] - Reasignal un valor a una variable que fue modificada con gset.
help - Muestra la ayuda.
info - Muestra información del modulo actual.
quit - Sale de Wpxf.
run - Ejecuta el modulo cargado actualmente.
set [opcion] [valor] - Modifica el valor de una variable para la sesion actual.
search [palabras] - Realiza una busqueda dentro de los modulos de las palabras dadas (Muy util para busquedas especificas de exploits).
show advanced - Muestra opciones avanzadas de configuracion del modulo actual.
show auxiliary  - Muestra los modulos auxiliares disponibles.
show exploits - Muestra los exploits disponibles.
show options - Muestra las opciones de configuración necesarias para ejecutar un modulo (host, path, puerto, etc)
unset [opcion] - Reasigna un valor a una variable modificada con set.
use [modulo/exploit] - Usa el modulo especificado si esta disponible en la ruta especificada.

* Uso y ejecución de modulos.

Diferencia entre los modulos auxiliares y exploit: Un modulo auxiliar no te permite ejecutar payloads en la maquina remota, pero si te permite extraer información, escalar privilegios y realizar ataques tipo DDoS en el target.

Por el contrario los exploits son fragmentos de codigo diseñados especificamente para un tipo de ataque determinado a una vulnerabilidad encontrada, estos necesitan que el usuario especifique un payload, el cual puede ser elegido de acuerdo a lo que necesites, ya sea: ejecutar codigo arbitrario en el target para obtener shells remotas, extraer información y otras cosas que tu desees.



* Payloads disponibles

bind_php - Scrip para obtener una shell remota con wpxf.
custom - Sube y ejecuta un payload que tu hayas creado o descargado.
download_exec - Descarga y ejecuta un archivo remoto.
exec - Ejecuta un comando en la maquina remota
reverse_tcp - Permite establecer una shell usando una conexiónTCP inversa.

Video de instalación y opciones.
  

 


Si les gustó siguenos en Facebook, Twitter y unete a nuestra charla en Riot.
 

2 comentarios:

  1. Hola .
    Muchas gracias por tu tutorial , me sirviò mucho , lo ùnico que no se es que exploit debo utilizar =( .
    Son 44 auxiliary modules, 249 exploits, 7 payloads ...podrias hacer un post , cuando tengas tiempo sobre como usar los auxiliary , descubrir vulnerabilidades y obtar por un exploit determinado ..
    Gracias =)

    ResponderBorrar
    Respuestas
    1. Hola Gabriel, lo tendremos en cuenta para una proxima publicación!

      Borrar