Sleight
Empire-HTTP(S)-C2-Redirector-Einrichtungsskript.
Verwendung:
Sleight kann auf 3 Arten verwendet werden:
1) HTTP-Redirector einrichten:
- Führe Sleight aus und füttere es mit einem Empire-Kommunikationsprofil.
- Gib die IP-Adresse und den Listening-Port deines Empire-C2 ein.
- Beantworte die HTTPS-Abfrage mit Nein.
- Gib eine Website ein, an die alle ungültigen Anfragen umgeleitet werden sollen.
- Starte einen Empire-HTTP-Listener, bei dem die Eigenschaft 'Host' auf die Domain deines Redirectors gesetzt ist.
Referenz zu HTTP-Redirectors:
2) HTTPS-Redirector einrichten:
- Führe Sleight aus und füttere es mit einem Empire-Kommunikationsprofil.
- Gib die IP-Adresse und den Listening-Port deines Empire-C2 ein.
- Beantworte die HTTPS-Abfrage mit Ja.
- Gib eine Website ein, an die alle ungültigen Anfragen umgeleitet werden sollen.
- Gib die Domain ein, die deinem Redirector zugewiesen ist (zur Erzeugung eines Let's-Encrypt-Zertifikats).
- Stimme den certbot-Abfragen zu.
- Starte einen Empire-HTTPS-Listener, bei dem die Eigenschaft 'Host' auf die Domain deines Redirectors gesetzt ist.
Hinweise zur HTTPS-Redirector-Einrichtung:
- Die Zertifikatserzeugung funktioniert erst, sobald die Domain deines Redirectors erfolgreich propagiert wurde.
- Du benötigst DNS-Einträge sowohl für DOMAIN.com als auch für www.DOMAIN.com der Domain deines Redirectors.
- Du kannst die standardmäßigen HTTPS-Zertifikate verwenden, die Empire mitbringt (im Verzeichnis '/empire/data/' zu finden), für die Eigenschaft 'CertPath', wenn du einen HTTPS-Listener auf deinem C2-Server startest.
Referenz zu HTTPS-Redirectors:
3) Nur Regeln (ohne Einrichtung):
Wenn du Sleight nur verwenden möchtest, um ein Empire-Kommunikationsprofil in mod_rewrite-Regeln umzuwandeln, und deinen Redirector nicht einrichten möchtest, füttere es einfach mit einem Kommunikationsprofil und beantworte die Abfrage „proceed with setup" mit Nein.
4) CLI-Argumente:
Wenn du Sleight nicht interaktiv verwenden möchtest, findest du die Kommandozeilenargumente in der Standardausgabe. Jeder Wert, der beim Start nicht definiert ist, wird während der Ausführung abgefragt.
Beispiele:
$ sudo python sleight.py -c profiles/default.txt
$ sudo python sleight.py --modeHTTPS=y --myDomain=3xample.com --ip=My.C2.IP.Address --redirectDomain=example.com -c profiles/default.txt --proceed=n --port=80