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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
RpcInvestigator — विंडोज RPC इंटरफ़ेस डिस्कवरी और विश्लेषण उपकरण जिसमें दृश्य एंडपॉइंट गणना, PE पार्सिंग, प्रतीक समाधान, रीयल-टाइम ETW स्निफिंग, और सुरक्षा ऑडिटिंग के लिए ऑन-द-फ्लाई क्लाइंट कोड जनरेशन शामिल है। | Kitploit
उपकरण/GitHubGitHub/trailofbits/rpcinvestigator
भेद्यता विश्लेषणरिवर्स इंजीनियरिंगपेनिट्रेशन टेस्टिंगबाइनरी विश्लेषण
GitHubtrailofbits/rpcinvestigator

RpcInvestigator

विंडोज RPC इंटरफ़ेस डिस्कवरी और विश्लेषण उपकरण जिसमें दृश्य एंडपॉइंट गणना, PE पार्सिंग, प्रतीक समाधान, रीयल-टाइम ETW स्निफिंग, और सुरक्षा ऑडिटिंग के लिए ऑन-द-फ्लाई क्लाइंट कोड जनरेशन शामिल है।

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

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

सभी देखें →

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

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

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

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

RPC Investigator

कृपया हमारी ब्लॉग पोस्ट घोषणा पढ़ें।

RPC Investigator (RPCI) एक .NET/C# Windows Forms UI एप्लिकेशन है जो Windows RPC एंडपॉइंट्स के लिए एक उन्नत खोज और विश्लेषण इंटरफ़ेस प्रदान करता है। यह उपकरण NtApiDotNet प्लेटफ़ॉर्म की मौजूदा मुख्य RPC क्षमताओं के आसपास एक दृश्य इंटरफ़ेस प्रदान करता है, जिसमें शामिल हैं:

  • सभी सक्रिय ALPC RPC सर्वरों की गणना करना
  • किसी भी PE फ़ाइल से RPC सर्वरों को पार्स करना
  • प्रक्रियाओं और उनके लोड किए गए मॉड्यूल से RPC सर्वरों को पार्स करना, जिसमें सेवाएँ शामिल हैं
  • एक सिम्बल सर्वर से सिम्बल जानकारी प्राप्त करना
  • आपकी अपनी स्क्रिप्टिंग के लिए क्रमबद्ध .NET ऑब्जेक्ट के रूप में RPC सर्वर परिभाषाओं को निर्यात करना

इन मुख्य सुविधाओं के अलावा, RPCI अतिरिक्त क्षमताएं प्रदान करता है:

  • क्लाइंट वर्कबेंच आपको रुचि के किसी RPC सर्वर पर राइट-क्लिक करके तुरंत एक RPC क्लाइंट बाइनरी बनाने और निष्पादित करने की अनुमति देता है। वर्कबेंच में एक C# कोड एडिटर पैन है जो आपको वास्तविक समय में क्लाइंट को संपादित करने और आपके कोड में निष्पादित RPC प्रक्रियाओं के परिणामों का निरीक्षण करने की अनुमति देता है।
  • खोजे गए RPC सर्वरों को एक खोजने योग्य लाइब्रेरी में व्यवस्थित किया जाता है, जो आपको RPC सर्वर डेटा को उपयोगी तरीकों से पिवट करने की अनुमति देता है, जैसे कि एक अनुकूलन योग्य खोज इंटरफ़ेस के माध्यम से सभी सर्वरों के लिए सभी RPC प्रक्रियाओं में दिलचस्प रूटीन की खोज करना।
  • RPC स्निफर टूल सक्रिय RPC कॉल का लगभग वास्तविक समय दृश्य प्रदान करने के लिए RPC-संबंधित ETW डेटा में दृश्यता जोड़ता है। ETW डेटा को NtApiDotNet से RPC सर्वर डेटा के साथ संयोजित करके, हम चल रही RPC गतिविधि की एक अधिक संपूर्ण तस्वीर बना सकते हैं।

सामान्य कार्यप्रवाह

RPC Investigator कई कार्यप्रवाहों का समर्थन करता है:

  • ऑडिटिंग
    • एक ALPC एंडपॉइंट के साथ संचार करने वाले सभी प्रक्रियाओं में सभी सक्रिय ALPC RPC सर्वरों की गणना करना
    • एक विंडोज सेवा में चल रहे सभी RPC सर्वरों की गणना करना
    • एक PE फ़ाइल (जैसे EXE या DLL) में परिभाषित ऑफ़लाइन RPC सर्वरों को लोड करना
  • इंटरैक्टिव
    • क्लाइंट वर्कबेंच: स्वचालित रूप से RPC क्लाइंट कोड उत्पन्न करें जिसे अनुकूलित किया जा सकता है और किसी भी RPC सेवा में कॉल करने के लिए उपयोग किया जा सकता है।
    • RPC स्निफर: विंडोज के लिए RPC-संबंधित इवेंट ट्रेसिंग (ETW) डेटा की रीयलटाइम निगरानी।

