Modele de privileges Windows
Comprendre l'architecture de securite qui controle l'acces a tout
Ce que vous allez decouvrir
🎯 Pourquoi c'est important
Chaque exploit d'elevation de privileges Windows cible une faiblesse specifique dans le modele de securite Windows. Avant de pouvoir le compromettre, vous devez comprendre comment il fonctionne. Les jetons d'acces, les SID, les privileges et les niveaux d'integrite forment la base de la securite Windows - et la base de chaque technique de privesc que vous apprendrez.
🔍 Ce que vous apprendrez
- Comment les jetons d'acces Windows transportent l'identite et les privileges a travers le systeme
- La structure des identificateurs de securite (SID) et ce que signifie chaque composant
- Les constantes de privileges Windows et lesquelles permettent l'elevation de privileges
- Le controle d'integrite obligatoire et comment il restreint les processus a faibles privileges
🚀 Votre premiere victoire
Dans les 5 prochaines minutes, vous examinerez votre propre jeton d'acces et identifierez les privileges exacts qui pourraient permettre une elevation sur un systeme compromis.
🔧 Essayez ceci maintenant
Ouvrez une invite de commandes et examinez les privileges de votre jeton actuel :
whoami /priv
whoami /groups
whoami /all
Vous verrez : Une liste de privileges assignes a votre jeton, vos appartenances aux groupes avec leurs SID, et votre contexte de securite complet. Notez tous les privileges marques comme "Enabled" - ceux-ci sont immediatement utilisables.
Competences que vous maitriserez
✅ Comprehension fondamentale
- Architecture des jetons d'acces Windows
- Structure des SID et SID bien connus
- Droits utilisateur vs privileges
- Niveaux d'integrite (Low, Medium, High, System)
🔍 Competences expertes
- Identification des privileges dangereux
- Concepts de manipulation de jetons
- UAC et filtrage des jetons
- Jetons primaires vs jetons d'emprunt d'identite
Comprendre le modele de securite Windows
La securite Windows est construite sur un concept simple mais puissant : chaque processus s'execute avec un jeton d'acces qui definit ce qu'il peut faire. Ce jeton contient votre identite (SID), vos privileges et votre niveau d'integrite. Lorsque vous essayez d'acceder a une ressource, Windows compare votre jeton au descripteur de securite de la ressource pour determiner l'acces.
Jeton d'acces = Identite (SID) + Privileges + Niveau d'integrite
Identificateurs de securite (SID)
Chaque principal de securite dans Windows (utilisateurs, groupes, ordinateurs) a un SID unique. Les SID suivent un format specifique :
S-1-5-21-3623811015-3361044348-30300820-1013
│ │ │ └─────────────────────────────────┴── ID Relatif (RID)
│ │ │ └── Identificateur de Domaine/Machine
│ │ └── Autorite d'identification (5 = NT Authority)
│ └── Revision du SID (toujours 1)
└── Prefixe SID
SID bien connus que vous devriez memoriser :
SYSTEM
S-1-5-18
Compte avec les plus hauts privileges
Administrators
S-1-5-32-544
Groupe admin integre
Users
S-1-5-32-545
Groupe utilisateurs standard
Privileges dangereux
Certains privileges permettent une elevation de privileges directe. Lorsque vous les voyez sur un compte compromis, vous avez un chemin vers SYSTEM :
| Privilege | Vecteur d'attaque |
|---|---|
| SeImpersonatePrivilege | Emprunt d'identite de jeton (attaques Potato) |
| SeAssignPrimaryTokenPrivilege | Assigner des jetons aux nouveaux processus |
| SeBackupPrivilege | Lire n'importe quel fichier (contourner les ACL) |
| SeRestorePrivilege | Ecrire n'importe quel fichier (contourner les ACL) |
| SeDebugPrivilege | Deboguer n'importe quel processus, injecter du code |
| SeTakeOwnershipPrivilege | Prendre possession de n'importe quel objet |
Niveaux d'integrite
Le controle d'integrite obligatoire (MIC) ajoute une autre couche de controle d'acces. Meme si les ACL autorisent l'acces, un processus de niveau d'integrite inferieur ne peut pas ecrire sur des objets de niveau d'integrite superieur :
System - S-1-16-16384 (Services Windows, noyau)
High - S-1-16-12288 (Administrateurs eleves)
Medium - S-1-16-8192 (Utilisateurs standard, par defaut)
Low - S-1-16-4096 (Processus sandbox, navigateurs)
Untrusted - S-1-16-0 (Le plus restreint)
Outils et techniques
Commandes Windows integrees
Windows fournit des outils natifs pour examiner le contexte de securite :
# Afficher les privileges de l'utilisateur actuel
whoami /priv
# Afficher les appartenances aux groupes avec les SID
whoami /groups
# Afficher les informations completes du jeton
whoami /all
# Verifier le niveau d'integrite du processus actuel
whoami /groups | findstr "Label"
# Afficher le SID de l'utilisateur actuel
wmic useraccount where name='%username%' get sid
Cmdlets de securite PowerShell
PowerShell offre une vision plus approfondie du modele de securite :
# Obtenir l'identite Windows actuelle
[Security.Principal.WindowsIdentity]::GetCurrent()
# Verifier si execution en tant qu'administrateur
([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)
# Lister tous les privileges dans le jeton actuel
[Security.Principal.WindowsIdentity]::GetCurrent().Claims | Where-Object { $_.Type -match "privilege" }
# Obtenir le niveau d'integrite du processus
(Get-Process -Id $PID).Handle
Outils Sysinternals
La suite Sysinternals de Microsoft fournit une analyse de securite de niveau professionnel :
- Process Explorer - Visualiser les jetons, privileges et niveaux d'integrite des processus en cours
- AccessChk - Verifier les permissions sur les fichiers, services, cles de registre, et plus
- PsExec - Executer des processus avec differents jetons (y compris SYSTEM)
Telecharger depuis : Microsoft Sysinternals
Scenarios d'attaque reels
🔴 Etude de cas : Pool d'applications IIS vers SYSTEM
Les applications web s'executant dans les pools d'applications IIS fonctionnent en tant que comptes de service avec SeImpersonatePrivilege. Ce privilege, combine aux exploits de la famille Potato, permet l'elevation d'un web shell vers SYSTEM. C'est l'un des chemins d'elevation de privileges les plus courants dans les tests de penetration reels.
Chaine d'attaque : Web shell → Verifier les privileges → Trouver SeImpersonatePrivilege → Executer JuicyPotato/PrintSpoofer → Shell SYSTEM
🟠 Etude de cas : Abus du groupe Backup Operators
Les membres du groupe Backup Operators ont SeBackupPrivilege et SeRestorePrivilege. Ces privileges contournent les ACL de fichiers, permettant la lecture de la base de donnees SAM et de la ruche de registre SYSTEM. Avec ces fichiers, le craquage de mots de passe hors ligne ou les attaques pass-the-hash deviennent possibles.
Chaine d'attaque : Appartenance a Backup Operators → Exporter SAM/SYSTEM → Extraire les hashes avec secretsdump → Pass-the-hash vers Administrator
💡 Conseil d'expert
Le modele de privileges Windows est complexe par conception. Chaque privilege existe pour un but legitime, mais chacun peut etre abuse. Comprendre pourquoi les privileges existent vous aide a identifier les opportunites d'exploitation et a expliquer les risques aux clients lors des debriefings de tests de penetration.
Contre-mesures defensives
Principe du moindre privilege
La defense la plus efficace contre l'elevation de privileges est de s'assurer que les comptes n'ont que les privileges dont ils ont besoin :
- Retirer les utilisateurs des groupes privilegies (Administrators, Backup Operators) sauf si absolument necessaire
- Utiliser les Strategies de groupe pour restreindre l'attribution des privileges
- Les comptes de service devraient utiliser des Managed Service Accounts (MSA) avec des privileges minimaux
- Audits reguliers des appartenances aux groupes et des attributions de privileges
Protection des jetons
- Activer Credential Guard pour proteger LSASS et les jetons
- Configurer UAC sur "Toujours notifier" pour une protection maximale
- Implementer Windows Defender Credential Guard sur les systemes sensibles
- Utiliser le groupe de securite Protected Users pour les comptes a haute valeur
Surveillance et detection
- Activer les politiques d'audit pour l'utilisation des privileges et la manipulation des jetons
- Surveiller l'Event ID 4672 (Privileges speciaux attribues a une nouvelle connexion)
- Alerter sur l'utilisation de SeDebugPrivilege et SeImpersonatePrivilege
- Utiliser Microsoft Defender for Endpoint ou des solutions EDR similaires
Questions frequemment posees
Quelle est la difference entre un privilege et un droit dans Windows ?
Les privileges controlent ce qu'un utilisateur peut faire au systeme (deboguer des processus, sauvegarder des fichiers, arreter), tandis que les droits controlent comment les utilisateurs peuvent se connecter (interactif, reseau, service). Les deux sont attribues via la Politique de securite locale ou la Strategie de groupe, mais ils servent des objectifs differents. Du point de vue de la privesc, ce sont les privileges que vous recherchez.
Pourquoi les comptes de service ont-ils SeImpersonatePrivilege ?
Les comptes de service ont besoin de ce privilege pour gerer les requetes des clients. Lorsqu'un client se connecte a un service, le service emprunte l'identite du client pour acceder aux ressources en son nom. C'est par conception, mais cela cree la surface d'attaque que les exploits Potato exploitent. Microsoft considere cela comme "fonctionnant comme prevu" plutot qu'une vulnerabilite.
Puis-je elever mes privileges avec un jeton d'integrite Medium ?
Les jetons d'integrite Medium standard n'ont pas de privileges dangereux par defaut. Vous devrez trouver des mauvaises configurations (permissions de service faibles, chemins non quotes, repertoires de programmes accessibles en ecriture) ou des contournements UAC pour elever. Les attaques basees sur les privileges comme Potato necessitent SeImpersonatePrivilege, que les utilisateurs standard n'ont pas.
Quelle est la difference entre Administrator et SYSTEM ?
Administrator est un compte utilisateur avec lequel on peut se connecter et qui a un mot de passe. SYSTEM (LocalSystem) est un compte de service avec les plus hauts privileges sur la machine locale - il possede des processus comme services.exe et lsass.exe. SYSTEM peut faire tout ce que Administrator peut faire, plus acceder a certaines ressources protegees. Dans les environnements de domaine, SYSTEM represente le compte ordinateur.
🎯 Modele de securite Windows - Compris !
Vous comprenez maintenant les fondements de la securite Windows : jetons d'acces, SID, privileges et niveaux d'integrite. Chaque technique d'elevation de privileges que vous apprendrez exploite des faiblesses dans ce modele.
Pret a apprendre les techniques d'enumeration manuelle →