Az - PHS - Password Hash Sync
Informations de base
Depuis la documentation : La synchronisation des hachages de mots de passe est l'une des méthodes de connexion utilisées pour accomplir l'identité hybride. Azure AD Connect synchronise un hachage, du hachage, du mot de passe d'un utilisateur depuis une instance Active Directory sur site vers une instance Azure AD basée sur le cloud.
C'est la méthode la plus courante utilisée par les entreprises pour synchroniser un AD sur site avec Azure AD.
Tous les utilisateurs et un hachage des hachages de mots de passe sont synchronisés de l'AD sur site vers Azure AD. Cependant, les mots de passe en clair ou les hachages originaux ne sont pas envoyés à Azure AD. De plus, les groupes de sécurité intégrés (comme les administrateurs de domaine...) ne sont pas synchronisés avec Azure AD.
La synchronisation des hachages se produit toutes les 2 minutes. Cependant, par défaut, l'expiration des mots de passe et l'expiration des comptes ne sont pas synchronisées dans Azure AD. Ainsi, un utilisateur dont le mot de passe sur site est expiré (non modifié) peut continuer à accéder aux ressources Azure en utilisant l'ancien mot de passe.
Lorsqu'un utilisateur sur site souhaite accéder à une ressource Azure, l'authentification a lieu sur Azure AD.
PHS est requis pour des fonctionnalités comme Identity Protection et AAD Domain Services.
Pivoting
Lorsque PHS est configuré, certains comptes privilégiés sont automatiquement créés :
Le compte
MSOL_<installationID>
est automatiquement créé dans l'AD sur site. Ce compte reçoit un rôle de Directory Synchronization Accounts (voir documentation) ce qui signifie qu'il a des permissions de réplication (DCSync) dans l'AD sur site.Un compte
Sync_<nom du serveur ADConnect sur site>_installationID
est créé dans Azure AD. Ce compte peut réinitialiser le mot de passe de N'IMPORTE QUEL utilisateur (synchronisé ou uniquement cloud) dans Azure AD.
Les mots de passe des deux comptes privilégiés précédents sont stockés dans un serveur SQL sur le serveur où Azure AD Connect est installé. Les administrateurs peuvent extraire les mots de passe de ces utilisateurs privilégiés en clair.
La base de données se trouve dans C:\Program Files\Microsoft Azure AD Sync\Data\ADSync.mdf
.
Il est possible d'extraire la configuration d'une des tables, l'une étant chiffrée :
SELECT private_configuration_xml, encrypted_configuration FROM mms_management_agent;
La configuration chiffrée est chiffrée avec DPAPI et elle contient les mots de passe de l'utilisateur MSOL_*
dans l'AD sur site et le mot de passe de Sync_* dans AzureAD. Par conséquent, en compromettant ceux-ci, il est possible de privesc à l'AD et à AzureAD.
Vous pouvez trouver un aperçu complet de la façon dont ces informations d'identification sont stockées et déchiffrées dans cette présentation.
Trouver le serveur Azure AD connect
Si le serveur où Azure AD connect est installé est joint au domaine (recommandé dans la documentation), il est possible de le trouver avec :
Abusing MSOL_*
Abus de MSOL_*
Introduction
Introduction
Azure AD Connect est un outil utilisé pour synchroniser les objets Active Directory locaux avec Azure AD. Il existe plusieurs méthodes d'authentification disponibles pour les utilisateurs hybrides, telles que l'authentification par mot de passe (PHS), l'authentification directe (PTA) et l'authentification fédérée (ADFS). Dans ce document, nous nous concentrerons sur l'authentification par mot de passe (PHS).
Azure AD Connect
Azure AD Connect
Azure AD Connect est un outil utilisé pour synchroniser les objets Active Directory locaux avec Azure AD. Il existe plusieurs méthodes d'authentification disponibles pour les utilisateurs hybrides, telles que l'authentification par mot de passe (PHS), l'authentification directe (PTA) et l'authentification fédérée (ADFS). Dans ce document, nous nous concentrerons sur l'authentification par mot de passe (PHS).
Password Hash Sync (PHS)
Synchronisation de Hash de Mot de Passe (PHS)
PHS est une méthode d'authentification où les hash des mots de passe des utilisateurs sont synchronisés depuis Active Directory vers Azure AD. Cela permet aux utilisateurs de se connecter à Azure AD en utilisant les mêmes informations d'identification que celles utilisées pour se connecter à Active Directory.
Abusing PHS
Abus de PHS
Lors de la configuration de PHS, un compte de service nommé MSOL_<random> est créé dans Active Directory. Ce compte a des privilèges élevés et peut être utilisé pour effectuer des mouvements latéraux dans l'environnement.
Identifying MSOL_* Account
Identification du Compte MSOL_*
Pour identifier le compte MSOL_*, vous pouvez utiliser les commandes PowerShell suivantes :
Extracting Password Hashes
Extraction des Hashs de Mot de Passe
Une fois que vous avez identifié le compte MSOL_*, vous pouvez extraire les hash des mots de passe en utilisant des outils comme Mimikatz. Voici un exemple de commande Mimikatz :
Conclusion
Conclusion
L'abus de PHS peut permettre à un attaquant de compromettre des comptes Azure AD et de se déplacer latéralement dans l'environnement. Il est crucial de surveiller les comptes MSOL_* et de s'assurer qu'ils sont correctement sécurisés.
Vous pouvez également utiliser adconnectdump pour obtenir ces identifiants.
Abuser de Sync_*
En compromettant le compte Sync_*
, il est possible de réinitialiser le mot de passe de n'importe quel utilisateur (y compris les administrateurs globaux).
C'est également possible de modifier les mots de passe des utilisateurs uniquement cloud (même si cela est inattendu)
Il est également possible de vider le mot de passe de cet utilisateur.
Une autre option serait d'attribuer des permissions privilégiées à un principal de service, ce que l'utilisateur Sync a les permissions de faire, puis d'accéder à ce principal de service comme moyen de privesc.
Seamless SSO
Il est possible d'utiliser Seamless SSO avec PHS, qui est vulnérable à d'autres abus. Vérifiez-le dans :
Az - Seamless SSORéférences
Last updated