उदाहरण कार्यप्रवाह: टास्क शेड्यूलर RPC का विश्लेषण

इस उदाहरण में, हम विंडोज टास्क शेड्यूलर RPC सेवा का निरीक्षण करेंगे, जिसका उपयोग शेड्यूल किए गए कार्यों को प्रबंधित और निष्पादित करने के लिए किया जाता है। हम सेवा को ढूंढेंगे, क्लाइंट कोड उत्पन्न करेंगे, और फिर क्लाइंट को कस्टमाइज़ करेंगे ताकि वह एक्सपोज़ की गई प्रक्रियाओं में से एक के साथ इंटरैक्ट कर सके।

पहले, File -> Load From Service पर क्लिक करके विंडोज सेवाओं की सूची लोड करें। यह एक नई सेवा सूची विंडो खोलता है:

Schedule सेवा खोजें, जो विंडोज टास्क शेड्यूलर है, सेवा चुनें और Go पर क्लिक करें।

RPCI द्वारा सभी संबंधित RPC DLL को लोड करने से पहले आपको संकेत दिया जाएगा। जारी रखने के लिए Yes पर क्लिक करें। लोड होने के बाद, आप सेवा प्रक्रिया में लोड किए गए सभी मॉड्यूल में खोजे गए सभी RPC सर्वरों की एक सूची देखेंगे। विंडोज टास्क शेड्यूलर RPC सर्वर का इंटरफ़ेस ID 86D35949-83C9-4044-B424-DB363231FD0C है। सूची में उस पंक्ति को खोजें जिसमें यह इंटरफ़ेस ID है, जिसमें Task Scheduler नामक एक चल रही सेवा होनी चाहिए, पंक्ति पर राइट-क्लिक करें और New Client चुनें।

क्लाइंट विंडो का बायां भाग RPC सर्वर मेटाडेटा और क्लाइंट कोड से कमांड लाइन आउटपुट दिखाता है। दाहिनी ओर दो टैब दिखाता है:

  • Client Code - स्वचालित रूप से उत्पन्न C# क्लाइंट कोड जिसे एक या अधिक प्रक्रियाओं के साथ इंटरैक्ट करने के लिए अनुकूलित किया जा सकता है।
  • Procedures - एक्सपोज़ की गई RPC प्रक्रियाओं की सूची।

इस उदाहरण में हम SchRpcHighestVersion प्रक्रिया को कॉल करेंगे। यह विधि एक एकल तर्क, out int version स्वीकार करती है, जो प्रक्रिया को कॉल करने के बाद, RPC इंटरफ़ेस द्वारा समर्थित उच्चतम टास्क शेड्यूलर प्रोटोकॉल संस्करण को शामिल करेगा। उच्च 16-बिट मुख्य संस्करण हैं और निम्न 16-बिट लघु संस्करण हैं।

इस प्रक्रिया को कॉल करने के लिए:

  1. Client Code विंडो में, Run विधि खोजें, जो RPC क्लाइंट के लिए मुख्य प्रवेश बिंदु है।

  2. प्रक्रिया को कॉल करने के लिए Run विधि के मुख्य भाग को संपादित करें:

    root@kitploit:~
    public async Task<bool> Run()
    {
        int version;
        int status = SchRpcHighestVersion(out version);
        if (status == 0) {
            long major = (version & 0xffff0000) >> 16;
            long minor = version & 0x0000ffff;
            Console.WriteLine("highest supported RPC version: {0}.{1}", major, minor);
        } else {
            Console.WriteLine("call to SchRpcHighestVersion failed with error: {0:X}", status);
        }
        return true;
    }
    
  3. यह कोड जोड़ने के बाद, Run बटन पर क्लिक करके क्लाइंट चलाएं। यह C# कोड संकलित करेगा और फिर Run विधि को निष्पादित करेगा।

    • यदि क्लाइंट कोड संकलित नहीं किया जा सकता है, तो आपको किसी भी संकलन त्रुटि के साथ एक पॉपअप बॉक्स दिखाई देगा।

यदि संकलन सफल होता है, तो आपको Output बॉक्स में कुछ इस प्रकार दिखाई देगा:

root@kitploit:~
> Run() output:
highest supported RPC version: 1.6

कॉन्फ़िगरेशन

RPC Investigator में कई कॉन्फ़िगरेशन सेटिंग्स हैं।

कॉन्फ़िगरेशन सेटिंग्स को एप्लिकेशन के भीतर Edit -> Settings मेनू के माध्यम से संशोधित किया जा सकता है।

