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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
RogueAssemblyHunter — Rogue Assembly Hunter एक उपयोगिता है जो चल रही प्रक्रियाओं में 'दिलचस्प' .NET CLR मॉड्यूल खोजने के लिए है। | Kitploit
उपकरण/GitHubGitHub/bohops/rogueassemblyhunter
रक्षात्मक उपकरणमेमोरी फोरेंसिकफोरेंसिकमालवेयर विश्लेषणघटना प्रतिक्रिया
GitHubbohops/rogueassemblyhunter

RogueAssemblyHunter

Rogue Assembly Hunter एक उपयोगिता है जो चल रही प्रक्रियाओं में 'दिलचस्प' .NET CLR मॉड्यूल खोजने के लिए है।

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

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

सभी देखें →

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

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

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

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

__________ _____ . .
_
____ \ ____ ____ __ __ ____ / _ \ ______ ______ ____ _ | | | .. | // _ \ / __| | _/ __ \ / /\ \ / // __// __ \ / | __ | |< | | | | ( <> ) // > | /\ / / | \ \ _ \ /| Y Y \ _\ \ |_ | || /_/_ /|/ _ > _| /____ >____ >___ >|| / /____/ | / // / / / / / / / /
___ ___ __
/ | \ __ __ / | ___________ / ~ \ | / \ __/ __ _ __
\ Y / | / | \ | \ /| | / _| /|
/|
| /
| _
>
|
/ / /

रॉग असेंबली हंटर

Rogue Assembly Hunter चालू प्रक्रियाओं में 'दिलचस्प' .NET CLR मॉड्यूल खोजने के लिए एक उपयोगिता है।

  • लेखक: @bohops
  • लाइसेंस: MIT
  • प्रोजेक्ट: https://github.com/bohops/RogueAssemblyHunter

पृष्ठभूमि

.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 को निम्नलिखित के लिए बनाया गया था:

  • चालू .NET ('प्रबंधित') प्रक्रियाओं में दिलचस्प CLR मॉड्यूल के लिए निरीक्षण करें (जैसे मॉड्यूल जो एक 'असेंबली' बनाते हैं)
  • दिलचस्प CLR मॉड्यूल के लिए एकल .NET ('प्रबंधित') प्रक्रिया (PID द्वारा) का निरीक्षण करें
  • नव निर्मित प्रक्रियाओं पर नज़र रखें और दिलचस्प CLR मॉड्यूल के लिए निरीक्षण का प्रयास करें
  • इन-मेमोरी लोड किए गए मॉड्यूल, मॉड्यूल की हस्ताक्षर स्थिति (यदि डिस्क से लोड किया गया है), दिलचस्प निर्देशिकाओं से लोड किए गए मॉड्यूल, और नकली मॉड्यूल (जैसे नकली फ़ाइल संदर्भ) का पता लगाने के लिए कई 'हंट' क्षमताओं का समर्थन करें।
  • CLR मॉड्यूल निर्यात कार्यक्षमता का समर्थन करें (Get-ClrReflection से एक त्वरित पोर्ट)
  • अधिक दिलचस्प टूलिंग और ट्रेडक्राफ्ट को प्रेरित करें

प्रमुख आवश्यकताएँ और निर्भरताएँ

  • एक विशेषाधिकार प्राप्त उपयोगकर्ता/प्रक्रिया संदर्भ के तहत चलाएँ
  • .NET Framework 4.6.1+
  • .NET CLRMD - Microsoft.Diagnostics.Runtime Introspection Library (NuGet पैकेज)
  • ILMerge - स्टैटिक लिंकर (NuGet पैकेज)
  • ...और Visual Studio में सहायक NuGet पैकेज।

