Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
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
CVE-2024-6769 — Analyse technique et PoC pour CVE-2024-6769, enchaînant le détournement de DLL avec l'empoisonnement du cache d'activation pour élever le niveau d'intégrité de moyen à élevé sur les systèmes Windows. | Kitploit
Outils/GitHubGitHub/fortra/cve-2024-6769
Escalade de PrivilègesAnalyse des VulnérabilitésExploitationArticles et RechercheApprentissage et ÉducationExploitation de Binaires
GitHubfortra/cve-2024-6769

CVE-2024-6769

Analyse technique et PoC pour CVE-2024-6769, enchaînant le détournement de DLL avec l'empoisonnement du cache d'activation pour élever le niveau d'intégrité de moyen à élevé sur les systèmes Windows.

Voir le dépôt
78118il y a 2 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

Article de blog : CVE-2024-6769 Empoisonnement du cache d'activation pour passer d'une intégrité moyenne à élevée

Cet article de blog porte sur deux bogues enchaînés : La première étape est un détournement de DLL provoqué par le remappage du lecteur ROOT, et la seconde est un empoisonnement du cache d'activation géré par le serveur CSRSS.

La première étape a été présentée en détail à l'Ekoparty 2023 dans la présentation intitulée "I'm High" par Nicolás Economou de BlueFrost Security. Il a expliqué comment exploiter la vulnérabilité qui, à l'époque, n'avait pas encore été corrigée par Microsoft. Cela permettait à un utilisateur de NIVEAU D'INTÉGRITÉ MOYEN de bénéficier de PRIVILÈGES ÉLEVÉS limités, mais sans l'accès complet nécessaire pour être un Administrateur à part entière.

La seconde étape n'a pas été présentée lors de cette conférence, bien que quelques pistes aient été suggérées pour commencer à la rechercher.

Pour commencer, nous examinerons la première étape afin de fournir un contexte introductif. À partir de là, nous plongerons dans mes recherches sur la seconde étape, en détaillant comment passer d'un niveau d'INTÉGRITÉ ÉLEVÉ limité à un Administrateur complet. Cela inclut une preuve de concept (PoC) complète et fonctionnelle pour les deux étapes sur toutes les versions de Windows, qui a été testée avec succès sur Windows 10, Windows 11, Windows Server 2022 et Windows Server 2019 avec toutes les mises à jour appliquées.

Index :

  • Examen de la première étape
  • Étapes à suivre pour exploiter la seconde étape.
  • Qu'est-ce que le cache d'activation ?
  • Utilisation du vecteur d'attaque ALPC pour empoisonner le cache d'activation
  • Comment le système acceptera-t-il notre contexte d'activation ?
  • Comment empoisonner le cache d'activation ?
  • Comment mon manifeste XML intégré est-il lu ?
  • Comment le manifeste XML intégré est-il analysé ?
  • Comment ma fausse imm32.dll a-t-elle fini par être chargée ?
  • Démonstration vidéo.
  • Preuve de concept fonctionnelle
  • TL;DR Brève description des étapes d'exploitation

Examen de la première étape

Un carré rouge avec du texte blanc et un chiffre dessus Description générée automatiquement

La seule condition pour cette étape est que le processus initial démarre à un NIVEAU D'INTÉGRITÉ MOYEN et que l'utilisateur appartienne au groupe Administrateur.

La première étape de l'exploitation peut être résumée dans les étapes suivantes :

  1. Remappage du lecteur ROOT à l'aide de la fonction NtCreateSymbolicLinkObject.

Par exemple : remappage du disque de

"C:\" à "C:\users\public"

Cela remappera également le dossier "system32" de

"C:\windows\system32" à "C:\users\public\windows\system32"

  1. Après le remappage, certains services sont affectés et tenteront de charger des bibliothèques depuis le nouveau system32 factice contrôlé par l'utilisateur.

L'un de ces programmes affectés est CTFMON, qui s'exécute à un NIVEAU D'INTÉGRITÉ ÉLEVÉ mais sans privilèges d'administrateur.

Normalement, il essaie de charger le module appelé MsCtfMonitor.dll depuis le vrai dossier system32, mais comme le lecteur ROOT a été remappé, il cherche MsCtfMonitor.dll dans notre system32 factice contrôlé, où nous pouvons créer et placer une DLL falsifiée avec le même nom.

  1. Créer MsCtfMonitor.dll

À ce stade, en plaçant notre version de MsCtfMonitor.dll dans le faux dossier system32, sa fonction DoMsCtfMonitor est appelée et exécute notre code à un NIVEAU D'INTÉGRITÉ ÉLEVÉ.

  1. Placer un MessageBoxA sur la fonction DoMsCtfMonitor. Lorsque MsCtfMonitor.dll est chargée, elle affiche le MessageBoxA "TRIGGER".

  1. Vérifier que la DLL a été chargée dans le processus CTFMON qui s'exécute au NIVEAU D'INTÉGRITÉ ÉLEVÉ :

En même temps, nous pouvons corroborer que le processus, bien qu'à un NIVEAU D'INTÉGRITÉ ÉLEVÉ, ne dispose pas de privilèges d'administrateur :

Étapes pour l'exploitation de la seconde étape Un carré rouge avec du texte blanc et un chiffre dessus Description générée automatiquement

Dans sa présentation à l'Ekoparty, Nicolas a suggéré les étapes suivantes pour terminer l'exploitation :

Bien que cela semble simple, cela nécessite beaucoup de temps de rétro-ingénierie et de débogage.

En creusant un peu dans l'histoire de ce vecteur d'attaque, il est devenu clair que l'empoisonnement du cache des contextes d'activation a été utilisé dans certaines exploitations. Par conséquent, il est intéressant d'apprendre comment l'exploitation a été réalisée auparavant pour fournir un contexte et des informations supplémentaires. Des détails sur cette exploitation sont disponibles via l'article du Zero Day Initiative, Activation Context Cache Poisoning: Exploiting CSRSS for Privilege Escalation.

Qu'est-ce que le cache d'activation ?

L'utilisation du cache d'activation se produit lorsqu'un programme va charger une bibliothèque nécessitant une version spécifique.

Par exemple, si une application va charger C:\Windows\System32\comctl32.dll, il n'y a aucune garantie que la comctl32.dll à cet emplacement soit la version dont l'application a besoin. C'est un cas d'utilisation basique du cache des contextes d'activation. Le programme peut envoyer une requête au serveur CSRSS pour traiter une nouvelle entrée de contexte d'activation à ajouter au cache, afin que ce programme puisse charger la version spécifique de la bibliothèque nécessaire.

À cet effet, on utilise le fichier dit manifeste, qui est au format XML. Il est généralement intégré en tant que ressource dans un fichier EXE ou DLL. Sinon, Windows recherchera un fichier manifeste dans le même dossier où se trouve l'exécutable du programme.

L'URL mentionnée ci-dessus contient quelques exemples de fichiers manifeste utilisés par d'anciennes exploitations, comme tromper le système pour charger la bibliothèque advapi32.dll depuis un répertoire contrôlé par l'attaquant grâce à une technique de TRAVERSÉE DE CHEMIN.

Bien sûr, certains vecteurs d'attaque utilisés ont été corrigés, et de nouvelles techniques ont été découvertes. De plus, dans le correctif d'octobre 2022 pour Windows 11 22H2, une nouvelle vérification a été ajoutée.

Télécharger l’outil