
Script automatizzato per la configurazione di redirector CobaltStrike (proxy inverso nginx, letsencrypt)
Configurazione automatica del redirector compatibile con RAT HTTP (CobaltStrike Beacon, meterpreter, ecc.) e CobaltStrike DNS Beacon. Lo script può configurare un reverse proxy nginx oppure un proxy/forwarder DNS tramite dnsmasq. Se si seleziona HTTPS, configurerà automaticamente letsencrypt certbot e otterrà certificati SSL letsencrypt validi per il nome di dominio del redirector, avviando nginx con la configurazione generata.
Il metodo del proxy inverso permette di configurare più di un redirector, ciascuno con il proprio certificato valido, tutti che puntano allo stesso stager/listener HTTPS di CobaltStrike, anche se CobaltStrike utilizza un certificato autofirmato/non attendibile.
È anche possibile modificare la configurazione nginx generata dallo script per aggiungere funzionalità extra. Ad esempio, puoi scegliere di fare da proxy solo al traffico che corrisponde al tuo profilo malleable c2 di CobaltStrike e servire una pagina statica o un proxy diverso in caso contrario. La configurazione modifica l'header user-agent per aggiungere l'IP di origine originale, così puoi vederlo direttamente nei log web di CobaltStrike (vedi immagine sotto).
Con qualche modifica alla configurazione puoi persino fare SSL offload del traffico HTTPS del beacon verso un listener HTTP del 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}";
}
}