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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
उपकरण/GitHubGitHub/empireproject/empire
Privilege EscalationPayload GenerationPersistence MechanismsExploitationLateral MovementPost-ExploitationPenetration TestingCommand and ControlRed TeamingArchived
GitHubempireproject/empire

Empire

7.9k2.9k6 साल पहलेKitploit द्वारा समीक्षित

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

सभी देखें →

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

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

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

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

Empire is a PowerShell and Python post-exploitation agent.

रिपॉजिटरी देखेंवेबसाइट

Invoke-Obfuscation v1.8

Invoke-Obfuscation Screenshot

परिचय

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

पृष्ठभूमि

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

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

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

उद्देश्य

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

टूल का एकमात्र उद्देश्य कमांड लाइन पर PowerShell कमांड कैसे दिखाई दे सकते हैं, इसके बारे में हम रक्षकों के किसी भी अनुमान को तोड़ना है। मेरी आशा है कि यह ब्लू टीम को PowerShell लॉगिंग को Module, ScriptBlock और Transcription लॉगिंग शामिल करने के लिए अपडेट करने के अलावा कमांड लाइन पर अस्पष्टीकरण के संकेतकों (Indicators of Obfuscation) को देखने के लिए प्रोत्साहित करेगा क्योंकि ये स्रोत इस टूल द्वारा उत्पन्न अस्पष्टीकरण तकनीकों के अधिकांश पहलुओं को सरल बनाते हैं।

उपयोग

जबकि अस्पष्टीकरण की सभी परतों को अलग-अलग स्क्रिप्ट में बनाया गया है, अधिकांश उपयोगकर्ता 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 (Louisville, Kentucky USA): Invoke-Obfuscation का सार्वजनिक रिलीज़।

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

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

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

v1.4 - 2016-10-28 BruCON (Ghent, Belgium): नया 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 (Redmond, Washington USA): WMIC LAUNCHER जोड़ा गया जिसमें WMIC कमांड लाइन आर्गुमेंट्स का कुछ रैंडमाइज़ेशन है।

v1.6 - 2017-01-24 Blue Hat IL (Tel Aviv, Israel):

  • CLI कार्यक्षमता जोड़ी गई: E.g., Invoke-Obfuscation -ScriptBlock {Write-Host 'CLI FTW!'} -Command 'Token\All\1,Encoding\1,Launcher\Stdin++\234,Clip' -Quiet -NoExit
  • एक बार में अस्पष्टीकरण की एक परत को हटाने के लिए UNDO कार्यक्षमता जोड़ी गई।
  • बड़ी स्क्रिप्ट अस्पष्टीकरण को गति देने के लिए Token\All\1 से व्हाइटस्पेस अस्पष्टीकरण हटाया गया।
  • रक्षकों की सहायता के लिए सभी लॉन्चर के लिए Process Argument Tree आउटपुट जोड़ा गया।
  • BACK या HOME का उपयोग करने की आवश्यकता से बचने के लिए बेस मेनू ऑटो-डिटेक्ट कार्यक्षमता जोड़ी गई: E.g., यदि आप TOKEN फिर ALL फिर 1 चलाते हैं, तो बस LAUNCHER टाइप करें और आप HOME या BACK टाइप किए बिना LAUNCHER मेनू पर पहुंच जाएंगे।
  • CLI और इंटरैक्टिव मोड द्वारा उपयोग किए जाने वाले मल्टी-कमांड सिंटैक्स जोड़ा गया: E.g., Token\All\1,String\3,Encoding\5,Launcher\Ps\234,Clip
  • सभी मेनू और अस्पष्टीकरण कमांड में regex क्षमता जोड़ी गई: E.g., Token\*\*,String\[13],Encoding\(1|6),Launcher\.*[+]{2}\234,Clip
  • OUT FILEPATH एकल कमांड कार्यक्षमता जोड़ी गई।
  • यदि powershell -enc सिंटैक्स को SCRIPTBLOCK मान के रूप में दर्ज किया जाता है तो डिकोडिंग जोड़ी गई।
  • सभी ENCODING फ़ंक्शन में ForEach-Object/% रैंडमाइज़्ड सिंटैक्स विकल्पों में alias 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 (Goa, India): 3 नए LAUNCHER जोड़े गए: RUNDLL, RUNDLL++ और MSHTA++ अतिरिक्त ExecutionContext वाइल्डकार्ड वेरिएबल स्ट्रिंग्स जोड़ी गईं।

v1.8 - 2017-07-27 Black Hat (Las Vegas, Nevada USA): 2 नए ENCODING विकल्प जोड़े गए: विशेष वर्ण और व्हाइटस्पेस

टूल डाउनलोड करें