
Una PoC su come utilizzare un Compute Shader come Payload
Questo è un esempio su come incorporare un payload in un compute shader. Il payload è cifrato e decifrato sulla GPU.
Questa non è in alcun modo un'implementazione completa, mancano considerazioni cruciali di OPSEC.
Genera un payload usando il tuo metodo preferito, io ho usato il classico calc.exe come esempio.
Poi usa lo script python polychrome.py per generare il codice dello shader.
python3 polychrome.py <path_to_payload> -t both --meta -n payload
Poi dovresti avere un file shader come un .hlsl
Per usarlo dobbiamo prima compilarlo.
fxc /T cs_5_0 /E CSMain /O3 /Fo payload.cso payload.hlsl
Sposta il file payload.cso e il file payload.meta.json nella directory resources.
Poi compila il progetto rust, il payload è incorporato nell'eseguibile:
cargo build --release
