Integrando Beef y MetaSploit Framework

Tal vez algunos que vengáis siguiendo este blog, ya conocéis las posibilidades que brinda MetaSploit para una fácil integración con otras herramientas relacionadas con pruebas de penetración, en este caso, Beef puede ser integrada y extendida con la potencia que lleva consigo MetaSploit Framework, partiendo de este punto, es posible ejecutar exploits y payloads contra victimas de ataques XSS administradas por Beef, la forma de integrar Beef y MetaSploit es muy sencilla y se basa en el uso del plugin xmlrpc de MetaSploit Framework, ya que permite crear un servicio que se encontrará en estado de “escucha” esperando a que nuevos clientes intenten conectarse a él (de una forma muy similar a como se hace con Nikto). Los pasos a seguir son los siguientes:

  1. Iniciar el servicio RPC con metasploit por medio de msfconsole:

    msfconsole
    msf > load xmlrpc ServerHost=192.168.1.33 Pass=BeefPass ServerType=Web

    [*] XMLRPC Service: 192.168.1.33:55553

    [*] XMLRPC Username: msf

    [*] XMLRPC Password: BeefPass

    [*] XMLRPC Server Type: Web

    [*] XMLRPC Web URI: /RPC2

    [*] Successfully loaded plugin: xmlrpc

  2. En el paso anterior se ha iniciado el servicio de acceso externo a Metasploit con unas características de autenticación bien definidas, el siguiente paso es configurar Beef, para esto es necesario editar el fichero config.yaml ubicado en el directorio raíz de Beef
    Nota: Esta configuración solamente es valida para una instalación de Beef utilizando las ultimas versiones del software que se encuentran programadas con Ruby, nuevamente, se recomienda utilizar esta versión y hacer un checkout del proyecto desde el repositorio SVN mencionado en la entrada anterior aquí.
    En el fichero config.yaml, se debe buscar la sección correspondiente a MetaSploit y activar dicha extensión (por defecto viene desactivada), cambiar:

    metasploit:

    enable: false
    Por:
    metasploit:

    enable: true

  3. Una vez la extensión se encuentra activada es necesario especificar cual es el puente de enlace, es decir, la ruta donde se encuentra el servicio RPC de Metasploit a la espera de nuevas conexiones, especificar las credenciales de acceso y nombre de servicio RPC.
    Para hacer esto, es necesario editar el fichero <DIR_BEEF>/extensions/metasploit/config.yaml el contenido de este fichero especifica todos los criterios de conexión esperados por MetaSploit, el contenido de este fichero será similar al siguiente (el lector deberá establecer su dirección IP obviamente):

    beef:
    extension:
    metasploit:
    enable: true
    host: «192.168.1.33»
    path: «/RPC2»
    port: 55553
    user: «msf»
    pass: «BeefPass»
    callback_host: «192.168.1.33

    Una vez establecidos estos parámetros de forma correcta, se puede iniciar el servicio de Beef como se ha indicado anteriormente, y así es posible visualizar desde la consola que la extensión de metasploit se ha cargado correctamente, una vez exista una victima conectada, se podrán ver los exploits disponibles de metasploit aplicables para objetivos relacionados con navegadores web.