Comptes intégrés et comptes privilégiés : taxonomie et portée
Le système d’exploitation Windows et Active Directory définissent des comptes intégrés (Built-in Accounts) et des groupes hautement privilégiés configurés par défaut pour assurer l’amorçage, la maintenance et l’exécution des composants du système d’exploitation et de l’annuaire.
Ces comptes disposent de prérogatives opérationnelles délimitées par leur contexte d’exécution (local à l’hôte ou global à la forêt).
Pourquoi c’est important en DFIR
Section intitulée « Pourquoi c’est important en DFIR »Les comptes et groupes privilégiés constituent la cible prioritaire des attaquants lors des phases d’élévation de privilèges et de domination :
- Abus de comptes de service intégrés : un processus s’exécutant sous
NETWORK SERVICEouLOCAL SERVICEpeut être détourné pour escalader versSYSTEMvia des vulnérabilités de type Potato (ex. GodPotato, SweetPotato) abusant des privilègesSeImpersonatePrivilege. - Élévation furtive via des groupes secondaires : les attaquants ne s’ajoutent pas systématiquement dans
Domain Admins. Ils ciblent souvent des groupes moins surveillés mais tout aussi dévastateurs commeAccount Operators,Backup Operators(permettant la lecture dentds.ditviaSeBackupPrivilege), ouDnsAdmins(exécution de DLL arbitraire sur les DC). - Persistance sur les comptes d’infrastructure : le compte
krbtgt(RID502) est le compte de service central de Kerberos. La compromission de son hash NTLM/clé AES permet de forger des tickets Golden Ticket persistants.
Comment ça fonctionne
Section intitulée « Comment ça fonctionne »1. Comptes de service intégrés du système d’exploitation
Section intitulée « 1. Comptes de service intégrés du système d’exploitation »Sur chaque machine Windows, le système d’exploitation fournit trois identités non interactives pour exécuter les services :
| Compte | SID | Mot de passe | Accès Réseau | Privilèges Clés |
|---|---|---|---|---|
SYSTEM (LocalSystem) | S-1-5-18 | Géré dynamiquement par l’OS | Se présente sur le réseau sous l’identité du compte machine (COMPUTER$) | Tous privilèges OS (SeDebug, SeTcb, SeImpersonate) |
LOCAL SERVICE | S-1-5-19 | Aucun (contexte interne) | Connexion anonyme / Null Session uniquement | Privilèges restreints, pas de droits administratifs |
NETWORK SERVICE | S-1-5-20 | Aucun (contexte interne) | Se présente sur le réseau sous l’identité du compte machine (COMPUTER$) | Privilèges restreints, accès réseau authentifié |
2. Comptes et groupes d’administration Active Directory
Section intitulée « 2. Comptes et groupes d’administration Active Directory »Dans Active Directory, les groupes privilégiés se répartissent selon leur rayon d’action :
┌───────────────────────────────┐ │ Enterprise Admins │ (Forêt entière) └───────────────┬───────────────┘ │ ┌───────────────▼───────────────┐ │ Domain Admins │ (Domaine spécifique) └───────────────┬───────────────┘ │ ┌───────────────▼───────────────┐ │ BUILTIN\Administrators │ (Machine locale ou DC) └───────────────────────────────┘Enterprise Admins(RID519) : réside uniquement dans le domaine racine de la forêt. Possède le contrôle total sur le schéma, la configuration de la forêt et tous les domaines enfants.Domain Admins(RID512) : administrateurs du domaine spécifique. Par défaut, membre du groupe localAdministrateursde chaque poste et serveur joint au domaine.Administrators(RID544,S-1-5-32-544) : groupe local présent sur chaque machine. Sur un contrôleur de domaine, ce groupe administre le DC lui-même.Schema Admins(RID518) : autorise la modification de la structure même des classes et attributs d’Active Directory.Backup Operators(RID551) : détient les privilègesSeBackupPrivilegeetSeRestorePrivilege. Un attaquant membre de ce groupe peut copier la basentds.ditmême sans droits de lecture dans l’annuaire.Account Operators(RID548) : peut créer et modifier des comptes utilisateurs dans le domaine (hors groupes protégés).
Ce qui est possible
Section intitulée « Ce qui est possible »- Compromettre un contrôleur de domaine via
Backup Operators: l’analyste doit savoir qu’un compte membre deBackup Operatorsn’a pas besoin d’êtreDomain Adminpour extraire les secrets du domaine. - Abuser d’un service s’exécutant en
SYSTEMpour agir sur le réseau : si un service tiers sur un serveur applicatif tourne sousLocalSystem, ses requêtes réseau vers d’autres serveurs SMB se font sous l’identitéAPP01$. Si ce compte machine a des droits spécifiques dans AD, l’attaquant en hérite. - Restreindre les comptes privilégiés : l’utilisation du groupe de sécurité intégré
Protected Users(introduit avec Server 2012 R2) empêche le cache des hashs NTLM en mémoire LSASS et bloque la délégation Kerberos non contrainte.
Ce qui n’est pas possible
Section intitulée « Ce qui n’est pas possible »- Un
Domain Admind’un domaine enfant ne peut pas modifier directement le schéma de la forêt : cette opération requiert l’appartenance au groupeSchema Adminsdans le domaine racine. LOCAL SERVICEne peut pas s’authentifier comme la machine sur le réseau : contrairement àNETWORK SERVICEetSYSTEM, il ne dispose pas des credentials deCOMPUTER$.- Déléguer des droits sur un compte protégé sans passer par
AdminSDHolder: les membres des groupes privilégiés sont protégés par le processus systèmeSDPropqui écrase périodiquement leurs ACLs par le modèle sécuriséAdminSDHolder.
Confusions fréquentes
Section intitulée « Confusions fréquentes »Exemple concret : l’élévation via SeBackupPrivilege
Section intitulée « Exemple concret : l’élévation via SeBackupPrivilege »Lors d’une intrusion, un attaquant obtient un accès sous l’utilisateur CORP\operator1. L’analyste examine les groupes et constate qu’il n’est pas Domain Admin. L’alerte semble mineure.
Pourtant, operator1 est membre de Backup Operators :
- L’attaquant exécute une session PowerShell avec le privilège
SeBackupPrivilege. - Il utilise l’API de sauvegarde Windows (via
wbadminoudiskshadow) pour créer un cliché instantané (Volume Shadow Copy) du volumeC:sur le contrôleur de domaine. - Il copie le fichier verrouillé
C:\Windows\NTDS\ntds.ditet la rucheHKLM\SYSTEM. - Hors ligne, il extrait les hashs de tous les utilisateurs du domaine, obtenant les hashs du compte
Administrator(RID500) et dekrbtgt(RID502).
L’absence d’appartenance directe à Domain Admins a masqué la criticité absolue de l’accès.
Artefacts / traces
Section intitulée « Artefacts / traces »Dans les journaux Security.evtx, surveillez l’assignation de privilèges lors de l’ouverture de session et les modifications de groupes :
EventID: 4672 # Privilèges spéciaux attribués à la nouvelle ouverture de sessionSubjectUserName: operator1SubjectUserSid: S-1-5-21-111111111-222222222-333333333-1108PrivilegeList: SeBackupPrivilege SeRestorePrivilege SeSecurityPrivilege
EventID: 4728 # Membre ajouté à un groupe de sécurité globalTargetUserName: Domain AdminsTargetSid: S-1-5-21-111111111-222222222-333333333-512MemberName: CN=backdoor_user,OU=Users,DC=corp,DC=localMemberSid: S-1-5-21-111111111-222222222-333333333-1190Méthodes d’investigation
Section intitulée « Méthodes d’investigation »- Lister tous les membres des groupes sensibles dans Active Directory :
Fenêtre de terminal $PrivGroups = @("Domain Admins", "Enterprise Admins", "Administrators", "Schema Admins", "Backup Operators", "Account Operators", "DnsAdmins")foreach ($Group in $PrivGroups) {Get-ADGroupMember -Identity $Group -Recursive | Select-Object @{Name="Group";Expression={$Group}}, Name, SamAccountName, SID} - Vérifier les comptes protégés par
AdminSDHolder:Fenêtre de terminal Get-ADUser -Filter 'adminCount -eq 1' | Select-Object Name, SamAccountName, SID
Points clés à retenir
Section intitulée « Points clés à retenir »SYSTEMn’est pas un compte Active Directory : sur le réseau, il s’exprime sous l’identité de sa machine,COMPUTERSYSTEM` n’est pas un compte Active Directory : sur le réseau, il s’exprime sous l’identité de sa machine, :Backup Operatorséquivaut à un accèsDomain Admincomplet via l’extraction dentds.dit.Enterprise Adminsest la seule véritable autorité suprême de la forêt.- La surveillance de l’event ID 4672 permet d’identifier l’usage effectif de privilèges critiques.