
Redirector C2 basato su caddy
Redirector C2 basato su caddy
Genera caddyfile con profili malleabili C2
set trust_x_forwarded_for "true"; sia già abilitato nel profilo malleabile C21. Genera i certificati autofirmati con "self-signed-cert.py" :
python3 self-signed-cert.py -t [Https Server]
Come puoi vedere, localhost.* vengono generati in core/cert-out

2. Abilita set trust_x_forwarded_for "true"; nel profilo malleabile C2

3. Gli header Host e Referer devono essere definiti in ogni blocco client del profilo malleabile C2
⚠️ Nota: il sottodominio fittizio deve essere presente nell'attributo SAN (subject alternative name) dei certificati autofirmati

4. Copia il profilo C2 in RedCaddy
Uso jquery-c2.4.3.profile di threatexpress come dimostrazione

5. Modifica le regole di reindirizzamento in "chains.list"
443:https:192.168.128.64:10001 significa che il traffico in arrivo sulla porta *:443 viene reindirizzato a localhost https://192.168.128.64:10001 (backend C2)

D: Cos'è "warden"?
R: Warden è una funzionalità whitelist per proteggere la porta del teamserver; genera un link casuale con stringhe sicure casuali. L'utente non ha la possibilità di connettersi al teamserver prima di averlo attivato ("warden" dietro 443 significa gestire il link sulla porta 443).
6. Passa gli argomenti necessari a generator.py, poi premi Invio.
python3 generator.py -f geacon_jd_pro.profile -r forward-chains.list -c CN -vps-ip 1.1.1.1

7. Infine, esegui caddy con il caddyfile appena generato :)
sudo ./run.sh

8. Opzionale: compila il caddy personalizzato con i moduli specifici
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
D: Perché non usare il formato json o yaml?
R: Spiacente, non so come scrivere il caddyfile in formato json/yaml.
D: Può rispondere con 404 per le route non corrispondenti?
R: Beh, caddy non può farlo ¯\(ツ)/¯.