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-2020-0753-and-CVE-2020-0754 — Write-up et POC pour CVE-2020-0753, CVE-2020-0754 et six vulnérabilités DOS Windows non corrigées. | Kitploit
Outils/GitHubGitHub/vikasvarshney/cve-2020-0753-and-cve-2020-0754
Escalade de PrivilègesAnalyse des VulnérabilitésExploitationArticles et RechercheApprentissage et ÉducationExploitation de Binaires
GitHubvikasvarshney/cve-2020-0753-and-cve-2020-0754

CVE-2020-0753-and-CVE-2020-0754

Write-up et POC pour CVE-2020-0753, CVE-2020-0754 et six vulnérabilités DOS Windows non corrigées.

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
Voir le dépôt
6104il y a 6 ansPas encore vérifié

Writeup et POC pour CVE-2020-0753, CVE-2020-0754 et six vulnérabilités DOS non corrigées de Windows

Exploitation du bug de race condition du système de fichiers - analyse de CVE-2020-0753 et CVE-2020-0754

Le service Windows Error Reporting a corrigé 2 bugs d'élévation de privilèges lors du dernier Patch Tuesday ; les deux bugs sont associés à CVE-2020-0753 et CVE-2020-0754. Ces deux bugs exploitent un bug de race condition dans les opérations FileSystem du service. Cependant, ces deux bugs ne sont pas si faciles à exploiter en raison des petites fenêtres de course et des emplacements de dépôt de fichiers incertains. Nous partageons ici nos techniques pour les exploiter.

La cause racine des deux bugs de course est donnée dans nos rapports ; la cause réelle peut être exprimée comme Prédictible est Vulnérable. Lorsque le service WER traite des fichiers temporaires, il manipule l'emplacement de fichier C:\ProgramData\Microsoft\Windows\WER\Temp, qui est un répertoire accessible en lecture/écriture pour les utilisateurs authentifiés. Cela signifie qu'un utilisateur normal de niveau IL moyen (medium-IL) peut écraser un fichier créé par le service WER, et même le transformer en lien FileSystem pour endommager/supprimer d'autres fichiers qu'il n'aurait pas pu toucher.

Pour garantir la sécurité des opérations sur les fichiers, le service WER s'appuie sur une API standard nommée GetTempFileNameW et l'enveloppe avec wersvc.dll->UtilGetTempFile. Cette API aide WerSvc à générer un nom de fichier aléatoire inoccupé sous la forme "WER****.tmp",

la partie aléatoire du nom de fichier est générée avec un nombre hexadécimal de 4 octets, de 0000-FFFF ; si un nombre a déjà été utilisé pour créer un fichier, l'API choisit un autre nom de fichier aléatoire.

La stratégie présente clairement une faille si l'on crée 65535 fichiers nommés de WER0000.tmp à

WERFFFE.tmp. L'API choisira un nombre aléatoire et testera le nom de fichier pour voir s'il existe, par exemple WERA560.tmp ; elle constatera que le fichier existe déjà, et continuera donc à tester de WERA560.tmp jusqu'à WERFFFF.tmp. Pendant que le test se poursuit, une fenêtre de préparation apparaît car nous avons trouvé un moyen de faire rester WerSvc bloqué sur l'appel GetTempFileNameW pendant 4 à 5 secondes, ce qui constitue une assez grande fenêtre de temps. Entre-temps, nous forçons le service à déposer un fichier temporaire avec un nom de fichier fixe, à savoir

WERFFFF.tmp.

Après que le service a créé le fichier temporaire nommé WERFFFF.tmp, l'API

ferme automatiquement le handle qu'elle détient sur le fichier, puis retourne le nom du fichier au service pour des opérations ultérieures sur ce fichier ; c'est exactement là que le bug est introduit. Trois conditions sont réunies :

  1. Le fichier créé par le service se trouve à un emplacement contrôlable par un utilisateur normal.

  2. Le service ferme tous les handles sur le fichier.

  3. Le service utilisera le fichier plus tard (écriture ou suppression).

Ici, le service va écrire du contenu dans le fichier puis le supprimer. L'écriture comme la suppression provoqueront une élévation de privilèges en exploitant des liens FileSystem et certaines techniques d'exploitation.