नोट्स, टिप्स और चेतावनियाँ

  • उच्च/सिस्टम इंटीग्रिटी वाले विशेषाधिकार प्राप्त उपयोगकर्ता के रूप में चलाएँ।
  • 'हंट्स' प्रायोगिक हैं और पूर्ण/सही परिणाम प्रदान करने की गारंटी नहीं है। गलत सकारात्मक (जैसे हस्ताक्षरित मॉड्यूल) से सावधान रहें और तदनुसार मान्य करें।
  • RogueAssemblyHunter लाइव प्रक्रियाओं से कनेक्ट करने के लिए CLRMD का उपयोग करता है, जो दिलचस्प परिणाम पेश कर सकता है।
  • RogueAssemblyHunter की स्कैनिंग प्रकृति के कारण, दौड़ की स्थिति और छूटे हुए परिणामों की संभावना है। मदद के लिए --checks और --sleep स्विच का उपयोग करने पर विचार करें (विशेषकर 'watch' मोड में)। कुछ मामलों में, निष्पादन की गति के कारण किसी विशेष असेंबली लोड को 'पकड़ना' मुश्किल हो सकता है (जैसे execute-assembly और बलि प्रक्रियाएँ)।
  • .NET CLRMD पुस्तकालयों के साथ दूरस्थ प्रक्रियाओं के साथ बातचीत करने के लिए आर्किटेक्चर ('बिटनेस') और .NET संस्करण (जैसे 4+) मायने रखते हैं।
    • अधिकतम निरीक्षण/कवरेज के लिए, इस प्रोग्राम को x86 और x64 उपयोग मामलों के लिए बनाएँ और चलाएँ।
    • प्रक्रिया स्वीप मोड सभी चालू प्रक्रियाओं से जुड़ने का प्रयास करेगा, चाहे उनका 'बिटनेस' कुछ भी हो। अन्यथा यह आर्किटेक्चर बेमेल के लिए तदनुसार विफल हो जाएगा।
  • Windows 10 Pro 2H1H और Windows Server 2016 Standard 1607 पर परीक्षण किया गया। यह प्रासंगिक .NET Framework के साथ अन्य संस्करणों पर चल सकता है।
  • NuGet पैकेजों, PowerShell स्क्रिप्ट और रिलीज़ बाइनरी के साथ Visual Studio प्रोजेक्ट स्रोत इस प्रोजेक्ट में शामिल है।
  • Notice.md में प्रोजेक्ट अस्वीकरण और लाइसेंस जानकारी शामिल है।
  • अपने जोखिम पर चलाएँ (और मेरे भयानक कोड पर ध्यान न दें ;) )!

उपयोग

root@kitploit:~
[*] पैरामीटर:
    
    --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=)

    - sweep   : सभी प्रक्रियाओं को स्कैन/पुनरावृत्त करें (नोट: केवल समान आर्किटेक्चर/'बिटनेस' की प्रक्रियाओं को सफलतापूर्वक स्कैन किया जाएगा। x86/x64/आदि के लिए चलाने के लिए संकलित करें)।

    - process : एकल प्रक्रिया को स्कैन करें। --pid=<PID> के साथ उपयोग करें।
    
    - watch   : नई प्रक्रियाएँ बनने पर स्कैन करें। --checks और --sleep के साथ स्कैन विशेषताएँ समायोजित करें। (नोट: यह प्रायोगिक है। रेस कंडीशन की संभावना है।)


[*] हंट (--hunt=)

    - all           : डिफ़ॉल्ट मान। सभी हंट विकल्पों के साथ विश्लेषण करें ('list' को छोड़कर)।

    - memory-only   : मेमोरी हंट। उन CLR मॉड्यूल का विश्लेषण करें जो डिस्क द्वारा समर्थित नहीं हैं।

    - unusual-dir   : असामान्य निर्देशिका हंट। 'सामान्य' निर्देशिकाओं के बाहर लोड किए गए CLR मॉड्यूल का विश्लेषण करें।
                      अनुकूलित करने के लिए '_huntUnusualDirectoryFilter' संपादित करें।

    - sig-status    : फ़ाइल हस्ताक्षर हंट। असामान्य हस्ताक्षर स्थिति वाले CLR मॉड्यूल का विश्लेषण करें (जैसे अहस्ताक्षरित)। नोट: यह प्रायोगिक है। गलत सकारात्मक संभव हैं।
                      अनुकूलित करने के लिए '_huntSigExclusionsFilter' संपादित करें।

    - imposter-file : अप्रत्याशित CLR मॉड्यूल हंट। संदिग्ध डिस्क फ़ाइल बैकिंग वाले CLR मॉड्यूल का विश्लेषण करें। प्रायोगिक।
    
    - list          : सभी CLR मॉड्यूल के माध्यम से पुनरावृति करें और तदनुसार सूचीबद्ध करें।


