Ce référentiel vise à fournir un code fonctionnel démontrant l'utilisation de différentes manières d'accéder aux pointeurs du mode noyau dans Windows à partir du mode utilisateur. Un ticket vert indique une fuite qui fonctionne à partir d'un processus à faible intégrité et une coche bleue indique une fuite qui nécessite un processus à intégrité moyenne.
Technique | 7 | 8 | 8.1 | 10 - 1511 | 10 - 1607 | 10 - 1703 | 10 - 1703 + VBS |
---|---|---|---|---|---|---|---|
Informations système NtQuery : SystemHandleInformation Informations sur le verrouillage du système Informations sur le module système Informations sur le processus système SystemBigPoolInformations | |||||||
Valeurs de retour des appels système | |||||||
Table de gestion des informations partagées Win32k | |||||||
Tableaux de descripteurs | |||||||
HMValidateHandle | |||||||
GdiSharedHandleTable | |||||||
Tas de bureau |
Les techniques suivantes nécessitent des autorisations non standard.
Technique | Autorisation requise | 7 | 8 | 8.1 | 10 - 1511 | 10 - 1607 | 10 - 1703 | 10 - 1703 + VBS |
---|---|---|---|---|---|---|---|---|
NtSystemDebugControl : SysDbgGetTriageDump | SeDebugPrivilège | |||||||
SeSystemProfilePrivilege |
Quelques détails supplémentaires sur les techniques qui ne fonctionnent plus et ce qui a été modifié :
https://samdb.xyz/revisiting-windows-security-hardening-through-kernel-address-protection/
notes/gSharedInfo.md - Un bref aperçu des modifications apportées dans Creators Update/1703. Pas très concret ou détaillé, je pourrais le revoir et créer quelque chose de plus détaillé ou peut-être que quelqu'un d'autre le fera.
En attente
notes/NPIEP.md - Un très bref article "c'est une chose", plus de détails en attente pour que je récupère un ordinateur portable de test lorsque les stagiaires d'été seront partis...
J'ai indiqué où j'ai lu des informations sur une technique et d'où proviennent des structures spécifiques, etc. dans le code, mais il se peut qu'il ne s'agisse pas des véritables sources originales de l'information :)
De nombreux prototypes de fonctions et définitions de structures proviennent de ReactOS.
Icône de coche verte par FatCow (http://www.fatcow.com/free-icons) [CC BY 3.0], via Wikimedia Commons
Icône croisée par Cäsium137 [Domaine public], via Wikimedia Commons
Blue Tick Par Gregory Maxwell, utilisateur : David Levy, Wart Dark (en:Image:Blue check.png) [GFDL 1.2 (http://www.gnu.org/licenses/old-licenses/fdl-1.2.html)] , via Wikimédia Commons