
Un PoC sobre cómo usar un Compute Shader como Payload
Este es un ejemplo de cómo incrustar un payload en un compute shader. El payload está cifrado y se descifra en la GPU.
Esto no es de ninguna manera una implementación completa, le faltan consideraciones cruciales de OPSEC.
Genera un payload usando tu método preferido, yo usé el clásico calc.exe como ejemplo.
Luego usa el script de python polychrome.py para generar el código del shader.
python3 polychrome.py <path_to_payload> -t both --meta -n payload
Entonces deberías tener un archivo de shader como un .hlsl
Para usarlo necesitamos compilarlo primero.
fxc /T cs_5_0 /E CSMain /O3 /Fo payload.cso payload.hlsl
Mueve el archivo payload.cso y el archivo payload.meta.json al directorio resources.
Luego compila el proyecto de rust, el payload se incrusta en el ejecutable:
cargo build --release
