
Eine .NET XOR-verschlüsselte Cobalt Strike Aggressor-Implementierung für Chisel, um schnellere Proxy- und erweiterte Socks5-Funktionen zu nutzen.
Eine .NET XOR-verschlüsselte Cobalt Strike Aggressor-Implementierung für Chisel, um einen schnelleren Proxy und erweiterte SOCKS5-Fähigkeiten zu nutzen.
Meiner Erfahrung nach sind SOCKS4/SOCKS4a-Proxys im Vergleich zu ihren SOCKS5-Gegenstücken recht langsam, und es fehlt die Implementierung von SOCKS5 in den meisten C2-Frameworks. Es gibt einen C#-Wrapper um die Go-Version von Chisel namens SharpChisel. Dieser Wrapper hat einige Probleme und wird nicht auf dem neuesten Stand der Go-Version gehalten. SharpChisel erzeugte keinen kompatiblen Shellcode mit Donut, Reflexionsmethoden oder execute-assembly. Eine Lösung dafür wurde mit dem SharpChisel-NG-Projekt gefunden: https://github.com/latortuga71/SharpChisel-NG.
Da die SharpChisel-NG-Assembly etwa 16.7 MB groß ist, würden execute-assembly (hat eine versteckte Größenbeschränkung von 1 MB) und ähnliche speicherresidente Methoden nicht funktionieren. Um den Großteil der Ausführung im Speicher zu halten, wird das NetLoader-Projekt integriert und über execute-assembly ausgeführt, um eine XOR-verschlüsselte Version von SharpChisel-NG mit Base64-Argumenten reflektiv im Speicher zu hosten und zu laden.
Alternativ ist es auch möglich, ähnliche C#-Proxys wie SharpSocks zu implementieren, indem man die entsprechenden Chisel-Binärdateien im Projekt ersetzt.
Hinweis: Wenn Sie einen Windows-Teamserver verwenden, überspringen Sie die Schritte 2 und 3.
Repository klonen / herunterladen: git clone https://github.com/m3rcer/Chisel-Strike.git
Alle Binärdateien ausführbar machen:
cd Chisel-Strike
chmod +x -R chisel-modules
chmod +x -R tools
Mingw-w64 und mono installieren:sudo apt-get install mingw-w64
sudo apt install mono-complete
ChiselStrike.cna in Cobalt Strike mit dem Skript-Manager importierenKompilieren Sie neu und ersetzen Sie aktualisierte Binärdateien aus dem src-Ordner, falls nötig.
Chisel kann sowohl auf dem CS-Teamserver-Client (Windows/Linux) als auch auf dem Beacon ausgeführt werden, wobei entweder als Server oder Client fungiert. Ein normaler Ausführungsablauf wäre, einen Chisel-Server auf dem CS-Teamserver einzurichten und dann einen Client auf dem Beacon zu erstellen, der sich mit dem Teamserver verbindet.
chisel <client/server> <command>: Chisel auf einem Beacon ausführen
chisel-tms <client/server> <command>: Chisel auf Ihrem CS-Teamserver ausführen
chisel-enc: SharpChisel-NG mit einem frei wählbaren Passwort XOR-verschlüsseln
chisel-jobs: Aktive Chisel-Jobs auf dem CS-Teamserver und Beacon auflisten
chisel-kill: Aktive Chisel-Jobs auf einem Beacon beenden
chisel-tms-kill: Aktive Chisel-Jobs auf Ihrem CS-Teamserver-Client beenden

SharpChisel-NG legt aufgrund der Verwendung von Costura / Fody-Paketen eine DLL auf der Festplatte ab, an einem Ort wie: C:\Users\m3rcer\AppData\Local\Temp\Costura\CB9433C24E75EC539BF34CD1AA12B236\64\main.dll, was von Defender erkannt wird. Es wird empfohlen, die Chisel-DLLs und SharpChisel-NG im Projekt zu verschleiern und zu aktualisieren.
Einen Weg finden, um zu vermeiden, dass SharpChisel main.dll auf die Festplatte legt / einen neuen C#-Wrapper für Chisel erstellen.
Eine Methode zum Parsen der Befehlsausgabe für den chisel-tms-Befehl erstellen.
shantanu561993 für die C#-Wrapper-Implementierung von Chisel: SharpChisel
latortuga71 für den load-assembly-Fix: SharpChisel-NG