
Compute Shader को Payload के रूप में उपयोग करने का एक PoC
यह एक उदाहरण है कि कैसे एक payload को compute shader में embed किया जाए। Payload एन्क्रिप्टेड है और GPU पर डिक्रिप्ट किया जाता है।
यह किसी भी तरह से एक पूर्ण implementation नहीं है, इसमें महत्वपूर्ण OPSEC considerations छूट गए हैं।
अपनी पसंदीदा विधि का उपयोग करके एक payload जनरेट करें, मैंने उदाहरण के लिए क्लासिक calc.exe का उपयोग किया।
फिर shader code जनरेट करने के लिए python script polychrome.py का उपयोग करें।
python3 polychrome.py <path_to_payload> -t both --meta -n payload
फिर आपके पास एक .hlsl जैसी shader फ़ाइल होनी चाहिए।
इसका उपयोग करने के लिए हमें इसे पहले compile करना होगा।
fxc /T cs_5_0 /E CSMain /O3 /Fo payload.cso payload.hlsl
payload.cso फ़ाइल और payload.meta.json फ़ाइल को resources directory में ले जाएँ।
फिर rust project को compile करें, payload executable में embed हो जाता है:
cargo build --release
