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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
Invoke-DOSfuscation — Cmd.exe कमांड अस्पष्टीकरण जनरेटर और पहचान परीक्षण हार्नेस | Kitploit
उपकरण/GitHubGitHub/danielbohannon/invoke-dosfuscation
रक्षात्मक उपकरणफज़िंगपेनिट्रेशन टेस्टिंगकमांड एंड कंट्रोलरेड टीमिंगघटना प्रतिक्रिया
GitHubdanielbohannon/invoke-dosfuscation

Invoke-DOSfuscation

Cmd.exe कमांड अस्पष्टीकरण जनरेटर और पहचान परीक्षण हार्नेस

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

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

सभी देखें →

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

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

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

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

Invoke-DOSfuscation v1.0

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

परिचय

Invoke-DOSfuscation एक PowerShell v2.0+ के अनुकूल cmd.exe कमांड अस्पष्टीकरण फ्रेमवर्क है। (श्वेतपत्र: https://www.fireeye.com/blog/threat-research/2018/03/dosfuscation-exploring-obfuscation-and-detection-techniques.html)

पृष्ठभूमि

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

जून 2017 में, कई वृद्धिशील कमांड लाइन अस्पष्टीकरण तकनीकों की एक श्रृंखला के बाद, FIN7 ने cmd.exe में मूल रूप से उपलब्ध एक एनवायरनमेंट वेरिएबल स्ट्रिंग प्रतिस्थापन क्षमता का उपयोग किया, जिसके अस्तित्व के बारे में मुझे उस समय पता भी नहीं था। इस खोज से प्रेरित होकर मैंने निक कार (@ItsReallyNick) के साथ मिलकर एक ब्लॉग पोस्ट लिखा जिसका शीर्षक था जंगली में अस्पष्टीकरण: लक्षित हमलावर चोरी तकनीकों में अग्रणी हैं जहाँ हमने कई समूहों की अस्पष्टीकरण तकनीकों पर प्रकाश डाला जिन्हें हमने जंगली में पहचाना।

अगले सप्ताहांत मैंने इस मूल cmd.exe प्रतिस्थापन कार्यक्षमता का पता लगाया और Out-FINcodedCommand नामक एक सरल प्रूफ-ऑफ-कॉन्सेप्ट टूल बनाया और जारी किया। जैसे ही मैंने यह POC जारी किया, मैंने एक कदम पीछे हटकर सोचा, "शायद cmd.exe के भीतर और भी अस्पष्टीकरण क्षमताएँ हैं जिन्हें मुझे खोजना चाहिए और उनका पता लगाने के तरीके बनाने चाहिए, इससे पहले कि हम उन्हें जंगली में उपयोग होते देखें।"

यह मेरे शोध की शुरुआत थी जिसने अंततः मुझे इस Invoke-DOSfuscation फ्रेमवर्क को विकसित करने के लिए प्रेरित किया।

उद्देश्य

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

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

कई मायनों में यह फ्रेमवर्क रक्षकों को cmd.exe की अस्पष्टीकरण तकनीकों का फज़िंग करने में सक्षम बनाता है, और इस टूल को बनाने में मैंने कई अतिरिक्त अस्पष्टीकरण अवसरों की खोज की जो मैंने अपने प्रारंभिक शोध में नहीं खोजे थे।

मैंने यह जानकारी नवंबर 2017 में माइक्रोसॉफ्ट के साथ भी साझा की और cmd.exe के आंतरिक कार्यों में अतिरिक्त दृश्यता को उजागर करने के अवसरों के बारे में पूछताछ की, जो उन मुख्य तकनीकों के उपयोग से संबंधित है जो इस फ्रेमवर्क में निर्मित सभी अस्पष्टीकरण फ़ंक्शनों के निर्माण खंड हैं।

एक रक्षक के रूप में इस शोध और विकास का अंतिम लक्ष्य जागरूकता बढ़ाना और परिवर्तन लाना है जो अंतिम उपयोगकर्ताओं को हमलावरों की लगातार बदलती TTPs (टूल्स, तकनीकों और प्रक्रियाओं) से खुद को बेहतर ढंग से बचाने में मदद करेगा।

उपयोग

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

रक्षकों को आसानी से फ़ज़िंग और पहचान विचारों का परीक्षण शुरू करने में सक्षम बनाने के लिए, इस फ्रेमवर्क में एक अतिरिक्त मॉड्यूल, Invoke-DOSfuscationTestHarness.psm1 भी शामिल है, जो परियोजना के बाकी भाग के साथ स्वचालित रूप से आयात होता है। इस मॉड्यूल में रक्षकों के लिए दो मुख्य फ़ंक्शन हैं:

  1. Invoke-DosTestHarness - परीक्षण कमांड की एक सूची से 1000 से अधिक यादृच्छिक रूप से अस्पष्टीकृत कमांड उत्पन्न करता है (डिफ़ॉल्ट तर्क सेटिंग्स के साथ) पेलोड अखंडता और पहचान दोनों उद्देश्यों के लिए। प्रत्येक टेस्ट हार्नेस पुनरावृत्ति सभी उपलब्ध फ़ंक्शन तर्कों को यादृच्छिक करता है और सीधे चार अस्पष्टीकरण फ़ंक्शनों को कॉल करता है, बजाय इसके कि Invoke-DOSfuscation मेनू-चालित फ़ंक्शन द्वारा डिफ़ॉल्ट रूप से उपयोग किए जाने वाले मानकीकृत -ObfuscationLevel मानों (1-3) का उपयोग किया जाए। यह एक काफी व्यापक श्रेणी का अस्पष्टीकरण आउटपुट उत्पन्न करता है जिसके खिलाफ कोई अधिक गहन पहचान बना सकता है। प्रत्येक अस्पष्टीकृत कमांड की तब दूसरे फ़ंक्शन के खिलाफ जाँच की जाती है:
  2. Get-DosDetectionMatch - इनपुट कमांड (स्ट्रिंग) की जाँच फ़ंक्शन में $regexDetectionTerms ऐरे में इनपुट किए गए सभी regex पहचान मानों के खिलाफ करता है। यह स्वचालित रूप से Invoke-DosTestHarness द्वारा कॉल किया जाता है लेकिन इसे स्वतंत्र रूप से भी कॉल किया जा सकता है।

प्रत्येक टेस्ट हार्नेस आह्वान के अंत में उचित कमांड निष्पादन और पहचान के आँकड़े प्रदर्शित किए जाएंगे ताकि रक्षक जल्दी से पहचान सकें कि किन कमांड में 0 या केवल 1-2 पहचान मेल हैं और किन्हें बेहतर कवरेज की आवश्यकता हो सकती है।

अंत में, रक्षकों को शुरू करने के लिए टेस्ट हार्नेस चलाने की आवश्यकता से बचने के लिए, मैंने Samples निर्देशिका में 1000 नमूना कमांड प्रदान किए हैं, जो चारों अस्पष्टीकरण फ़ंक्शनों में विभाजित हैं। प्रारूपों में .txt फ़ाइलें, और सुरक्षा और Sysmon .evtx फ़ाइलें शामिल हैं। मैंने Invoke-DOSfuscationTestHarness.psm1 में $regexDetectionTerms ऐरे में कुछ नमूना पहचान नियम शामिल किए हैं, लेकिन आप नमूना अस्पष्टीकृत कमांड का परीक्षण करते समय कई और नियम जोड़ना और परीक्षण करना चाहेंगे)। कच्चे कमांड वाली .txt फ़ाइलों के अलावा, .evtx फ़ाइलें हैं जिनमें 1000 नमूना कमांड में से प्रत्येक के लिए प्रक्रिया निष्पादन लॉग (Sysmon EID 1 इवेंट) शामिल हैं। ये इवेंट लॉग कई बिल्डिंग ब्लॉक तकनीकों के उप-उत्पाद बाल प्रक्रिया निष्पादन पर आधारित संकेतक बनाने के लिए अत्यंत सहायक हैं, जिन पर Invoke-DOSfuscation बनाया गया है।

