🏢Active DirectoryAccountsPrivileged AccessAttack Paths

Comptes Obsolètes et Sur-Privilégiés : Le Risque Caché dans Votre Active Directory

Les comptes oubliés, les credentials d'ex-employés et les utilisateurs sur-privilégiés sont parmi les points d'entrée les plus exploités dans Active Directory. Apprenez à les identifier et les éliminer.

ES
EtcSec Security Team
4 min read
Comptes Obsolètes et Sur-Privilégiés : Le Risque Caché dans Votre Active Directory

Que sont les Comptes Obsolètes et Sur-Privilégiés ?

Les environnements Active Directory accumulent des comptes au fil du temps. Les employés partent, les prestataires terminent leurs missions, des comptes de service sont créés pour des projets qui se terminent — et les comptes restent. Ces comptes obsolètes sont oubliés par l'IT mais entièrement fonctionnels : credentials valides, appartenances aux groupes valides, accès aux ressources valide.

Les comptes obsolètes et sur-privilégiés sont parmi les vecteurs d'accès initial et de mouvement latéral les plus fiables dans les intrusions réelles. Ils sont silencieux, persistent pendant des années, et ne nécessitent aucune exploitation — juste une énumération et un credential.


Comment ca Fonctionne

Les comptes AD restent actifs jusqu'à ce qu'ils soient explicitement désactivés ou supprimés. Quand un employé part, l'IT doit manuellement désactiver son compte, supprimer ses appartenances aux groupes et finalement supprimer l'objet. Quand ce processus est ignoré, le résultat est un environnement AD rempli de comptes qui :

  • Ne se sont pas authentifiés depuis des mois ou des années
  • Appartiennent encore à des groupes privilégiés
  • Ont des mots de passe définis il y a des années et jamais changés
  • Ne sont soumis à aucune politique de mots de passe

Du point de vue d'un attaquant, un compte Domain Admin obsolète d'un ancien employé IT est la cible idéale : privilèges élevés, surveillance faible, mot de passe inchangé depuis des années.


La Chaine d'Attaque

Etape 1 - Enumérer les Comptes Obsolètes et de Haute Valeur

# Trouver les comptes actifs sans connexion depuis 90+ jours
$cutoff = (Get-Date).AddDays(-90)
Get-ADUser -Filter {Enabled -eq $true -and LastLogonDate -lt $cutoff} `
    -Properties LastLogonDate, PasswordLastSet, MemberOf |
    Select-Object SamAccountName, LastLogonDate, PasswordLastSet |
    Sort-Object LastLogonDate

# Trouver tous les membres des groupes privilégiés
$groupes = @("Domain Admins","Enterprise Admins","Schema Admins","Backup Operators")
foreach ($groupe in $groupes) {
    Get-ADGroupMember -Identity $groupe -Recursive |
        Get-ADUser -Properties LastLogonDate, PasswordLastSet |
        Select-Object @{N="Groupe";E={$groupe}}, SamAccountName, LastLogonDate, PasswordLastSet
}

Etape 2 - Cibler les Comptes avec des Mots de Passe Anciens

Les comptes avec des mots de passe définis il y a des années sont des cibles prioritaires pour le spray et la force brute :

kerbrute passwordspray --dc 10.10.0.1 --domain corp.local comptes_obsoletes.txt "Hiver2020!"

Etape 3 - Exploiter les Privilèges Excessifs

Un compte obsolète compromis qui est encore membre de Domain Admins fournit un accès immédiat et total au domaine.


Détection

Event IDs Windows

Event IDSourceCe qu'il faut surveiller
4624DC/PosteConnexion réussie depuis un compte sans activité récente
4768DC - SecurityTGT demandé pour un compte inactif depuis 90+ jours
4728/4732DC - SecurityMembre ajouté à un groupe privilégié — ajouts inattendus

Requete SIEM (Elastic KQL)

event.code: "4624" AND
winlog.event_data.LogonType: "3" AND
winlog.event_data.TargetUserName: (* AND NOT "*$")

Remédiation

💡 Action Rapide : Extrayez la liste de tous les comptes actifs avec LastLogonDate de plus de 90 jours et désactivez-les immédiatement. Action sans risque — les comptes désactivés peuvent être réactivés en quelques secondes si nécessaire.

1. Désactiver les Comptes Obsolètes

$cutoff = (Get-Date).AddDays(-90)
Get-ADUser -Filter {Enabled -eq $true -and LastLogonDate -lt $cutoff} `
    -SearchBase "OU=Utilisateurs,DC=corp,DC=local" `
    -Properties LastLogonDate | ForEach-Object {
    Disable-ADAccount -Identity $_
    Write-Host "Désactivé : $($_.SamAccountName) — Dernière connexion : $($_.LastLogonDate)"
}

2. Auditer et Réduire les Appartenances aux Groupes Privilégiés

$groupes = @("Domain Admins","Enterprise Admins","Schema Admins")
$groupes | ForEach-Object {
    Get-ADGroupMember -Identity $_ -Recursive |
        Select-Object @{N="Groupe";E={$_}}, SamAccountName, distinguishedName
} | Export-Csv membres_privilegies.csv -NoTypeInformation

3. Configurer des Politiques de Mots de Passe Affinées

New-ADFineGrainedPasswordPolicy -Name "PSOComptesPrivilegiés" `
    -Precedence 10 `
    -MinPasswordLength 20 `
    -ComplexityEnabled $true `
    -MaxPasswordAge (New-TimeSpan -Days 60)

Add-ADFineGrainedPasswordPolicySubject -Identity "PSOComptesPrivilegiés" `
    -Subjects "Domain Admins"

Comment EtcSec Détecte Cela

EXCESSIVE_PRIVILEGED_ACCOUNTS signale les environnements avec plus de comptes privilégiés que la normale pour la taille de l'organisation.

PASSWORD_VERY_OLD identifie les comptes dont le mot de passe n'a pas été changé depuis plus d'un an, priorisés par niveau de privilège.

FGPP_NOT_CONFIGURED détecte les environnements sans Politiques de Mots de Passe Affinées, signifiant que les comptes privilégiés sont soumis à la même politique (souvent faible) que les utilisateurs ordinaires.

ℹ️ Note : EtcSec audite le cycle de vie des comptes et la posture de privilèges automatiquement lors de chaque scan. Lancez un audit gratuit pour découvrir les comptes obsolètes et sur-privilégiés.

Articles connexes : Sécurité des Mots de Passe AD | Abus ACL et DCSync

EtcSec

© 2026 EtcSec. All rights reserved.

Comptes Obsolètes et Sur-Privilégiés dans AD | EtcSec — EtcSec Blog | EtcSec