Az - PHS - Password Hash Sync
Grundlegende Informationen
Aus den Dokumenten: Die Passwort-Hash-Synchronisierung ist eine der Anmeldeverfahren, die zur Realisierung einer hybriden Identität verwendet werden. Azure AD Connect synchronisiert einen Hash, eines Hashes, des Passworts eines Benutzers von einer lokalen Active Directory-Instanz zu einer cloudbasierten Azure AD-Instanz.
Es ist die häufigste Methode, die von Unternehmen verwendet wird, um ein lokales AD mit Azure AD zu synchronisieren.
Alle Benutzer und ein Hash der Passworthashes werden vom lokalen AD mit Azure AD synchronisiert. Klartextpasswörter oder die ursprünglichen Hashes werden jedoch nicht an Azure AD gesendet. Darüber hinaus werden eingebaute Sicherheitsgruppen (wie Domänenadministratoren...) nicht mit Azure AD synchronisiert.
Die Hash-Synchronisierung erfolgt alle 2 Minuten. Standardmäßig werden jedoch Passwortablauf und Kontoablauf nicht in Azure AD synchronisiert. Daher kann ein Benutzer, dessen lokales Passwort abgelaufen ist (nicht geändert), weiterhin auf Azure-Ressourcen zugreifen, indem er das alte Passwort verwendet.
Wenn ein Benutzer aus dem lokalen AD auf eine Azure-Ressource zugreifen möchte, erfolgt die Authentifizierung in Azure AD.
PHS ist für Funktionen wie Identity Protection und AAD-Domänendienste erforderlich.
Pivoting
Wenn PHS konfiguriert ist, werden automatisch einige privilegierte Konten erstellt:
Das Konto
MSOL_<Installations-ID>
wird automatisch im lokalen AD erstellt. Diesem Konto wird die Rolle Directory Synchronization Accounts zugewiesen (siehe Dokumentation), was bedeutet, dass es Replikationsberechtigungen (DCSync) im lokalen AD hat.Ein Konto
Sync_<Name des lokalen ADConnect-Servers>_Installations-ID
wird in Azure AD erstellt. Dieses Konto kann das Passwort eines beliebigen Benutzers (synchronisiert oder nur in der Cloud) in Azure AD zurücksetzen.
Die Passwörter der beiden zuvor genannten privilegierten Konten werden in einem SQL-Server auf dem Server, auf dem Azure AD Connect installiert ist, gespeichert. Admins können die Passwörter dieser privilegierten Benutzer im Klartext extrahieren.
Die Datenbank befindet sich in C:\Program Files\Microsoft Azure AD Sync\Data\ADSync.mdf
.
Es ist möglich, die Konfiguration aus einer der Tabellen zu extrahieren, wobei eine verschlüsselt ist:
SELECT private_configuration_xml, encrypted_configuration FROM mms_management_agent;
Die verschlüsselte Konfiguration ist mit DPAPI verschlüsselt und enthält die Passwörter des Benutzers MSOL_*
im lokalen AD und das Passwort von Sync_* in AzureAD. Daher ist es möglich, durch Kompromittierung dieser Berechtigungen auf das AD und AzureAD zu eskalieren.
Ermitteln des Azure AD Connect-Servers
Wenn der Server, auf dem Azure AD Connect installiert ist, domänenbeigetreten ist (wie in den Dokumenten empfohlen), ist es möglich, ihn mit zu finden:
Missbrauch von MSOL_*
Sie können auch adconnectdump verwenden, um diese Anmeldeinformationen zu erhalten.
Missbrauch von Sync_*
Durch Kompromittierung des Sync_*
-Kontos ist es möglich, das Passwort eines beliebigen Benutzers zurückzusetzen (einschließlich globaler Administratoren)
Es ist auch möglich, die Passwörter nur von Cloud-Benutzern zu ändern (auch wenn das unerwartet ist)
Es ist auch möglich, das Passwort dieses Benutzers abzurufen.
Eine weitere Option wäre, privilegierte Berechtigungen einem Dienstprinzipal zuzuweisen, was der Sync-Benutzer berechtigt ist zu tun, und dann auf diesen Dienstprinzipal zuzugreifen, um eine Privilege-Eskalation durchzuführen.
Nahtlose SSO
Es ist möglich, Seamless SSO mit PHS zu verwenden, was anfällig für andere Missbräuche ist. Überprüfen Sie dies unter:
pageAz - Seamless SSOReferenzen
Last updated