
نص برمجي آلي لإعداد موجّهات CobaltStrike (وكيل عكسي nginx، letsencrypt)
إعداد آلي لـ redirector متوافق مع أدوات RAT عبر HTTP (CobaltStrike Beacon, meterpreter، إلخ) ومع CobaltStrike DNS Beacon. يمكن للسكربت إما إعداد nginx كوكيل عكسي، أو وكيل/مُوجّه DNS باستخدام dnsmasq. إذا تم اختيار HTTPS، فسيقوم تلقائيًا بإعداد letsencrypt certbot والحصول على شهادات SSL صالحة من letsencrypt لاسم نطاق الـ redirector الخاص بك، ثم تشغيل nginx باستخدام التكوين المُولّد.
تتيح طريقة الوكيل العكسي إعداد أكثر من redirector واحد، لكل منها شهادة صالحة خاصة به، وكلها تشير إلى نفس CobaltStrike HTTPS stager/listener حتى إذا كان CobaltStrike يستخدم شهادة موقّعة ذاتيًا/غير موثوقة.
من الممكن أيضًا تعديل تكوين nginx الذي يولّده السكربت لإضافة ميزات إضافية. على سبيل المثال، يمكنك اختيار تمرير فقط الحركة التي تطابق ملف C2 المرن (malleable c2 profile) الخاص بـ CobaltStrike، وعرض صفحة ثابتة أو وكيل مختلف بخلاف ذلك. يُعدّل التكوين ترويسة user-agent لإضافة عنوان IP المصدر الأصلي بحيث يمكنك رؤيته مباشرة في سجلات الويب الخاصة بـ CobaltStrike (انظر الصورة أدناه).
مع بعض التعديلات على التكوين، يمكنك حتى عمل SSL offload لحركة HTTPS الخاصة بـ beacon وتوجيهها إلى مستمع HTTP على teamserver!.

git clone https://github.com/taherio/redi.git
cd redi
chmod u+x redi.sh
./redi.sh <redirector domain> <teamserver ip/domain> <http/https>
#alternatively for dns redirector
./redi.sh <teamserver ip> dns
./redi.sh first.myredirector.ca,second.myredirector.ca,third.myredirector.ca myteamserver.com https
./redi.sh myredirector.ca myteamserver.com https
./redi.sh 192.0.0.1 dns
server {
listen 443 ssl;
server_name myredirector.ca;
ssl on;
ssl_certificate /etc/letsencrypt/live/myredirector.ca/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/myredirector.ca/privkey.pem;
location / {
proxy_pass https://myteamserver.com:443/;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header "User-Agent" "${http_user_agent} - Original IP ${remote_addr}";
}
}