
Rogue Assembly Hunter एक उपयोगिता है जो चल रही प्रक्रियाओं में 'दिलचस्प' .NET CLR मॉड्यूल खोजने के लिए है।
__________ _____ . .
_____ \ ____ ____ __ __ ____ / _ \ ______ ______ ____ _ | | | ..
| // _ \ / __| | _/ __ \ / /\ \ / // __// __ \ / | __ | |< | |
| | ( <> ) // > | /\ / / | \ \ _ \ /| Y Y \ _\ \ |_ |
|| /_/_ /|/ _ > _| /____ >____ >___ >|| / /____/ |
/ // / / / / / / / /
___ ___ __
/ | \ __ __ / | ___________
/ ~ \ | / \ __/ __ _ __
\ Y / | / | \ | \ /| | /
_| /|/|| /| _ >|
/ / /
Rogue Assembly Hunter चालू प्रक्रियाओं में 'दिलचस्प' .NET CLR मॉड्यूल खोजने के लिए एक उपयोगिता है।
.NET एक बहुत शक्तिशाली और सक्षम विकास प्लेटफ़ॉर्म और रनटाइम फ्रेमवर्क है जो .NET प्रबंधित अनुप्रयोगों के निर्माण और चलाने के लिए है। पिछले कुछ वर्षों में, रेड टीम्स (और उनके जैसे) द्वारा .NET को अपनाया गया है ताकि आक्रामक अभियानों का समर्थन करने के लिए ट्रेडक्राफ्ट को इंस्ट्रूमेंट किया जा सके। विशेष रूप से, आक्रामक PowerShell से .NET की ओर बदलाव कई लोगों के लिए एक तार्किक छलांग थी, क्योंकि PowerShell v5+ में बढ़ी हुई ऑप्टिक्स और अवसरवादी दृश्यता मौजूद थी। इस प्रकार, .NET आक्रामक टूलिंग और ट्रेडक्राफ्ट का उपयोग होस्ट-आधारित रक्षात्मक क्षमताओं को बायपास करने, एप्लिकेशन नियंत्रण को बायपास करने और दुर्भावनापूर्ण कोड (PowerShell जैसा) बनाने/स्टेज करने/वितरित करने/निष्पादित करने में सफलतापूर्वक किया गया है।
रोकथाम के दृष्टिकोण से, Microsoft .NET इंस्ट्रूमेंटेड खतरों का मुकाबला करने और समग्र .NET हमले की सतह को कम करने के लिए और अधिक कर रहा है। उदाहरण के लिए, Microsoft ने .NET Framework 4.8 में AMSI निरीक्षण क्षमताएँ जोड़ी हैं, और WDAC/WLDP तंत्र काफी प्रभावी हैं। पहचान/प्रतिक्रिया के दृष्टिकोण से, .NET पारिस्थितिकी तंत्र में आगे की दृश्यता और अंतर्दृष्टि हमेशा .NET-केंद्रित खतरों से निपटने के नए तरीके खोजने के लिए फायदेमंद होती है।
2017 में, Joe Desimone (@dez_) ने एक शानदार लेख लिखा था जिसका शीर्षक था Hunting For In-Memory .NET Attacks। आज भी प्रासंगिक, यह लेख आधुनिक .NET आक्रमण वैक्टर के साथ-साथ पहचान के लिए ऑन-डिमांड और इवेंट-आधारित तकनीकों की रूपरेखा प्रस्तुत करता है। लेख के साथ, Joe ने एक उपकरण (Get-ClrReflection) जारी किया जो सक्रिय रूप से इन-मेमोरी .NET CLR मॉड्यूल्स का पता लगाता है (और पुनर्प्राप्त करता है) जिनमें उचित डिस्क संदर्भ का अभाव है। Joe के काम से प्रेरित होकर और CLRMD रनटाइम डायग्नोस्टिक्स लाइब्रेरी (+ बाद में mscordacwks.dll की डेटा एक्सेस क्षमताओं) की अंतर्दृष्टि क्षमताओं का लाभ उठाते हुए, Rogue Assembly Hunter को निम्नलिखित के लिए बनाया गया था:
[*] पैरामीटर:
--mode=<.> : अनिवार्य | विश्लेषण मोड चुनें। विकल्पों में sweep, process, और watch शामिल हैं।
--hunt=<.> : वैकल्पिक | दिलचस्प CLR मॉड्यूल खोजने के लिए हंट स्कैन प्रकार चुनें। all (डिफ़ॉल्ट), memory-only, unusual-dir,
sig-status, imposter-file, या list निर्दिष्ट करें।
--export=<.> : वैकल्पिक, प्रायोगिक | इन-मेमोरी हंट स्कैन और इम्पोस्टर-फ़ाइल हंट स्कैन के लिए लोड किए गए CLR मॉड्यूल निर्यात करने के लिए फ़ाइल पथ निर्दिष्ट करें
(जैसे --hunt=memory-only/imposter-file/all)।
--pid=<.> : वैकल्पिक | PID द्वारा लक्षित प्रक्रिया निर्दिष्ट करें। का उपयोग --mode=process पैरामीटर/मान के साथ किया जाना चाहिए।
--checks=<.> : वैकल्पिक | स्कैन चक्रों के लिए मान निर्दिष्ट करें। यह स्कैन के दौरान रेस कंडीशन मिस को कम करने में मदद कर सकता है लेकिन परिणाम आउटपुट को दोहरा भी सकता है।
डिफ़ॉल्ट मान 1 है।
--sleep=<.> : वैकल्पिक | नींद सेकंड के लिए मान निर्दिष्ट करें। यह जाँच चक्र में देरी करके स्कैन के दौरान रेस कंडीशन मिस को कम करने में मदद कर सकता है।
डिफ़ॉल्ट मान 0 सेकंड है।
--debug : वैकल्पिक | अपवाद जानकारी प्रदर्शित करें (जैसे प्रक्रिया कनेक्ट त्रुटियाँ)।
--nobanner : वैकल्पिक | प्रदर्शन बैनर को दबाएँ। PowerShell स्क्रिप्ट या उन उपयोग मामलों के लिए उपयोगी जो ऑटोमेशन का लाभ उठाते हैं।
--suppress : वैकल्पिक | --mode=sweep या --mode=watch के दौरान RogueAssemblyHunter प्रक्रिया को स्कैन न करें।
--help : वैकल्पिक | यह सहायता दिखाएँ। यह किसी भी अन्य cmdline पैरामीटर को ओवरराइड करेगा और एप्लिकेशन को बाहर निकाल देगा। *यह बिना पैरामीटर के डिफ़ॉल्ट है।
[*] मोड (--mode=)