आरंभ करने के लिए, ऐसे नमूना अस्पष्टीकृत कमांड प्रदर्शित करें जो आपके वर्तमान पहचान नियमों में से किसी से मेल नहीं खाते हैं, बस चलाकर:

(Get-Content .\Samples\STATIC_1-of-4_Out-DosConcatenatedCommand.txt) | where-object { -not (Get-DosDetectionMatch -Command $_).Detected }

निष्पादन इवेंट लॉग से अस्पष्टीकृत कमांड और बाल प्रक्रियाओं दोनों का परीक्षण करने के लिए, बस चलाएं:

(Get-WinEvent -Path .\Samples\DYNAMIC_SECURITY_EID4688_1-of-4_Out-DosConcatenatedCommand.evtx) | where-object { $_.Message } | foreach-object { ($_.Message.Split("`n") | select-string '^\tProcess Command Line:\t') -replace '^\tProcess Command Line:\t','' } | where-object { -not (Get-DosDetectionMatch -Command $_).Detected }

स्थापना

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

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

root@kitploit:~
Import-Module .\Invoke-DOSfuscation.psd1
Invoke-DOSfuscation

लाइसेंस

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

रिलीज़ नोट्स

v1.0 - 2018-03-23 Black Hat Asia (सिंगापुर): Invoke-DOSfuscation का सार्वजनिक विमोचन।

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