
Un PoC sur la façon d'utiliser un Compute Shader comme Payload
Ceci est un exemple de la façon d'intégrer une charge utile dans un compute shader. La charge utile est chiffrée et déchiffrée sur le GPU.
Ce n'est en aucun cas une implémentation complète, il manque des considérations OPSEC cruciales.
Générez une charge utile en utilisant votre méthode préférée ; j'ai utilisé le classique calc.exe comme exemple.
Utilisez ensuite le script python polychrome.py pour générer le code du shader.
python3 polychrome.py <path_to_payload> -t both --meta -n payload
Vous devriez alors avoir un fichier shader comme un .hlsl
Pour l'utiliser, nous devons d'abord le compiler.
fxc /T cs_5_0 /E CSMain /O3 /Fo payload.cso payload.hlsl
Déplacez le fichier payload.cso et le fichier payload.meta.json dans le répertoire resources.
Compilez ensuite le projet rust, la charge utile est intégrée dans l'exécutable :
cargo build --release
