Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
Invoke-Obfuscation — PowerShell Obfuscator | Kitploit
उपकरण/GitHubGitHub/danielbohannon/invoke-obfuscation
रक्षात्मक उपकरणपेलोड जनरेशनलर्निंग और शिक्षारेड टीमिंग
GitHubdanielbohannon/invoke-obfuscation

Invoke-Obfuscation

PowerShell Obfuscator

रिपॉजिटरी देखें
4.3k8157 साल पहलेKitploit द्वारा समीक्षित

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

Invoke-Obfuscation v1.8

Invoke-Obfuscation स्क्रीनशॉट

परिचय

Invoke-Obfuscation एक PowerShell v2.0+ संगत PowerShell कमांड और स्क्रिप्ट ऑब्सफसीटर है।

पृष्ठभूमि

2015 की शरद ऋतु में मैंने PowerShell की भाषा की लचीलापन पर शोध शुरू करने का निर्णय लिया और उन विभिन्न तरीकों को सूचीबद्ध करना शुरू किया जिनसे अधिकांश हमलावर नियमित आधार पर काम करते हैं।

शुरू में एनकोडेड कमांड और रिमोट डाउनलोड क्रैडल सिंटैक्स पर ध्यान केंद्रित करते हुए, मैंने पाया कि विभिन्न एस्केप वर्ण जो कमांड के निष्पादन में बाधा नहीं डालते थे, कमांड लाइन आर्गुमेंट्स में बने रहते थे, चाहे वह चल रही प्रक्रिया में हो या सुरक्षा EID 4688 और सिस्मॉन EID 1 इवेंट लॉग में लॉग किया गया हो। इसने मुझे किसी भी PowerShell कमांड या स्क्रिप्ट में पाए जाने वाले प्रत्येक प्रकार के "टोकन" को छिपाने के तरीकों की व्यवस्थित रूप से खोज करने के लिए प्रेरित किया।

फिर मैंने स्ट्रिंग-स्तरीय अस्पष्टीकरण, विभिन्न एन्कोडिंग/एनक्रिप्टिंग तकनीकों (जैसे ASCII/हेक्स/ऑक्टल/बाइनरी और यहाँ तक कि SecureString) के अधिक अस्पष्ट तरीकों की खोज की, और अंत में PowerShell लॉन्च तकनीकों की खोज की ताकि कमांड लाइन आर्गुमेंट्स को powershell.exe से अमूर्त किया जा सके और इसे पैरेंट और यहाँ तक कि ग्रैंडपैरेंट प्रक्रिया में वापस धकेला जा सके।

उद्देश्य

हमलावरों और कमोडिटी मैलवेयर ने powershell.exe के कमांड लाइन आर्गुमेंट्स से अधिकांश कमांड को छिपाने के लिए अत्यंत बुनियादी अस्पष्टीकरण तकनीकों का उपयोग करना शुरू कर दिया है। मैंने यह उपकरण ब्लू टीम की सहायता के लिए विकसित किया है, ताकि वे उन तकनीकों का पता लगाने की अपनी क्षमताओं का परीक्षण कर सकें, जो मैं वर्तमान में PowerShell 2.0-5.0 में सिंटैक्सिक रूप से संभव मानता हूँ।

उपकरण का एकमात्र उद्देश्य उन सभी धारणाओं को तोड़ना है जो हम रक्षकों के रूप में कर सकते हैं कि PowerShell कमांड कमांड लाइन पर कैसे प्रकट हो सकते हैं। मेरी आशा है कि यह ब्लू टीम को PowerShell लॉगिंग को अपडेट करने के अलावा कमांड लाइन पर अस्पष्टीकरण के संकेतकों की तलाश करने के लिए प्रोत्साहित करेगा, जिसमें मॉड्यूल, स्क्रिप्टब्लॉक और ट्रांसक्रिप्शन लॉगिंग शामिल है, क्योंकि ये स्रोत इस उपकरण द्वारा उत्पन्न अधिकांश अस्पष्टीकरण तकनीकों के पहलुओं को सरल बनाते हैं।

उपयोग

जबकि अस्पष्टीकरण की सभी परतों को अलग-अलग स्क्रिप्ट में बनाया गया है, अधिकांश उपयोगकर्ता Invoke-Obfuscation फ़ंक्शन को अस्पष्टीकरण तकनीकों का पता लगाने और देखने का सबसे आसान तरीका पाएंगे जो यह फ्रेमवर्क वर्तमान में समर्थन करता है।

स्थापना

