
Ein PoC zur Verwendung eines Compute Shaders als Payload
Dies ist ein Beispiel dafür, wie man eine Payload in einen Compute-Shader einbettet. Die Payload wird verschlüsselt und auf der GPU entschlüsselt.
Dies ist keineswegs eine vollständige Implementierung, es fehlen entscheidende OPSEC-Überlegungen.
Generiere eine Payload mit deiner bevorzugten Methode; ich habe die klassische calc.exe als Beispiel verwendet.
Verwende dann das Python-Skript polychrome.py, um den Shader-Code zu generieren.
python3 polychrome.py <path_to_payload> -t both --meta -n payload
Dann solltest du eine Shader-Datei wie eine .hlsl haben.
Um sie zu verwenden, müssen wir sie zuerst kompilieren.
fxc /T cs_5_0 /E CSMain /O3 /Fo payload.cso payload.hlsl
Verschiebe die Datei payload.cso und die Datei payload.meta.json in das Verzeichnis resources.
Kompiliere dann das Rust-Projekt; die Payload wird in die ausführbare Datei eingebettet:
cargo build --release
