
Cobalt Strike का aggressor script जो beacon shellcode को जनरेट करने, फ़ॉर्मेट करने और एन्क्रिप्ट करने के लिए है, जिसमें कई exit methods, syscalls, और encoding/compression transforms का समर्थन है।
Ryan Stephenson (RCStep)
कोबाल्ट स्ट्राइक के टॉप मेन्यू बार में शेलकोड - शेलकोड जनरेटर जोड़ता है

CSSG आक्रामक (aggressor), .NET, और पायथन स्क्रिप्ट हैं जिनका उपयोग बीकन शेलकोड को अधिक आसानी से उत्पन्न और फ़ॉर्मेट करने के लिए किया जाता है
बीकन स्टेजलेस शेलकोड को एक्सपोज़्ड एग्ज़िट मेथड, अतिरिक्त फ़ॉर्मेटिंग, एन्क्रिप्शन, एन्कोडिंग, कम्प्रेशन, मल्टीलाइन आउटपुट आदि के साथ उत्पन्न करता है
शेलकोड ट्रांसफ़ॉर्म मेनू में सूचीबद्ध क्रम के उल्टे क्रम में लागू होते हैं
आवश्यकताएँ:
RC4/AES एन्क्रिप्शन विकल्प /assets फ़ोल्डर में एक पायथन स्क्रिप्ट या .NET असेंबली का उपयोग करता है
पायथन-आधारित एन्क्रिप्शन RC4/AES एन्क्रिप्शन करने के लिए pycryptodome पैकेज की स्थापना पर निर्भर करता है
अपने पायथन वातावरण के अनुसार pip के साथ pycryptodome स्थापित करें:
python -m pip install pycryptodome
python3 -m pip install pycryptodome
py -3 -m pip install pycryptodome
py -2 -m pip install pycryptodome
pip इंस्टॉल के बाद आप इस तरह के कमांड से जाँच सकते हैं कि pycryptodome मौजूद है:
python -m pip list | grep crypto
जनरेटर RC4/AES एन्क्रिप्शन स्क्रिप्ट लॉन्च करने के लिए आपके क्लाइंट होस्ट के डिफ़ॉल्ट "python" कमांड का उपयोग करेगा
RC4/AES .exe बैकएंड विकल्प के लिए आपके क्लाइंट होस्ट को नेटिव .NET फ्रेमवर्क असेंबली निष्पादित करने में सक्षम होना चाहिए
शेलकोड जनरेटर के विकल्प हैं:
Listener:
"..." बटन से एक वैध लिसनर चुनें। इस लिसनर चयन से शेलकोड उत्पन्न होगा
Delivery:
स्टेजलेस (शेलकोड जनरेटर के लिए स्टेज्ड समर्थित नहीं है)
Exit Method:
process - जब बीकन बंद किया जाता है तो उस पूरी प्रक्रिया को समाप्त कर देता है जिसमें बीकन मौजूद है
thread - जब बीकन बंद किया जाता है तो केवल उस थ्रेड को समाप्त करता है जिसमें बीकन चल रहा है
Beacon Syscalls Method:
none
direct
indirect
Beacon HTTP Library:
wininet
winhttp
Local Pointers Checkbox:
यदि आप मौजूदा बीकन से शेलकोड निष्पादित करने जा रहे हैं तो उपयोग कर सकते हैं
एक बीकन शेलकोड पेलोड उत्पन्न करता है जो एक समान-आर्क पैरेंट बीकन से मुख्य फ़ंक्शन पॉइंटर्स प्राप्त करता है
Existing Session:
पैरेंट बीकन सत्र जहाँ से शेलकोड सत्र मेटाडेटा खींचेगा
शेलकोड को इस बीकन सत्र के अंदर से चलाया जाना चाहिए
x86 Checkbox:
x86 शेलकोड उत्पन्न करने के लिए चेक करें, डिफ़ॉल्ट रूप से x64 उत्पन्न होता है
Or Use Shellcode File:
बीकन शेलकोड उत्पन्न करने के बजाय बाहरी रूप से उत्पन्न रॉ शेलकोड फ़ाइल का उपयोग करें
यह आपको अन्य निर्यातित बीकन फ़ाइलों या अन्य टूल (Donut, msfvenom, आदि) के आउटपुट का उपयोग करने की अनुमति देता है
Formatting:
raw - रॉ बाइनरी शेलकोड आउटपुट, कोई फ़ॉर्मेटिंग लागू नहीं
hex - हेक्स फ़ॉर्मेटेड शेलकोड आउटपुट
0x90,0x90,0x90 - C# शैली बाइट ऐरे में फ़ॉर्मेटेड शेलकोड
0x90uy;0x90uy;0x90uy - F# शैली बाइट ऐरे में फ़ॉर्मेटेड शेलकोड
\x90\x90\x90 - C\C++ शैली बाइट ऐरे में फ़ॉर्मेटेड शेलकोड
UUID - शेलकोड को पायथन स्क्रिप्ट के साथ UUID स्ट्रिंग्स में बदलना (16 बाइट चंक के लिए \x90s से पैडेड)
b64 - जनरेशन प्रक्रिया में जल्दी (किसी एन्क्रिप्शन से पहले) शेलकोड को base64 एन्कोड करने का विकल्प
XOR Encrypt Shellcode Checkbox:
शेलकोड को XOR एन्क्रिप्ट करने के लिए चेक करें (एक समय में केवल एक एन्क्रिप्शन प्रकार चुना जा सकता है)
XOR Key(s):
एन्क्रिप्शन के लिए उपयोग करने हेतु यादृच्छिक रूप से उत्पन्न और संपादन योग्य XOR की कैरेक्टर
एकाधिक कैरेक्टर के परिणामस्वरूप XOR एन्क्रिप्शन के कई राउंड होंगे (जैसे ABCDE)
RC4 Encrypt Shellcode Checkbox:
शेलकोड को RC4 एन्क्रिप्ट करने के लिए चेक करें (एक समय में केवल एक एन्क्रिप्शन प्रकार चुना जा सकता है)
RC4 एन्क्रिप्शन करने के लिए पायथन स्क्रिप्ट या .NET फ्रेमवर्क असेंबली का उपयोग करता है
AES Encrypt Shellcode Checkbox:
शेलकोड को AES एन्क्रिप्ट करने के लिए चेक करें (एक समय में केवल एक एन्क्रिप्शन प्रकार चुना जा सकता है)
AES Block Cipher AES-CBC एन्क्रिप्शन करने के लिए पायथन स्क्रिप्ट या .NET फ्रेमवर्क असेंबली का उपयोग करता है
ब्लॉक साइज़ आवश्यकताओं को पूरा करने के लिए शेलकोड को \0 मानों से पैड किया जाता है
एक यादृच्छिक रूप से उत्पन्न IV एन्क्रिप्टेड शेलकोड डेटा से पहले जोड़ा जाता है
RC4/AES Backend Checkbox:
आपकी शेलकोड फ़ाइल को एन्क्रिप्ट करने के लिए .NET exe असेंबली का उपयोग करने के लिए चेक करें
अनचेक करने पर आपकी शेलकोड फ़ाइल को एन्क्रिप्ट करने के लिए पायथन स्क्रिप्ट का उपयोग करता है
AES के लिए स्वीकृत एन्क्रिप्शन की बाइट लंबाई 16, 24 और 32 हैं
.NET का उपयोग करते समय RC4 के लिए एन्क्रिप्शन की बाइट लंबाई कोई भी हो सकती है, और पायथन का उपयोग करते समय न्यूनतम 5 बाइट्स
RC4/AES Backend tools:
एक पायथन स्क्रिप्ट और संकलित .NET असेंबली assets निर्देशिका में हैं
यदि आप मुझ पर भरोसा नहीं करते तो स्व-संकलन के लिए Encryptor असेंबली का स्रोत फ़ोल्डर भी वहाँ है
ये दोनों उपकरण RC4/AES शेलकोड/फ़ाइलों को एन्क्रिप्ट और डिक्रिप्ट कर सकते हैं
encrypt_file.py उपयोग:
encrypt_file.py [aes/rc4] [encrypt/decrypt] [key] [input file] [output file]
Encryptor.exe उपयोग:
Encryptor.exe [aes/rc4] [encrypt/decrypt] [key] [input file] [output file]
RC4 या AES Key
एन्क्रिप्शन के लिए उपयोग करने हेतु यादृच्छिक रूप से उत्पन्न और संपादन योग्य RC4/AES कुंजी
256 बिट AES एन्क्रिप्शन शक्ति के लिए 32 बाइट AES कुंजी उत्पन्न और पसंद की जाती है
AES एन्क्रिप्शन कुंजी बाइट लंबाई स्वीकृत: 16, 24 और 32
.NET का उपयोग करते समय RC4 कुंजी लंबाई न्यूनतम 1 बाइट है और पायथन का उपयोग करते समय न्यूनतम 5 बाइट्स
Encoding/Compression:
none - शेलकोड पर कोई अतिरिक्त एन्कोडिंग या कम्प्रेशन नहीं किया जाता
b64 - शेलकोड को base64 एन्कोड करें
gzip then b64 - पहले gzip कम्प्रेस करें फिर base64 करें
gzip - शेलकोड को gzip कम्प्रेस करें
b64 then gzip - पहले base64 करें फिर gzip कम्प्रेस करें
b64 then 7xgzip - पहले base64 करें फिर शेलकोड को 7 बार gzip कम्प्रेस करें
Multiline Output:
गैर-रॉ/बाइनरी आउटपुट फ़ॉर्मेट के लिए उपयोग किया जा सकता है
none - कोई मल्टीलाइन फ़ॉर्मेटिंग नहीं, शेलकोड एक लंबी स्ट्रिंग है
quoted - शेलकोड को उद्धरण चिह्नों से घिरी पंक्तियों में तोड़ा जाता है
chunks.push_back - शेलकोड को chunks.push_back(" और "); से घिरी पंक्तियों में तोड़ा जाता है
Multiline Length:
यदि मल्टीलाइन आउटपुट विकल्प चुना गया है तो प्रत्येक पंक्ति में शेलकोड वर्णों की संख्या
Generate Button:
शेलकोड आउटपुट के लिए निर्देशिका चुनें
डिफ़ॉल्ट फ़ाइलनाम beacon होगा लेकिन बदला जा सकता है
उपयोग की गई कोई भी एन्क्रिप्शन कुंजी एक पॉपअप में प्रदर्शित होगी और कोबाल्ट स्ट्राइक स्क्रिप्ट कंसोल में भी लिखी जाएगी
रॉ बीकन शेलकोड और अंतिम फ़ॉर्मेटेड बीकन शेलकोड का बाइट आकार एक पॉपअप में प्रदर्शित होगा और स्क्रिप्ट कंसोल में भी लिखा जाएगा
शेलकोड उत्पन्न/बनाने के लिए उपयोग की गई फ़ाइलों का स्थान scripts/shellcode_generator.cna फ़ाइल में सेट किया गया है
कई इन्फोसेक योगदानकर्ताओं के काम से प्रेरित