Aller au contenuAller à l'arborescence
FichierRisque : Ne pas toucher

SAM C:\Windows\System32\config\SAM

SAM : ruche du Registre HKLM\SAM, base des comptes et groupes locaux et de leurs empreintes de mots de passe. Verrouillée en cours d'exécution.

Mis à jour le Par AltF4 Formation

À quoi ça sert

SAM (Security Account Manager) est la ruche des comptes locaux. Windows la charge au démarrage et la présente sous HKEY_LOCAL_MACHINE\SAM. C’est elle qui répond quand vous ouvrez une session avec un compte local, ou quand net user ou lusrmgr.msc listent les utilisateurs de la machine. Les règles communes à toutes les ruches (verrouillage, copie, modification) sont sur la fiche du dossier System32\config.

Ce qu’il contient

  • Les comptes locaux (identifiants relatifs comme 500 pour Administrateur, 501 pour Invité), les groupes locaux et les empreintes des mots de passe, chiffrées avec une clé tirée de la ruche SYSTEM.
  • Sur un contrôleur de domaine, les comptes du domaine sont dans ntds.dit. La SAM n’y garde que le compte de restauration des services d’annuaire (DSRM).
  • Les identifiants mis en cache des comptes de domaine ne sont pas ici : ils sont dans la ruche SECURITY.
  • Les fichiers de transactions associés (.LOG1, .LOG2) peuvent se trouver à côté.

Risques et bonnes pratiques

  • La SAM et la ruche SYSTEM suffisent ensemble à extraire hors ligne les empreintes des comptes locaux. Chiffrez le disque (BitLocker), protégez l’accès physique et limitez les droits sur les sauvegardes, qui contiennent ces deux ruches.
  • La vulnérabilité CVE-2021-36934 (« HiveNightmare » ou « SeriousSAM ») rendait la SAM lisible par un utilisateur standard via les copies d’ombre. Corrigée depuis, elle se vérifie avec icacls : le groupe BUILTIN\Users ne doit pas apparaître dans les droits du fichier.
  • Pour lister ou modifier les comptes locaux, passez par Get-LocalUser, net user ou lusrmgr.msc, jamais par la ruche.

Commandes utiles

Fenêtre de terminal
# Droits du fichier : BUILTIN\Users ne doit pas y figurer (contrôle de la CVE-2021-36934)
icacls "$env:windir\System32\config\SAM"
# Lister les comptes locaux (méthode supportée, sans lire la ruche)
Get-LocalUser | Select-Object Name, Enabled, LastLogon, SID
# La ruche et ses fichiers associés (.LOG1, .LOG2, .regtrans-ms)
Get-ChildItem -Force "$env:windir\System32\config" -Filter "SAM*" | Select-Object Name, Length, LastWriteTime
# Copie hors ligne de la ruche (en administrateur)
reg save HKLM\SAM "$env:TEMP\sam.hiv"

Signaler une erreur