[*] उदाहरण उपयोग
    
    - उदाहरण 1 : प्रक्रियाओं को स्कैन करें और सुलभ 64-बिट प्रक्रियाओं के लिए सभी हंट चलाएँ ('list' को छोड़कर) -
                  RogueAssemblyHunter_x64.exe --mode=sweep
    
    - उदाहरण 2 : प्रक्रियाओं को स्कैन करें, सुलभ 32-बिट प्रबंधित प्रक्रियाओं में सभी CLR मॉड्यूल सूचीबद्ध करें, और त्रुटि जानकारी दिखाएँ -
                  RogueAssemblyHunter_x86.exe --mode=sweep --hunt=list --debug

    - उदाहरण 3 : नई प्रक्रियाओं के लिए देखें, सभी CLR मॉड्यूल स्कैन करें (यदि प्रबंधित और 64-बिट), RogueAssemblyHunter प्रक्रिया को स्कैन न करें, और 3 सेकंड के अंतराल के साथ 2 जाँच करें -
                  RogueAssemblyHunter_x64.exe --mode=watch --suppress --checks=2 --sleep=3

    - उदाहरण 4 : PID द्वारा एकल प्रक्रिया स्कैन करें, केवल इन-मेमोरी CLR मॉड्यूल परिणाम सूचीबद्ध करें, और CLR मॉड्यूल को निर्दिष्ट पथ पर निर्यात करें -
                  RogueAssemblyHunter_x86.exe --mode=process --pid=4650 --hunt=memory-only --export=c:\evilassemblies\
    
    - उदाहरण 5 : प्रक्रियाओं को स्कैन करें, सुलभ 64-बिट प्रक्रियाओं के लिए केवल इन-मेमोरी CLR मॉड्यूल परिणाम सूचीबद्ध करें, RogueAssemblyHunter प्रक्रिया को स्कैन न करें, और शीर्षक बैनर न दिखाएँ -
                  RogueAssemblyHunter_x64.exe --mode=sweep --hunt=memory-only --suppress --nobanner

रिलीज़ फ़ाइलें: Invoke-RogueAssemblyHunter और संकलित बाइनरी

सुविधा के लिए, \Release फ़ोल्डर में दो संकलित बाइनरी (RogueAssemblyHunter_x64.exe और RogueAssemblyHunter_x86.exe) के साथ एक PowerShell स्क्रिप्ट शामिल की गई है। अपने उपयोग मामलों (जैसे परिनियोजन, एम्बेडिंग, जाँच, नींद, आदि) में फिट होने के लिए संशोधित करने के लिए स्वतंत्र महसूस करें।

उदाहरण उपयोग:

स्वीप मोड में Invoke-RogueAssemblyHunter चलाएँ और सभी हंट विकल्पों की जाँच करें

root@kitploit:~
cd c:\path\to\RogueAssemblyHunter
import-module .\Invoke-RogueAssemblyHunter.ps1
Invoke-RogueAssemblyHunter

वॉच मोड में Invoke-RogueAssemblyHunter चलाएँ और सभी हंट विकल्पों की जाँच करें

root@kitploit:~
cd c:\path\to\RogueAssemblyHunter
import-module .\Invoke-RogueAssemblyHunter.ps1
Invoke-RogueAssemblyHunter -ScanMode watch

SHA256 हैश:

root@kitploit:~
e804711a8b6469f1b13b388de47dfa6dde1c85279d365db7b6e19e1644990fa6  Invoke-RogueAssemblyHunter.ps1
cc985d918e566671aa209142abc55bd798ca6c1a18730b785ac8c18d489736c3  RogueAssemblyHunter_x64.exe
ae3aead43871e263cd8465d5356c4daaae0635714321f872c931ec825008287a  RogueAssemblyHunter_x86.exe

रोडमैप

  • प्रबंधित डंप (.dmp) फ़ाइल विश्लेषण
  • sig-status जाँच में सुधार
  • आउटपुट में सुधार (जैसे json)
  • स्थिरता और बग फिक्स

क्रेडिट, प्रेरणा और संसाधन

  • Hunting For In-Memory .NET Attacks | Joe Desimone (@dez_) द्वारा
  • Get-ClrReflection | Joe Desimone (@dez_) द्वारा
  • Get-InjectedThread | Jared Atkinson (@jaredcatkinson) द्वारा
  • pe-sieve | hasherezade (@hasherezade) द्वारा
  • CLR MD — Analyzing Live Process | Harsha द्वारा
  • How to enumerate Modules in each App Domain using ClrMD | Sukesh Ashok Kumar द्वारा
  • WMIProcessWatcher | Tim MalcomVetter (@malcomvetter) द्वारा
टूल डाउनलोड करें