समस्या निवारण

अपनी प्रारंभिक रिलीज़ के बाद, RPC Investigator को .NET Framework एप्लिकेशन से .NET 7 एप्लिकेशन में परिवर्तित किया गया था। यदि आपको बिल्ड समस्याओं का सामना करना पड़ता है, तो सुनिश्चित करें कि विज़ुअल स्टूडियो अद्यतित है। .NET Framework संस्करण से निर्माण करने से पहले सभी बिल्ड आउटपुट फ़ोल्डरों को साफ़ करना एक अच्छा विचार है।

साथ ही, असुरक्षित BinaryFormatter वर्ग से protobuf-net में स्थानांतरण के कारण, .NET Framework संस्करण के साथ उत्पन्न RPC लाइब्रेरी .NET संस्करण के साथ असंगत हैं।

यदि आप RPC Investigator में यादृच्छिक क्रैश का अनुभव कर रहे हैं, तो आप अपने व्यवस्थापक से आपके EDR को समायोजित करने के लिए कहकर समाधान पा सकते हैं। हमने पाया है कि कुछ EDR JIT'ed भाषाओं के साथ समझदारी से व्यवहार नहीं करते हैं।

कुछ मामलों में RPC Investigator को EDR द्वारा दुर्भावनापूर्ण के रूप में पहचाना जाता है, जिसमें वायरस टोटल पर कुछ झूठी सकारात्मक शामिल हैं। यह एक ज्ञात समस्या है। ऐसा इसलिए है क्योंकि RPC Investigator में NtObjectManager शामिल है - जेम्स फोरशॉ द्वारा बनाया गया एक पैकेज जो विंडोज डिफेंडर सहित कई EDR द्वारा (झूठी सकारात्मक) के रूप में पहचाना जाता है।

विकास वातावरण

  1. Visual Studio Community 2022 स्थापित करें, सुनिश्चित करें कि .NET Desktop Development कार्यप्रवाह चुनें।
  2. नवीनतम Windows 10 SDK डाउनलोड और इंस्टॉल करें। पूर्ण इंस्टॉलेशन करें ताकि .NET 4.8.1 और डीबगिंग टूल्स स्थापित हो जाएं।
  3. समाधान खोलें और सत्यापित करें कि प्रोजेक्ट सही ढंग से लोड हुए। यदि गुम .NET 4.8.1 टार्गेटिंग पैक के बारे में कोई त्रुटि है, तो .NET Framework 4.8.1 Developer Pack डाउनलोड और इंस्टॉल करें और फिर विज़ुअल स्टूडियो को पुनरारंभ करें।

आगे पढ़ना

चूंकि विंडोज RPC एक दशक से अधिक समय से एक लोकप्रिय शोध विषय रहा है, यहां नाम देने के लिए बहुत सारे संबंधित संसाधन और शोध प्रयास हैं। हमने नीचे कुछ सूचीबद्ध किए हैं जो हमें इस उपकरण के निर्माण के दौरान मिले:

  • https://clearbluejar.github.io/posts/surveying-windows-rpc-discovery-tools/
  • https://www.powerofcommunity.net/poc2019/James.pdf
  • https://www.tiraniddo.dev/2022/06/finding-running-rpc-server-information.html
  • https://clearbluejar.github.io/posts/from-ntobjectmanager-to-petitpotam/
  • https://itm4n.github.io/from-rpcview-to-petitpotam/
  • https://learn.microsoft.com/en-us/windows/win32/rpc/rpc-security-essentials
  • https://www.cyberark.com/resources/threat-research-blog/understanding-windows-containers-communication
  • https://github.com/silverf0x/RpcView
  • https://github.com/xpn/RpcEnum
  • https://github.com/cyberark/RPCMon
  • https://github.com/tyranid/WindowsRpcClients

यदि आप RPC आंतरिक विवरण से अपरिचित हैं या तकनीकी पुनश्चर्या की आवश्यकता है, तो हम इस विषय पर एक आधिकारिक स्रोत की सिफारिश करेंगे - सिंगापुर में एलेक्स आयोनेस्कु का 2014 का SyScan टॉक, All about the RPC, LRPC, ALPC, and LPC in your PC.

टूल डाउनलोड करें
सेटिंगविवरणडिफ़ॉल्ट
dbghelp.dlldbghelp.dll मॉड्यूल का फ़ाइल स्थानस्थापित विंडोज किट में नवीनतम संस्करण खोजें।
Symbol Pathविंडोज सिम्बल का पथ, जो एक सिम्बल सर्वर या स्थानीय निर्देशिका हो सकता हैsrvc:\symbolshttps://msdl.microsoft.com/download/symbols
Trace Levelलॉगिंग ट्रेस स्तरinfo