
C2 redirector base on caddy
C2-Redirector auf Basis von Caddy
Generiere Caddyfile mit C2-Malleable-Profilen
set trust_x_forwarded_for "true"; im C2-Malleable-Profil bereits aktiviert ist1. Generiere selbstsignierte Zertifikate mit „self-signed-cert.py“ :
python3 self-signed-cert.py -t [Https Server]
Wie du sehen kannst, werden localhost.* in core/cert-out generiert.

2. Aktiviere set trust_x_forwarded_for "true"; im C2-Malleable-Profil

3. Die Header Host & Referer müssen in jedem Client-Block des C2-Malleable-Profils definiert werden
⚠️ Hinweis: Die gefälschte Subdomain muss im SAN-Attribut (Subject Alternative Name) der selbstsignierten Zertifikate vorhanden sein.

4. Kopiere das C2-Profil in RedCaddy
Ich verwende threatexpress‘s jquery-c2.4.3.profile als Beispiel

5. Bearbeite die Weiterleitungsregeln in „chains.list“ bedeutet, dass eingehender Verkehr von Port *:443 an localhost (C2-Backend) weitergeleitet wird.
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
Q: Warum nicht das JSON- oder YAML-Format verwenden?
A: Tut mir leid, ich weiß nicht, wie man eine Caddyfile im JSON-/YAML-Format schreibt.
Q: Kann bei nicht passenden Routen eine 404-Antwort zurückgegeben werden?
A: Nun, Caddy kann das nicht ¯\(ツ)/¯.
443:https:192.168.128.64:10001https://192.168.128.64:10001
Q: Was ist „warden“?
A: Warden ist eine Whitelist-Funktion zum Schutz deines Teamserver-Ports. Dabei wird ein zufälliger Link mit zufälligen sicheren Zeichenfolgen generiert. Benutzer können sich erst mit dem Teamserver verbinden, nachdem sie ihn ausgelöst haben („warden“ hinter 443 bedeutet, dass der Link auf Port 443 verarbeitet wird).
6. Übergib die benötigten Argumente an generator.py und drücke dann die Eingabetaste.
python3 generator.py -f geacon_jd_pro.profile -r forward-chains.list -c CN -vps-ip 1.1.1.1

7. Führe schließlich Caddy mit der gerade generierten Caddyfile aus :)
sudo ./run.sh

8. Optional: Den benutzerdefinierten Caddy mit bestimmten Modulen erstellen