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-2021-1732 — Analyse technique et exploit de preuve de concept pour CVE-2021-1732, une vulnérabilité d'élévation de privilèges du noyau Windows dans win32kfull, démontrant l'exploitation via la manipulation de tagWND. | Kitploit
Outils/GitHubGitHub/beneficialcode/cve-2021-1732
Escalade de PrivilègesAnalyse des VulnérabilitésExploitationExploitation de Binaires
GitHubbeneficialcode/cve-2021-1732

CVE-2021-1732

Analyse technique et exploit de preuve de concept pour CVE-2021-1732, une vulnérabilité d'élévation de privilèges du noyau Windows dans win32kfull, démontrant l'exploitation via la manipulation de tagWND.

Voir le dépôt
11il y a 4 ansPas encore vérifié

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

CVE-2021-1732

  • La vulnérabilité se produit dans la fonction win32kfull!NtUserCreateWindowEx du pilote graphique Windows, à cause d'une désynchronisation entre l'allocation mémoire par rappel en mode utilisateur et la définition de l'attribut tagWND->flag. Cela permet de falsifier la valeur tagWND->offset, provoquant un dépassement mémoire.
  • Lorsque le pilote win32kfull.sys appelle NtUserCreateWindowEx pour créer une fenêtre, il vérifie tagWND->cbWndExtra (mémoire supplémentaire allouée à l'instance de fenêtre). Si cette valeur n'est pas nulle, il appelle la fonction win32kfull!xxxClientAllocWindowClassExtraBytes pour rappeler user32.dll!__xxxClientAllocWindowClassExtraBytes en mode utilisateur afin d'allouer de l'espace. L'adresse allouée est corrigée sur la pile via NtCallbackReturn, puis retournée en mode noyau où elle est enregistrée et le programme continue. Cependant, lorsque l'attribut tagWND->flag contient la valeur 0x800, cette valeur enregistrée devient un offset.
  • Un attaquant peut intercepter la fonction user32.dll!_xxxClientAllocWindowClassExtraBytes et appeler NtUserConsoleControl pour modifier l'attribut tagWND->flag afin d'inclure la valeur 0x800, puis utiliser NtCallbackReturn pour retourner une valeur personnalisée dans tagWND->offset au niveau du noyau.
  1. La vulnérabilité se produit dans win32kfull!NtUserCreateWindowEx du pilote graphique Windows.
  2. Lorsque le pilote win32kfull.sys appelle NtUserCreateWindowEx pour créer une fenêtre, il vérifie tagWND->cbWndExtra (mémoire supplémentaire allouée à l'instance de fenêtre). Si cette valeur n'est pas nulle, il appelle win32kfull!xxxClientAllocWindowClassExtraBytes pour rappeler user32.dll!__xxxClientAllocWindowClassExtraBytes en mode utilisateur afin de créer la mémoire. L'adresse allouée est corrigée sur la pile via NtCallbackReturn, puis retournée en mode noyau où elle est enregistrée et le programme continue. Cependant, lorsque l'attribut tagWND->flag contient la valeur 0x800, cette valeur est traitée comme un offset.
  3. Utiliser NtUserConsoleControl pour modifier le flag afin d'inclure la valeur 0x800.

17763:[[gpKernelHandleTable] + 0x18 * ((hwnd->cx * [gSharedInfo+0x10]) >> 5)]

Il est mentionné que l'appel à NtUserConsoleControl réinitialise les valeurs tagWND->offset et tagWND->flag incluant l'attribut 0x800. Lorsque flag contient 0x800, l'adressage se fait par offset. Notre objectif en appelant NtUserConsoleControl est de modifier tagWND->flag pour inclure la valeur 0x800, puis d'appeler NtCallbackReturn pour retourner une valeur spécifique, ce qui permet de modifier tagWND->offset, car win32kfull!xxxClientAllocWindowClassExtraBytes place la valeur de retour dans tagWND->offset.

+0x058 KernelCallbackTable : 0x00007ffb0e9d1070 Void

00007ffb0e9d1448`

Télécharger l’outil