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
cve-2026-29923 — Preuve de concept pour CVE-2026-29923, une escalade de privilèges locale dans le pilote noyau pstrip64.sys. Démontre une primitive de lecture/écriture de la mémoire physique via IOCTL pour passer d'un utilisateur non privilégié à NT AUTHORITY\SYSTEM sur Windows. | Kitploit
Outils/GitHubGitHub/mein-0/cve-2026-29923
Escalade de PrivilègesAnalyse des VulnérabilitésExploitationTests d'IntrusionApprentissage et ÉducationExploitation de Binaires
GitHubmein-0/cve-2026-29923

cve-2026-29923

Preuve de concept pour CVE-2026-29923, une escalade de privilèges locale dans le pilote noyau pstrip64.sys. Démontre une primitive de lecture/écriture de la mémoire physique via IOCTL pour passer d'un utilisateur non privilégié à NT AUTHORITY\SYSTEM sur Windows.

Voir le dépôt
2il y a 3 moisPas 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-2026-29923 — pstrip64.sys Élévation de privilèges locale

Une preuve de concept minimale pour CVE-2026-29923, une vulnérabilité dans le pilote noyau pstrip64.sys (EnTech Taiwan PowerStrip ≤ 3.90.736) qui permet à un processus non privilégié en mode utilisateur d'élever ses privilèges à NT AUTHORITY\SYSTEM.


Le bug

pstrip64.sys expose un IOCTL (0x80002008) qui accepte une adresse physique fournie par l'utilisateur et la mappe directement dans l'espace d'adressage virtuel du processus appelant en ouvrant \Device\PhysicalMemory et en appelant ZwMapViewOfSection avec le handle du processus courant. Il n'y a aucune vérification de privilèges, aucune validation d'adresse au-delà de ce qu'impose HalTranslateBusAddress, et aucun contrôle d'accès sur le lien symbolique \\.\PSTRIP64.

Le résultat est une primitive de lecture/écriture physique de la mémoire sans restriction depuis un processus non privilégié.


Exploitation

Disposant d'une lecture/écriture physique arbitraire, l'exploit suit quatre étapes.

1. Rechercher les structures EPROCESS

La RAM physique est parcourue par blocs de 2 Mo. Chaque bloc est scanné à la recherche du tag de pool noyau Proc (0x636F7250), qui marque l'allocation de pool contenant la structure _EPROCESS d'un processus. Les candidats potentiels sont validés avec trois heuristiques légères avant que le PID ne soit considéré fiable :

  • PriorityClass == 0x2 — tous les processus vivants tournent avec une priorité normale
  • ProcessLock == 0x0 — le champ de verrouillage est clair sur un processus stable
  • ImageFileName[0] est un caractère ASCII imprimable — la mémoire indésirable satisfait rarement cette condition

2. Localiser les deux pointeurs de jeton

Deux cibles sont nécessaires :

  • L'adresse physique du champ Token de notre propre processus dans _EPROCESS
  • La valeur du jeton stockée dans le _EPROCESS du processus System (PID 4)

3. Écraser notre jeton

La page de 4 Ko contenant notre champ Token est mappée puis le champ est écrasé avec la valeur du jeton System. À partir de ce moment, le noyau Windows traite notre processus comme NT AUTHORITY\SYSTEM.

4. Lancer un shell

cmd.exe est lancé via CreateProcessA. Comme les processus enfants héritent du jeton du parent, le shell obtenu s'exécute en tant que SYSTEM.


Limitation MMIO

La fenêtre d'adresses physiques 3 Go – 4 Go est réservée au MMIO sur les systèmes x86. Tenter de mapper des pages dans cette plage provoque le retour de l'erreur 74 (échec de HalTranslateBusAddress) par le pilote. Le scan ignore cette fenêtre et reprend à 0x100000000 pour capturer les structures noyau que Windows place au-dessus de la barre des 4 Go.


Exigence 32 bits

Le gestionnaire de mappage du pilote écrit l'adresse virtuelle retournée dans un champ DWORD (LowPart), tronquant l'adresse 64 bits sur 32 bits. Une compilation 64 bits reçoit un pointeur corrompu et plante immédiatement. Compiler en x86.


Logiciel concerné

LogicielVersions
EnTech Taiwan PowerStrip≤ 3.90.736

Empreinte du pilote (SHA-256) :

root@kitploit:~
ab01485bb7c8bc1a9c86096eeea6d31d8fad557bf4d44072b46373d2203faa6e

Décalages EPROCESS

Les décalages codés en dur ciblent Windows 10 22H2 x64. D'autres builds nécessitent des valeurs mises à jour — utilisez dt nt!_EPROCESS dans WinDbg pour confirmer.


Compilation

Ouvrez une invite de commandes développeur Visual Studio x86 et exécutez :

root@kitploit:~
cl /EHsc /O2 exploit.c /Fe:poc.exe

Ou définissez la cible de plateforme sur x86 dans Visual Studio et compilez en mode Release. Le binaire ne nécessite aucune dépendance externe en dehors du SDK Windows.


Utilisation

Chargez d'abord pstrip64.sys (nécessite des droits administrateur pour charger le pilote, pas pour exécuter l'exploit lui-même une fois chargé), puis :

root@kitploit:~
poc.exe

Une nouvelle fenêtre cmd.exe s'ouvrira, s'exécutant en tant que NT AUTHORITY\SYSTEM.


Atténuation

Bloquer le chargement du pilote (recommandé)

  • Ajoutez l'empreinte du pilote ci-dessus à la liste de blocage de votre organisation
  • Activez la Liste de blocage des pilotes vulnérables Microsoft via WDAC
  • Activez l'Intégrité du code protégée par l'hyperviseur (HVCI)

Détecter l'exploitation en cours

  • Alerter sur les nouvelles installations de services en mode noyau pour des binaires de pilotes inconnus
  • Surveiller les processus d'intégrité basse/moyenne qui génèrent des enfants de niveau SYSTEM
  • Signaler tout processus dont le jeton passe à NT AUTHORITY\SYSTEM en dehors d'un événement d'authentification légitime

Avertissement

Ce code est publié à des fins éducatives et de recherche défensive uniquement. Utilisez-le uniquement sur des systèmes que vous possédez ou pour lesquels vous avez une autorisation écrite explicite de test. L'auteur n'est pas responsable d'une mauvaise utilisation.


Références

  • Liste de blocage des pilotes vulnérables Microsoft
  • Vue d'ensemble de WDAC
  • Fonctionnement interne de EPROCESS sous Windows
  • HalTranslateBusAddress — MSDN
  • ZwMapViewOfSection — MSDN
Télécharger l’outil
ChampDécalage
PriorityClass0x5B7
ProcessLock0x438
UniqueProcessId0x440
ImageFileName0x5A8
Token0x4B8