Invoke-Obfuscation का स्रोत कोड Github पर होस्ट किया गया है, और आप इसे इस रिपॉजिटरी (https://github.com/danielbohannon/Invoke-Obfuscation) से डाउनलोड, फोर्क और समीक्षा कर सकते हैं। कृपया इस प्रोजेक्ट से जुड़े Github के बग ट्रैकर के माध्यम से मुद्दों या सुविधा अनुरोधों की रिपोर्ट करें।

स्थापित करने के लिए:

root@kitploit:~
Import-Module ./Invoke-Obfuscation.psd1
Invoke-Obfuscation

लाइसेंस

Invoke-Obfuscation Apache 2.0 लाइसेंस के तहत जारी किया गया है।

रिलीज़ नोट्स

v1.0 - 2016-09-25 DerbyCon 6.0 (लुइसविले, केंटकी, यूएसए): Invoke-Obfuscation का सार्वजनिक रिलीज़।

v1.1 - 2016-10-09 SANS DFIR Summit (प्राग, चेक गणराज्य): सभी लागू TOKEN अस्पष्टीकरण फ़ंक्शन में -f फॉर्मेट ऑपरेटर पुनर्क्रमण कार्यक्षमता जोड़ी गई। साथ ही वेरिएबल मान सेट करने के लिए अतिरिक्त सिंटैक्स विकल्प जोड़े गए।

v1.2 - 2016-10-20 CODE BLUE (टोक्यो, जापान): Type TOKEN अस्पष्टीकरण जोड़ा गया (प्रकार नाम के लिए स्ट्रिंग अस्पष्टीकरण विकल्पों के साथ प्रत्यक्ष प्रकार कास्टिंग)।

v1.3 - 2016-10-22 Hacktivity (बुडापेस्ट, हंगरी): दो नए LAUNCHER जोड़े गए: CLIP+ और CLIP++। साथ ही सभी ENCODING फ़ंक्शन के लिए अतिरिक्त (और सरल) ऐरे चार रूपांतरण सिंटैक्स जोड़ा गया जिसमें For-EachObject/% की आवश्यकता नहीं है।

v1.4 - 2016-10-28 BruCON (गेन्ट, बेल्जियम): नया BXOR ENCODING फ़ंक्शन जोड़ा गया। साथ ही सभी ENCODING फ़ंक्शनों के सभी घटकों के लिए यादृच्छिक केस और सभी LAUNCHER के लिए PowerShell निष्पादन फ़्लैग्स को बढ़ाया गया। अंत में, सभी LAUNCHER में -ExecutionPolicy के लिए -EP शॉर्टहैंड विकल्प और -WindowStyle PowerShell निष्पादन फ़्लैग का वैकल्पिक पूर्णांक प्रतिनिधित्व जोड़ा गया: Normal (0), Hidden (1), Minimized (2), Maximized (3)।

v1.5 - 2016-11-04 Blue Hat (रेडमंड, वाशिंगटन, यूएसए): WMIC LAUNCHER जोड़ा गया जिसमें WMIC कमांड लाइन आर्गुमेंट्स का कुछ यादृच्छिकीकरण है।

v1.6 - 2017-01-24 Blue Hat IL (तेल अवीव, इज़राइल):

  • CLI कार्यक्षमता जोड़ी गई: जैसे, Invoke-Obfuscation -ScriptBlock {Write-Host 'CLI FTW!'} -Command 'Token\All\1, Encoding\1,Launcher\Stdin++\234,Clip' -Quiet -NoExit
  • एक बार में अस्पष्टीकरण की एक परत हटाने के लिए UNDO कार्यक्षमता जोड़ी गई।
  • बड़ी स्क्रिप्ट अस्पष्टीकरण को गति देने के लिए Token\All\1 से व्हाइटस्पेस अस्पष्टीकरण हटाया गया।
  • सभी लॉन्चर के लिए प्रक्रिया तर्क वृक्ष आउटपुट जोड़ा गया ताकि रक्षकों की सहायता हो सके।
  • BACK या HOME का उपयोग करने से बचने के लिए बेस मेनू ऑटो-डिटेक्ट कार्यक्षमता जोड़ी गई: जैसे, यदि आप TOKEN फिर ALL फिर 1 चलाते हैं, तो बस LAUNCHER टाइप करें और आप होम मेनू पर वापस जाने के लिए HOME या BACK टाइप किए बिना LAUNCHER मेनू पर पहुँच जाएंगे।
  • CLI और इंटरैक्टिव मोड द्वारा उपयोग की जाने वाली मल्टी-कमांड सिंटैक्स जोड़ी गई: जैसे, Token\All\1,String\3,Encoding\5,Launcher\Ps\234,Clip
  • सभी मेनू और अस्पष्टीकरण कमांड में regex क्षमता जोड़ी गई: जैसे, Token**,String[13],Encoding(1|6),Launcher.*[+]{2}\234,Clip
  • आउट फ़ाइलपथ एकल कमांड कार्यक्षमता जोड़ी गई।
  • यदि powershell -enc सिंटैक्स को SCRIPTBLOCK मान के रूप में दर्ज किया जाता है तो डिकोडिंग जोड़ी गई।
  • सभी ENCODING फ़ंक्शन में ForEach-Object/% यादृच्छिक सिंटैक्स विकल्पों के लिए उपनाम ForEach जोड़ा गया।
  • Out-SecureStringCommand.ps1 में -Key -Ke -K KEY सबस्ट्रिंग सिंटैक्स विकल्प जोड़े गए।
  • सभी \Home\String अस्पष्टीकरण फ़ंक्शन में अधिक गहन केस यादृच्छिकीकरण जोड़ा गया।
  • CLIP+ और CLIP++ लॉन्चर फ़ंक्शन में -ST/-STA (सिंगल-थ्रेडेड अपार्टमेंट) फ़्लैग जोड़े गए क्योंकि PowerShell 2.0 पर चलने पर इनकी आवश्यकता होती है।
  • वेरिएबल मान प्राप्त करने के लिए Get-ChildItem का उपयोग करने वाले सभी स्थानों पर Get-Item/GI/Item सिंटैक्स जोड़ा गया।
  • TYPE अस्पष्टीकरण फ़ंक्शन में Set-Item वेरिएबल इंस्टैंटिएशन सिंटैक्स जोड़ा गया।
  • Out-ObfuscatedStringCommand.ps1 के Out-EncapsulatedInvokeExpression फ़ंक्शन में PowerShell स्वचालित वेरिएबल और पर्यावरण वेरिएबल मान संयोजनों का उपयोग करके अतिरिक्त Invoke-Expression/IEX सिंटैक्स जोड़ा गया और IEX के लिए असंख्य कमांड-लाइन सिंटैक्स जोड़ने के लिए सभी लॉन्चर, STRING और ENCODING फ़ंक्शन में कॉपी किया गया।
  • String\Reverse और सभी ENCODING अस्पष्टीकरण विकल्पों के लिए दो नए JOIN सिंटैक्स जोड़े गए:
  1. [String]::Join('',$string) JOIN सिंटैक्स जोड़ा गया
  2. OFS-वेरिएबल JOIN सिंटैक्स जोड़ा गया (आउटपुट फील्ड सेपरेटर स्वचालित वेरिएबल)
  • Encoding\5 में दो और SecureString सिंटैक्स जोड़े गए:
  1. PtrToStringAnsi / SecureStringToGlobalAllocAnsi
  2. PtrToStringBSTR / SecureStringToBSTR
  • कई SecureString सदस्यों के लिए छह GetMember वैकल्पिक सिंटैक्स जोड़े गए:
  1. PtrToStringAuto, ([Runtime.InteropServices.Marshal].GetMembers()[3].Name).Invoke
  2. PtrToStringAuto, ([Runtime.InteropServices.Marshal].GetMembers()[5].Name).Invoke
  3. PtrToStringUni , ([Runtime.InteropServices.Marshal].GetMembers()[2].Name).Invoke
  4. PtrToStringUni , ([Runtime.InteropServices.Marshal].GetMembers()[4].Name).Invoke
  5. PtrToStringAnsi, ([Runtime.InteropServices.Marshal].GetMembers()[0].Name).Invoke
  6. PtrToStringAnsi, ([Runtime.InteropServices.Marshal].GetMembers()[1].Name).Invoke
  • Out-ObfuscatedTokenCommand.ps1 को अद्यतन किया गया ताकि VARIABLE अस्पष्टीकरण वेरिएबल को ${} में एनकैप्सुलेट न करे यदि वे पहले से एनकैप्सुलेटेड हैं (ताकि ${${var}} न हो, जिससे त्रुटियाँ होती हैं)।
  • Invoke-Obfuscation.psm1 को Invoke-Obfuscation.psd1 से बदला गया (@Carlos_Perez को धन्यवाद)।
  • @cobbr_io और @IISResetMe द्वारा रिपोर्ट किए गए कई TOKEN-स्तरीय अस्पष्टीकरण बग ठीक किए गए।

v1.7 - 2017-03-03 nullcon (गोवा, भारत):

  • 3 नए LAUNCHER जोड़े गए: RUNDLL, RUNDLL++ और MSHTA++
  • अतिरिक्त ExecutionContext वाइल्डकार्ड वेरिएबल स्ट्रिंग्स जोड़ी गईं

v1.8 - 2017-07-27 Black Hat (लास वेगास, नेवादा, यूएसए):

  • 2 नए ENCODING विकल्प जोड़े गए: विशेष वर्ण और व्हाइटस्पेस

v1.8.1 - 2017-12-19:

  • मल्टी-लाइन स्क्रिप्ट को एक-लाइनर कमांड में बदलने के लिए COMPRESS फ़ंक्शन जोड़ा गया, साथ ही cmd.exe कमांड लाइन लंबाई सीमा के लिए कमांड की लंबाई में भारी कमी की गई।

v1.8.2 - 2018-01-04:

  • AST अस्पष्टीकरण फ़ंक्शन जोड़े गए, जो कई विशेष वर्णों का उपयोग किए बिना AbstractSyntaxTree की संरचना में हेरफेर करके अस्पष्टीकरण करते हैं।
टूल डाउनलोड करें