Afin de transformer le bug en suppression arbitraire de fichiers, nous exploitons astucieusement de multiples jonctions de répertoires pour mener à bien l'exploitation. Notre exploit comprend les étapes suivantes :

  • nous plaçons tous les WER***.tmp dans $pwd\1\, et jonction $pwd\2\ -> $pwd\1\ ;
  • nous créons un processus pour déclencher en continu cette fonction avec le chemin $pwd\2\, et créons l'autre processus pour exécuter en continu la commande SetOplock $pwd\1\WERFFFF.tmp ;
  • Une fois l'Oplock déclenché, nous faisons la jonction $pwd\2\ -> \RPC CONTROL\, puis créons un objet symbolique \RPC CONTROL\WERFFFF.tmp -> $target et \RPC CONTROL\WERFFFF.tmp.etl -> $target
  • Relâchez l'Oplock, le fichier cible sera supprimé avec les privilèges système.

L'exploitation détaillée et le POC sont fournis dans WERReport-CVE-2020-0753.

En exploitant la faille de GetTempFileNameW, nous obtenons un emplacement prédictible sur lequel le service opérera ; en utilisant une jonction FileSystem à plusieurs niveaux, nous rendons la race condition exploitable de manière fiable.

Entre-temps, nous avons remarqué que ce type de bug de course peut également provoquer un possible problème d'écrasement de fichier, ce qui peut alors conduire à des bugs d'élévation de privilèges dans certaines circonstances.

De la corruption arbitraire de fichier avec contrôle partiel à l'élévation de privilèges

Pour expliquer pourquoi une corruption arbitraire de fichier (si vous pouvez contrôler une très petite partie du contenu du fichier : moins de 63 octets) peut être transformée en EoP, nous devons prêter attention au mécanisme de fonctionnement de Windows Defender.

Windows Defender dispose d'une base de données de signatures de malwares. Si un fichier contient une signature de malware, Defender le considère comme un malware et le supprime. Cependant, cette fonctionnalité élargit la surface d'attaque. Par exemple, lors du WCTF2019, @icchy de tokyowesterns a conçu un challenge Windows CTF nommé "Gyotaku The Flag", qui utilise cette fonctionnalité comme un oracle pour fuiter des informations.

Ici, nous exploitons cette fonctionnalité de Windows Defender pour supprimer arbitrairement un fichier si nous disposons d'une corruption arbitraire de fichier avec contrôle partiel du contenu. Il suffit d'écrire une signature de malware dans un fichier et de déclencher une analyse par défaut de Windows Defender ; le fichier sera placé dans la zone d'isolement de Defender, qui peut être supprimée par un utilisateur normal (c'est-à-dire un utilisateur non administrateur de niveau IL moyen) en déclenchant simplement l'analyse à deux reprises.

Ainsi, un bug de corruption arbitraire de fichier peut être transformé en suppression arbitraire de fichier dès lors qu'une chaîne de signature de malware peut être insérée dans le fichier cible en utilisant le bug.

  • Étape 1 :

Corrompez le fichier cible avec un bug, placez-y une chaîne caractéristique reconnaissable par Windows Defender.

  • Étape 2 :

Déclenchez l'analyse du fichier cible par Windows Defender, provoquant l'isolement du fichier.

  • Étape 3 :

Déclenchez à nouveau l'analyse, le fichier cible est supprimé.

En exploitant cette technique, nous obtenons une suppression arbitraire de fichier avec l'aide de Defender.

La suppression arbitraire de fichiers peut être exploitée beaucoup plus facilement pour obtenir des privilèges supplémentaires.

Six vulnérabilités DOS non corrigées du système de fichiers dans Microsoft OneDrive

Microsoft OneDrive est l'ensemble d'applications fournissant le service de stockage personnel dans le cloud (Personal Cloud Storage). Cette application est intégrée à Windows comme option d'installation par défaut depuis Windows 8. Au cours de nos recherches, 6 vulnérabilités dans les tâches planifiées de service d'OneDrive ont été trouvées et soumises à MSRC.


Voici un tableau des vulnérabilités que nous allons exposer dans les tâches planifiées pertinentes de Microsoft OneDrive :

Télécharger l’outil