
تحويل ملفات تعريف Cobalt Strike إلى نصوص modrewrite
يقوم هذا المشروع بتحويل ملف تعريف Cobalt Strike إلى ملف تكوين mod_rewrite
.htaccess أو Nginx وظيفي لدعم إعادة توجيه الوكيل العكسي HTTP إلى خادم فريق Cobalt Strike. يوفر استخدام الوكيل العكسي حماية لخوادم 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 الخاص بك يحتوي على رأس Accept-Encoding لـ gzip، فقد يقوم تثبيت Apache الخاص بك بضغط هذا المرور افتراضيًا ويتسبب في عدم استجابة Beacon أو عمله بشكل غير صحيح. للتغلب على ذلك، قم بتعطيل mod_deflate (عبر a2dismod deflate وأضف علامة 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
إذا كنت تخطط لاستخدام mod_rewrite في ملفات .htaccess (بدلاً من ملف تكوين الموقع)، فستحتاج أيضًا إلى تمكين استخدام ملفات .htaccess عن طريق تغيير AllowOverride None إلى AllowOverride All. لجميع مواقع الويب، قم بتحرير /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) وقوائم سوداء لوكلاء المستخدمين السيئين ونطاقات IP. شكرًا @curi0usJack على الأفكار.