
Un'implementazione aggressor di cobalt strike crittografata con XOR in .NET per utilizzare chisel per un proxy più veloce e capacità SOCKS5 avanzate.
Un'implementazione aggressiva di .NET XOR crittografata per cobalt strike per utilizzare proxy più veloci e capacità avanzate di socks5.
Nella mia esperienza, ho trovato i proxy socks4/socks4a piuttosto lenti rispetto alle loro controparti socks5 e una mancanza di implementazione di socks5 nella maggior parte dei framework C2. Esiste un wrapper C# attorno alla versione Go di chisel chiamato SharpChisel. Questo wrapper ha alcuni problemi e non è mantenuto all'ultima versione della sua controparte Go. SharpChisel non produceva shellcode compatibile con donut, metodi di reflection o execute-assembly. È stata trovata una soluzione utilizzando il progetto SharpChisel-NG: https://github.com/latortuga71/SharpChisel-NG.
Poiché l'assembly di SharpChisel-NG è di circa 16.7 MB, execute-assembly (che ha un limite di dimensione nascosto di 1 MB) e metodi simili in memoria non funzionerebbero. Per mantenere la maggior parte dell'esecuzione in memoria, il progetto NetLoader viene incorporato ed eseguito tramite execute-assembly per ospitare e caricare riflessivamente una versione XOR crittografata di SharpChisel-NG con argomenti base64 in memoria.
In alternativa, è anche possibile implementare proxy C# simili come SharpSocks sostituendo i binari chisel appropriati nel progetto.
Nota: Se si utilizza un teamserver Windows, saltare i passaggi 2 e 3.
Clonare / scaricare il repository: git clone https://github.com/m3rcer/Chisel-Strike.git
Rendere eseguibili tutti i binari:
cd Chisel-Strike
chmod +x -R chisel-modules
chmod +x -R tools
Mingw-w64 e mono:sudo apt-get install mingw-w64
sudo apt install mono-complete
ChiselStrike.cna in cobalt strike utilizzando Script ManagerRicompilare e sostituire i binari aggiornati dalla cartella src se necessario.
chisel può essere eseguito sia sul client del teamserver CS (Windows / Linux) che sul beacon. Con entrambi che fungono da server / client. Un flusso di esecuzione normale sarebbe quello di impostare un server chisel sul teamserver CS e quindi creare un client sul beacon che si connetta al teamserver.
chisel <client/server> <command>: Esegue chisel su un beacon
chisel-tms <client/server> <command>: Esegue chisel sul tuo teamserver CS
chisel-enc: Crittografa XOR SharpChisel-NG con una password a scelta
chisel-jobs: Elenca i lavori chisel attivi sul teamserver CS e sul beacon
chisel-kill: Termina i lavori chisel attivi su un beacon
chisel-tms-kill: Termina i lavori chisel attivi sul tuo client teamserver CS

SharpChisel-NG rilascia una DLL su disco a causa dell'uso dei pacchetti Costura / Fody in una posizione simile a: C:\Users\m3rcer\AppData\Local\Temp\Costura\CB9433C24E75EC539BF34CD1AA12B236\64\main.dll che viene rilevata da Defender. Si consiglia di offuscare e aggiornare le DLL di chisel e SharpChisel-NG nel progetto.
Trovare un modo per evitare che SharpChisel rilasci main.dll su disco / creare un nuovo wrapper C# per chisel.
Creare un metodo per analizzare l'output dei comandi per il comando chisel-tms.
shantanu561993 per l'implementazione del wrapper C# di chisel: SharpChisel
latortuga71 per la correzione di load-assembly: SharpChisel-NG