
موجه إعادة توجيه C2 مبني على Caddy
مُوجّه C2 مبني على Caddy
توليد ملف Caddyfile باستخدام ملفات C2 malleable profiles
set trust_x_forwarded_for "true"; في ملف C2 malleable profile1. توليد شهادات موقّعة ذاتيًا باستخدام "self-signed-cert.py" :
python3 self-signed-cert.py -t [Https Server]
كما ترى، يتم توليد localhost.* في core/cert-out

2. فعّل set trust_x_forwarded_for "true"; في ملف C2 malleable profile

3. يجب تعريف ترويسات Host و Referer في كل كتلة عميل (client block) داخل ملف C2 malleable profile
⚠️ ملاحظة: يجب أن يكون النطاق الفرعي المزوّر موجودًا في خاصية SAN (subject alternative name) الخاصة بالشهادات الموقّعة ذاتيًا

4. انسخ ملف C2 profile إلى RedCaddy
أستخدم threatexpress's jquery-c2.4.3.profile كتوضيح

5. عدّل قواعد إعادة التوجيه في "chains.list"
443:https:192.168.128.64:10001 تعني أن الطلبات الواردة من المنفذ *:443 يُعاد توجيهها إلى localhost على https://192.168.128.64:10001 (الواجهة الخلفية لـ C2)

س: ما هو "warden"؟
ج: Warden هي ميزة قائمة بيضاء لحماية منفذ الـ teamserver الخاص بك، حيث تولّد رابطًا عشوائيًا بسلاسل آمنة عشوائية. المستخدم غير القادر على الاتصال بالـ teamserver قبل تفعيلها ("warden" بعد 443 تعني معالجة الرابط على المنفذ 443).
6. مرر الوسائط التي يحتاجها generator.py ثم اضغط Enter.
python3 generator.py -f geacon_jd_pro.profile -r forward-chains.list -c CN -vps-ip 1.1.1.1

7. أخيرًا، شغّل caddy باستخدام ملف caddyfile الذي تم توليده للتو :)
sudo ./run.sh

8. اختياري: بناء Caddy المخصص مع الوحدات المحددة
git clone https://github.com/XiaoliChan/RedCaddy-core.git
cd cmd/caddy
go get github.com/aksdb/caddy-cgi/v2
go get github.com/XiaoliChan/caddy-maxmind-geolocation@self
CGO_ENABLED=0 go build
upx --best --lzma caddy
س: لماذا لا تستخدم صيغة json أو yaml؟
ج: عذرًا، لا أعرف كيفية كتابة caddyfile بصيغة json/yaml.
س: هل يمكن إرجاع 404 مع المسارات غير المتطابقة؟
ج: حسنًا، لا يمكن لـ caddy فعل ذلك ¯\(ツ)/¯.