
Cobalt Strike प्रोफाइल को modrewrite स्क्रिप्ट में बदलें
यह प्रोजेक्ट Cobalt Strike प्रोफ़ाइल को एक कार्यात्मक mod_rewrite
.htaccess या Nginx कॉन्फ़िग फ़ाइल में परिवर्तित करता है ताकि Cobalt Strike टीमसर्वर के लिए HTTP रिवर्स प्रॉक्सी रीडायरेक्शन का समर्थन किया जा सके। रिवर्स प्रॉक्सी का उपयोग बैकएंड C2 सर्वरों को प्रोफाइलिंग, जांच और सामान्य इंटरनेट बैकग्राउंड विकिरण से सुरक्षा प्रदान करता है।
नोट: तैनाती से पहले आपको आउटपुट का परीक्षण और आवश्यकतानुसार समायोजन करना चाहिए, लेकिन ये स्क्रिप्ट अधिकांश भारी काम संभाल लेंगी।
त्वरित परीक्षण के लिए havex.profile उदाहरण शामिल है।
.htaccess या /etc/nginx/nginx.conf में सहेजेंpython3 cs2modrewrite.py -i havex.profile -c https://TEAMSERVER -r https://GOHERE -o /etc/apache2/redirect.rules
उदाहरण Apache कॉन्फ़िग
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
RemoteIPHeader X-Forwarded-For
ErrorLog /var/log/apache2/redirector_error.log
CustomLog /var/log/apache2/redirector_access.log combined
ErrorDocument 401 " "
ErrorDocument 403 " "
ErrorDocument 404 " "
ErrorDocument 500 " "
ErrorDocument 503 " "
# Include redirect.rules
Include /etc/apache2/redirect.rules
</VirtualHost>
Apache सर्वर हेडर, ServerTokens, और लॉगिंग को निम्नलिखित जैसी चीज़ों से अपडेट करने पर विचार करें।
## Update Apached Server Header, ServerTokens, and logging
echo "Update Update Apached Server Header, ServerTokens, and logging"
sed -i -e 's/\(ServerTokens\s\+\)OS/\1Prod/g' /etc/apache2/conf-enabled/security.conf
sed -i -e 's/\(ServerSignature\s\+\)On/\1Off/g' /etc/apache2/conf-enabled/security.conf
echo "SecServerSignature Server" >> /etc/apache2/conf-enabled/security.conf
echo "LogLevel alert rewrite:trace2" >> /etc/apache2/conf-enabled/security.conf
## Update Apached remoteip.conf
echo "Update Apached remoteip.conf"
echo "RemoteIPHeader X-Forwarded-For" >> /etc/apache2/conf-enabled/remoteip.conf
## Restart apache server
echo "Restart apache server"
systemctl restart apache2
python3 cs2modrewrite.py -i havex.profile -c https://TEAMSERVER -r https://GOHERE -o /var/www/html/.htaccess
apt-get install apache2
a2enmod rewrite headers proxy proxy_http ssl cache
a2dismod -f deflate
service apache2 reload
नोट: https://bluescreenofjeff.com/2016-06-28-cobalt-strike-http-c2-redirectors-with-apache-mod_rewrite/ "e0x70i ने नीचे टिप्पणियों में बताया कि यदि आपकी Cobalt Strike Malleable C2 प्रोफ़ाइल में gzip के लिए Accept-Encoding हेडर है, तो आपका Apache इंस्टॉलेशन उस ट्रैफ़िक को डिफ़ॉल्ट रूप से संपीड़ित कर सकता है और आपके Beacon को अनुत्तरदायी या गलत तरीके से कार्य करने का कारण बन सकता है। इसे दूर करने के लिए, mod_deflate अक्षम करें (a2dismod deflate के माध्यम से और अपने rewrite नियमों में No Encode ([NE]) फ़्लैग जोड़ें। (धन्यवाद, e0x70i!)"
सुनिश्चित करें कि साइट के कॉन्फ़िग में निम्नलिखित प्रविष्टियाँ हैं (यानी /etc/apache2/available-sites/*.conf)
# Enable SSL
SSLEngine On
# Enable SSL Proxy
SSLProxyEngine On
# Trust Self-Signed Certificates generated by CobaltStrike
SSLProxyVerify none
SSLProxyCheckPeerCN off
SSLProxyCheckPeerName off
SSLProxyCheckPeerExpire off
यदि आप साइट की कॉन्फ़िग फ़ाइल के बजाय .htaccess फ़ाइलों में mod_rewrite का उपयोग करने की योजना बना रहे हैं, तो आपको AllowOverride None को AllowOverride All में बदलकर .htaccess फ़ाइलों के उपयोग को सक्षम करने की भी आवश्यकता है। सभी वेबसाइटों के लिए, /etc/apache2/apache.conf संपादित करें
<Directory /var/www/>
Options FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
अंत में, सुनिश्चितता के लिए Apache को एक बार पुनः प्रारंभ करें।
service apache2 restart
यदि आपको रीडायरेक्शन नियम व्यवहार की समस्या निवारण करने की आवश्यकता है, तो अपनी साइट की कॉन्फ़िगरेशन फ़ाइल में निम्नलिखित पंक्ति जोड़कर विस्तृत त्रुटि ट्रेसिंग सक्षम करें।
LogLevel alert rewrite:trace5
इसके बाद, Apache को रीलोड करें, और देखें कि कौन से नियम मेल खा रहे हैं, इसके लिए /var/log/access.log /var/log/error.log की निगरानी करें।
apt-get install nginx nginx-extras
नोट: कस्टम सर्वर हेडर के लिए nginx-extras आवश्यक है। यदि आप यह पैकेज प्राप्त नहीं कर सकते हैं, तो परिणामी कॉन्फ़िगरेशन फ़ाइल में सर्वर हेडर पंक्ति को कमेंट कर दें।
cs2nginx.py आउटपुट को /etc/nginx/nginx.conf में सहेजें और आवश्यकतानुसार संशोधित करें (SSL पैरामीटर)।
python3 ./cs2nginx.py -i havex.profile -c https://127.0.0.1 -r https://www.google.com -H mydomain.local >/etc/nginx/nginx.conf
अंत में, सर्वर कॉन्फ़िगरेशन फ़ाइल को संशोधित करने के बाद nginx को पुनः प्रारंभ करें।
service nginx restart
एक बार रीडायरेक्शन कॉन्फ़िगर और कार्यशील हो जाने पर, सुनिश्चित करें कि आपके C2 सर्वर केवल रीडायरेक्टर और आपके विश्वसनीय IP (VPN, कार्यालय रेंज, आदि) से प्रवेश की अनुमति देते हैं।
GeoIP प्रतिबंधों (mod_maxmind) और खराब user agents व IP रेंज की ब्लैकलिस्ट का उपयोग करके अतिरिक्त रीडायरेक्टर सुरक्षा जोड़ने पर विचार करें। विचारों के लिए @curi0usJack को धन्यवाद।