
Automatisiertes Skript zur Einrichtung von CobaltStrike-Redirectoren (nginx reverse proxy, letsencrypt)
Automatische Redirector-Einrichtung, kompatibel mit HTTP-RATs (CobaltStrike Beacon, meterpreter usw.) und CobaltStrike DNS Beacon. Das Skript kann entweder einen nginx-Reverse-Proxy oder einen DNS-Proxy/Forwarder mit dnsmasq einrichten. Wenn HTTPS ausgewählt wurde, richtet es automatisch letsencrypt certbot ein, erhält gültige letsencrypt-SSL-Zertifikate für Ihren Redirector-Domainnamen und startet nginx mit der generierten Konfiguration.
Die Reverse-Proxy-Methode ermöglicht die Einrichtung von mehr als einem Redirector, jeweils mit eigenem gültigen Zertifikat, die alle auf denselben CobaltStrike-HTTPS-Stager/Listener zeigen, selbst wenn CobaltStrike ein selbstsigniertes/nicht vertrauenswürdiges Zertifikat verwendet.
Es ist auch möglich, die vom Skript generierte nginx-Konfiguration zu ändern, um zusätzliche Funktionen hinzuzufügen. Beispielsweise können Sie festlegen, dass nur der Datenverkehr weitergeleitet wird, der zu Ihrem CobaltStrike-Malleable-C2-Profil passt, und andernfalls eine statische Seite oder ein anderer Proxy ausgeliefert wird. Die Konfiguration ändert den User-Agent-Header, um die ursprüngliche Quell-IP hinzuzufügen, sodass Sie diese direkt in Ihren CobaltStrike-Weblogs sehen können (siehe Bild unten).
Mit etwas Konfigurationsaufwand können Sie sogar das HTTPS-Traffic des Beacons per SSL-Offloading an einen HTTP-Listener des Teamservers weiterleiten!

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}";
}
}