
Una implementación de agresor de cobalt strike encriptada con XOR en .NET para chisel con el fin de utilizar un proxy más rápido y capacidades avanzadas de socks5.
Una implementación agresora de Cobalt Strike en .NET cifrada con XOR para chisel, destinada a utilizar un proxy más rápido y capacidades avanzadas de socks5.
En mi experiencia, encontré que los proxies socks4/socks4a son bastante lentos en comparación con sus contrapartes socks5 y que hay una falta de implementación de socks5 en la mayoría de los frameworks C2. Existe un wrapper en C# para la versión en Go de chisel llamado SharpChisel. Este wrapper tiene algunos problemas y no se mantiene actualizado con la última versión de su contraparte en Go. SharpChisel no producía shellcode compatible con donut, métodos de reflexión o execute-assembly. Se ha encontrado una solución para esto utilizando el proyecto SharpChisel-NG: https://github.com/latortuga71/SharpChisel-NG.
Dado que el ensamblado de SharpChisel-NG tiene alrededor de 16.7 MB, execute-assembly (tiene una limitación de tamaño oculta de 1 MB) y métodos similares en memoria no funcionarían. Para mantener la mayor parte de la ejecución en memoria, se incorpora el proyecto NetLoader y se ejecuta mediante execute-assembly para alojar y cargar de forma reflectiva una versión cifrada con XOR de SharpChisel-NG con argumentos en base64 en memoria.
Como alternativa, también es posible implementar proxies similares en C# como SharpSocks reemplazando los binarios de chisel apropiados en el proyecto.
Nota: Si se usa un teamserver de Windows, omita los pasos 2 y 3.
Clone / descargue el repositorio: git clone https://github.com/m3rcer/Chisel-Strike.git
Haga ejecutables todos los binarios:
cd Chisel-Strike
chmod +x -R chisel-modules
chmod +x -R tools
Mingw-w64 y mono:sudo apt-get install mingw-w64
sudo apt install mono-complete
ChiselStrike.cna en Cobalt Strike usando el Script ManagerRecompile y reemplace los binarios actualizados desde la carpeta src si es necesario.
chisel se puede ejecutar tanto en el cliente del teamserver de CS (Windows/Linux) como en el beacon. Cualquiera de los dos puede actuar como servidor o cliente. Un flujo de ejecución normal sería configurar un servidor chisel en el teamserver de CS y luego crear un cliente en el beacon para conectarse de vuelta al teamserver.
chisel <client/server> <command>: Ejecutar chisel en un beacon
chisel-tms <client/server> <command>: Ejecutar chisel en tu teamserver de CS
chisel-enc: Cifrar SharpChisel-NG con XOR usando una contraseña a elección
chisel-jobs: Listar trabajos activos de chisel en el teamserver de CS y el beacon
chisel-kill: Matar trabajos activos de chisel en un beacon
chisel-tms-kill: Matar trabajos activos de chisel en tu cliente teamserver de CS

SharpChisel-NG suelta un DLL en disco debido al uso de los paquetes Costura / Fody en una ubicación similar a: C:\Users\m3rcer\AppData\Local\Temp\Costura\CB9433C24E75EC539BF34CD1AA12B236\64\main.dll, que es detectado por Defender. Se recomienda ofuscar y actualizar los DLL de chisel y SharpChisel-NG en el proyecto.
Encontrar una forma de evitar que SharpChisel suelte main.dll en el disco / crear un nuevo wrapper en C# para chisel.
Crear un método para analizar la salida del comando chisel-tms.
shantanu561993 por la implementación del wrapper en C# de chisel: SharpChisel
latortuga71 por la corrección de load-assembly: SharpChisel-NG