
पावरशेल स्क्रिप्ट को PNG फ़ाइल के पिक्सल में एन्कोड करता है और एक-लाइनर उत्पन्न करता है जिसे निष्पादित किया जा सके।
एक PowerShell स्क्रिप्ट को PNG फ़ाइल के पिक्सल में एन्कोड करता है और उसे निष्पादित करने के लिए एक oneliner जेनरेट करता है
Invoke-PSImage एक PowerShell स्क्रिप्ट लेता है और स्क्रिप्ट के बाइट्स को PNG इमेज के पिक्सल में एन्कोड करता है। यह फ़ाइल से या वेब से निष्पादित करने के लिए एक oneliner जेनरेट करता है।
यह या तो केवल पेलोड डेटा का उपयोग करके एक नई इमेज बना सकता है, या पेलोड को मौजूदा इमेज के सबसे कम महत्वपूर्ण बाइट्स में एम्बेड कर सकता है ताकि वह एक वास्तविक तस्वीर जैसा दिखे। इमेज को PNG के रूप में सेव किया जाता है, और बिना पेलोड को निष्पादित करने की क्षमता को प्रभावित किए बिना लॉसलेस कंप्रेस किया जा सकता है क्योंकि डेटा स्वयं रंगों में संग्रहीत होता है। नई इमेज बनाते समय, सामान्य PowerShell स्क्रिप्ट वास्तव में महत्वपूर्ण रूप से संपीड़ित होती हैं, आमतौर पर मूल स्क्रिप्ट के ~50% फ़ाइल आकार वाला PNG उत्पन्न होता है।
एम्बेड विधि के साथ, प्रत्येक पिक्सल में 2 रंग मानों के सबसे कम महत्वपूर्ण 4 बिट्स का उपयोग पेलोड को धारण करने के लिए किया जाता है। इसके परिणामस्वरूप इमेज गुणवत्ता प्रभावित होगी, लेकिन फिर भी यह अच्छा दिखता है। यह अधिकांश इमेज प्रकारों को इनपुट के रूप में स्वीकार कर सकता है, लेकिन आउटपुट हमेशा PNG होगा क्योंकि इसे लॉसलेस होना आवश्यक है। इमेज का प्रत्येक पिक्सल स्क्रिप्ट के एक बाइट को धारण करने के लिए उपयोग किया जाता है, इसलिए आपको अपनी स्क्रिप्ट में बाइट्स जितने पिक्सल वाली इमेज की आवश्यकता होगी। यह काफी आसान है—उदाहरण के लिए, Invoke-Mimikatz 1920x1200 इमेज में फिट हो जाता है।
-Script [filepath] इमेज में एम्बेड करने के लिए स्क्रिप्ट का पथ।
-Out [filepath] परिणामी इमेज को सेव करने के लिए फ़ाइल (इमेज PNG होगी)
-Image [filepath] स्क्रिप्ट को एम्बेड करने के लिए इमेज (वैकल्पिक)
-WebRequest Net.WebClient का उपयोग करके वेब से इमेज पढ़ने के लिए एक कमांड आउटपुट करें। आपको इमेज होस्ट करनी होगी और कमांड में URL डालना होगा।
-PictureBox System.Windows.Forms.PictureBox का उपयोग करके वेब से इमेज पढ़ने के लिए एक कमांड आउटपुट करें। आपको इमेज होस्ट करनी होगी और कमांड में URL डालना होगा।
स्क्रिप्ट "Invoke-Mimikatz.ps1" को इसमें एम्बेड करके एक इमेज बनाएं और डिस्क से निष्पादित करने के लिए एक oneliner आउटपुट करें:
PS>Import-Module .\Invoke-PSImage.ps1
PS>Invoke-PSImage -Script .\Invoke-Mimikatz.ps1 -Out .\evil-kiwi.png -Image .\kiwi.jpg
[Oneliner to execute from a file]
स्क्रिप्ट "Invoke-Mimikatz.ps1" को इसमें एम्बेड करके एक इमेज बनाएं और वेब से निष्पादित करने के लिए एक oneliner आउटपुट करें (आपको अभी भी इमेज होस्ट करनी होगी और URL संपादित करना होगा):
PS>Import-Module .\Invoke-PSImage.ps1
PS>Invoke-PSImage -Script .\Invoke-Mimikatz.ps1 -Out .\evil-kiwi.png -Image .\kiwi.jpg -WebRequest
[Oneliner to execute from the web]
वेब पर होस्ट की गई इमेज को निष्पादित करना:
