Sapir Federovsky und Tomer Nahum

In seinem TROOPERS19-Vortrag ("I'm in your cloud ... reading everyone's email") sprach Dirk-jan Mollema über ein von ihm entdecktes Problem, das die Verwendung des SMTP-Abgleichs (auch Soft Matching genannt) zur Synchronisierung von Active Directory (AD)-Benutzern mit Azure AD ermöglichte, mit dem Ziel, nicht synchronisierte Konten zu kapern. Jan erklärte, dass Microsoft die Möglichkeit blockierte, On-Prem-Konten zu synchronisieren, die aktive Zuweisungen zu administrativen Rollen in Azure AD hatten.

Wir sind dieser Aussage nachgegangen. Die schlechte Nachricht: Unsere Nachforschungen haben ergeben, dass jeder, der in einer AD-Umgebung über Rechte zur Erstellung von Konten verfügt, das Kennwort eines Azure AD-Benutzers ändern und - mit einigen Voraussetzungen - über geeignete Rollenzuweisungen privilegierten Zugriff erhalten kann.

Was führt zu dieser Azure AD-Sicherheitslücke?

Die meisten Unternehmen verwenden Active Directory, um Berechtigungen und den Zugriff auf Netzwerkressourcen zu verwalten. Viele dieser Unternehmen beginnen auch mit der Nutzung von Azure AD, einem Cloud-basierten Identitäts- und Zugriffsverwaltungsdienst, um Benutzeridentitäten und Zugriffsberechtigungen für Ressourcen wie das Azure-Portal und Office 365 zu verwalten.

In hybriden Identitätsimplementierungen werden Objekte zwischen den lokalen AD-Umgebungen und Azure AD-Mandaten synchronisiert. In solchen Umgebungen können Benutzer dieselbe Identität für On-Premises AD und Azure AD verwenden.

Azure AD-Verbindung

Azure AD Connect ist eine Microsoft-Anwendung, die entwickelt wurde, um eine hybride Identität durch die Synchronisierung von On-Prem AD-Objekten mit Azure AD-Objekten zu erreichen. Azure AD Connect umfasst viele Funktionen, von denen die wichtigsten die Passwort-Hash-Synchronisierung, die Pass-Through-Authentifizierung, die Federation-Integration (mit ADFS) und die Synchronisierung (mit Azure AD Connect Sync) sind. Die Kennwort-Hash-Synchronisierung und die allgemeine Synchronisierung sind für diese Diskussion am wichtigsten.

Während einer Azure AD Connect Express-Installation werden neue Konten erstellt, um die Synchronisierung zu unterstützen.

  • AD DS Connector-Konto:
    • Wird zum Lesen und Schreiben in AD verwendet
    • Gewährung der Berechtigungen Verzeichnisänderungen replizieren und Verzeichnisänderungen replizieren Alle für die Verwendung von Password Hash Sync
    • Vorangestellt mit MSOL_########
  • ADSync-Dienstkonto: Wird für die Synchronisierung und für den Zugriff auf die SQL-Datenbank verwendet
  • Azure AD Connector-Konto:
    • Wird verwendet, um Informationen in Azure AD zu schreiben.
    • Gewährung der speziellen Rolle Verzeichnis-Synchronisationskonten, die nur die Berechtigung zur Durchführung von Verzeichnis-Synchronisationsaufgaben hat
    • Vorangestellt mit Sync_*

In einer hybriden Identitätsimplementierung ist die Integrität zwischen On-Prem-Umgebungen und Azure AD-Tenants wichtig. Um dieses Ziel zu erreichen, gleicht Azure AD Connect Benutzerobjekte zwischen Azure AD und AD ab.

Während der Ersteinrichtung und Synchronisierung von Azure AD Connect wird ein Quellanker-Attribut ausgewählt. Dieses Attribut identifiziert ein Benutzerobjekt eindeutig zwischen AD und Azure AD. Azure AD Connect führt den Abgleich anhand dieses Attributs durch und gleicht Benutzerobjekte zwischen Azure AD und AD mit einer von zwei Techniken ab:

  • Harter Abgleich
  • Soft (SMTP) Abgleich

Harter Abgleich

Wenn Sie Azure die Verwaltung des Quellankers überlassen, sucht Azure AD Connect nach einem von zwei möglichen sourceAnchor-Attributen:

  • Azure AD Connect Version 1.1.486.0 und älter verwenden objectGUID.
  • Azure AD Connect Version 1.1.524.0 und neuere Versionen verwenden mS-DS-ConsistencyGuid.

Wenn das Attribut mS-DS-ConsistencyGuid nicht ausgefüllt ist, schreibt Azure AD Connect die objectGUID des Benutzers in dieses Attribut. ImmutableID ist der entsprechende Wert des Azure AD-Objekts - im Wesentlichen die base64-kodierte objectGUID. Abbildung 1 zeigt ein Beispiel für das Abrufen der ImmutableID eines Azure AD-Objekts von der objectGUID des On-Prem AD-Benutzers.

SMTP-Abgleich-PS-Quell-Anker
Abbildung 1

Soft (SMTP) Abgleich

Der weiche (SMTP) Abgleich verwendet zwei Attribute, die sowohl in AD als auch in Azure AD vorhanden sind:

  • userPrincipalName
  • proxyAddress

Soft Matching ist erfolgreich, wenn Benutzerobjekte übereinstimmen, sofern zwei Bedingungen erfüllt sind:

  • Das Attribut userPrincipalName in Azure AD entspricht dem in AD.
  • Das primäre proxyAddress-Attribut in AD stimmt mit der proxyAddress in Azure AD überein.

Wenn ein harter oder weicher Abgleich erfolgreich ist, wird das passende Benutzerobjekt aktualisiert. Wenn es keine Übereinstimmung gibt, wird ein Benutzerobjekt im Azure AD-Mandanten erstellt, das mit dem On-Prem AD-Benutzerobjekt übereinstimmt, wobei die Attribute des Kontos verwendet werden.

Passwort-Hash-Synchronisierung

Die Passwort-Hash-Synchronisierung ist eine Authentifizierungsmethode, die in hybriden Identitätsumgebungen von Azure AD implementiert ist. Diese Methode, die standardmäßig aktiviert ist, synchronisiert alle zwei Minuten den Hash des On-Prem AD-Passworts des Benutzers mit Azure AD. Die Synchronisierung des Passwort-Hashes ermöglicht es Benutzern, sich mit demselben Passwort sowohl bei AD als auch bei Azure AD anzumelden. (Eine ausführlichere Erklärung der Passwort-Hash-Synchronisierung finden Sie unter Semperis - Verständnis der Azure AD Passwort-Hash-Synchronisierung).

Aktive versus wählbare Rollen

Azure AD-Benutzern können Rollen zugewiesen werden, die Berechtigungen zur Verwaltung verschiedener Azure AD-Ressourcen gewähren. Rollen können entweder aktiv oder berechtigt zugewiesen werden.

Berechtigte Zuweisungen erfordern, dass der Benutzer die Rolle aktiviert. Dazu muss der Benutzer eine MFA-Aktion durchführen, eine geschäftliche Rechtfertigung vorlegen oder eine Genehmigung von bestimmten Genehmigern anfordern. Berechtigte Rollen können dauerhaft oder für einen bestimmten Zeitraum zugewiesen werden(Abbildung 2). Es gibt keine zeitliche Begrenzung dafür, wann eine dauerhaft zugewiesene berechtigte Rolle aktiviert werden muss.

SMTP-Abgleich: Berechtigte Rolle
Abbildung 2

Aktive Zuweisungen erfordern keine Benutzeraktion für die Nutzung der Rolle. Benutzer haben die mit einer Rolle verbundenen Privilegien so lange, wie sie dieser Rolle zugewiesen sind(Abbildung 3).

SMTP-Abgleich: Aktive Rolle
Abbildung 3

Wie der SMTP-Abgleich zu einer Azure AD-Schwachstelle wird

Ein Objekt in Azure AD kann in Azure AD oder On-Prem AD verwaltet werden. Jedes Objekt hat eine Markierung, die anzeigt, ob das Konto mit einem On-Prem-Konto synchronisiert wurde. Das folgende Beispiel zeigt dieses Kennzeichen im Azure-Benutzer-Panel. Der Benutzer Lee Gu ist synchronisiert(Abbildung 4), der Benutzer Lynne Robbins nicht(Abbildung 5).

SMTP-Abgleich: Synchronisiertes Konto
Abbildung 4
SMTP-Abgleich: Synchronisierter Benutzer
Abbildung 5

Abbildung 5Siekönnen diese Einstellungen auch im Office 365 Active Users Panel in der Spalte Sync Status sehen(Abbildung 6 und Abbildung 7).

SMTP-Abgleich: Aktive Benutzer, Synchronisierungsstatus
Abbildung 6

SMTP-Abgleich: Aktive Benutzer, Synchronisierungsstatus

Abbildung 7

Es kann vorkommen, dass Sie die Quelle der Berechtigung für ein Cloud-verwaltetes Benutzerkonto übertragen möchten. Nehmen wir zum Beispiel an, dass ein Benutzerkonto direkt von Office 365 aus erstellt wird, wodurch der Benutzer Cloud-verwaltet wird. Sie möchten diesen Benutzer jedoch über das lokale AD verwalten, so wie wir es mit dem Rest Ihrer Benutzer tun.

Dazu können Sie die Verzeichnissynchronisierung verwenden. Diese Methode verwendet den SMTP-Abgleich, um das Office 365-Benutzerkonto mit einem On-Prem-Benutzerkonto zu synchronisieren, basierend auf dem Attribut proxyAddress.

Um Konten über den SMTP-Abgleich zu synchronisieren, sind zwei Schritte erforderlich:

  1. Erstellen Sie ein AD-Konto mit demselben userPrincipalName wie das Azure AD-Konto.
  2. Konfigurieren Sie das Attribut proxyAddress so, dass es mit der proxyAddress des Azure AD-Benutzers übereinstimmt

Abbildung 8 zeigt die Eigenschaften des Benutzers Lee Gu im lokalen AD. Hier erstellen Sie den Benutzer und weisen ihm dieselbe proxyAddress und denselben userPrincipalName zu wie dem von der Cloud verwalteten Benutzer Lee Gu.

SMTP-Abgleich: On-prem AD-Benutzereigenschaften
Abbildung 8

Abbildung 9 zeigt die Lee Gu-Benutzereigenschaften in Azure AD.

SMTP-Abgleich: Azure AD-Benutzereigenschaften
Abbildung 9

Wenn Azure AD Connect ein Objekt in Azure AD mit den übereinstimmenden Attributen userPrincipalName und proxyAddress findet, erfolgt ein SMTP-Abgleich. Wenn die Kennwort-Hash-Synchronisierung konfiguriert ist, was standardmäßig der Fall ist, überschreibt dieser Prozess das bestehende Kennwort für das Azure AD-Konto mit dem Kennwort für das On-Prem-Konto.

Wichtige Hinweise zum SMTP-Abgleichverfahren:

  • Der AD-Benutzer muss neu synchronisiert werden.
  • Dirk-jan hat festgestellt, dass die Synchronisierung nicht funktioniert, wenn der Azure AD-Benutzer ein aktiver hochprivilegierter Benutzer ist. Sie können zum Beispiel einen On-Prem-Benutzer nicht mit einem aktiven Global Administrator Azure AD-Benutzer synchronisieren. (Dieses Problem wurde behoben, nachdem Dirk-jan es entdeckt hatte).
  • Wenn der userPrincipalName des On-Prem-Benutzers nicht mit dem Cloud-Benutzer übereinstimmt, wird ein neuer Cloud-Benutzer erstellt. Dieser Benutzer wird mit dem On-Prem-Benutzer synchronisiert und hat eine gültige Office 365-E-Mail-Adresse, die durch sein userPrincipalName-Attribut und nicht durch seine proxyAddress bestimmt wird

Wenn Sie beispielsweise versuchen, den Benutzer Megan Bowen zu synchronisieren, indem Sie das Attribut proxyAddress, aber einen anderen userPrincipalName verwenden, ist das Ergebnis ein neuer Azure AD-Benutzer - auch wenn Sie keinen Zugriff auf Azure AD oder keine Berechtigungen haben(Abbildung 10).

SMTP-Abgleich: Neuer Benutzer
Abbildung 10

Wenn Sie einen neuen On-Prem-Benutzer mit demselben proxyAddress-Attribut, aber einem anderen userPrincipalName erstellen(Abbildung 11), erhalten Sie zwei Benutzerobjekte mit dem Namen Megan Bowen, jedes mit einem anderen userPrincipalName. Das neuere Objekt wird synchronisiert, und das ursprüngliche Objekt wird von Azure AD in der Cloud verwaltet(Abbildung 12).

SMTP-Abgleich: Benutzerobjekt 1
Abbildung 11

SMTP-Abgleich: Benutzerobjekt 2

Abbildung 12

Sie können sich mit dem neuen Cloud-Benutzerkonto und dem On-Premise-Passwort anmelden und MFA konfigurieren(Abbildung 13).

SMTP-Abgleich: MFA konfigurieren
Abbildung 13

Wie der SMTP-Abgleich zu Missbrauch führen kann

Das Semperis Research Team hat entdeckt, dass es möglich ist, SMTP-Abgleiche zu verwenden, um On-Prem-Benutzer mit Azure AD-Benutzern zu synchronisieren, die für administrative Rollen in Frage kommen. Angreifer, die sich vor Ort Zugang verschafft haben, können diesen Ansatz nutzen, um Azure AD zu kompromittieren.

Der SMTP-Abgleich funktioniert für Benutzer mit hohen Rechten, die für ein Recht berechtigt sind, das nicht aktiviert wurde. Missbrauch ist möglich, unabhängig davon, ob die administrative Rolle dem Benutzer direkt zugewiesen wurde oder über eine Azure-Gruppe, die zur Aktivierung der Rolle berechtigt ist.

Um den SMTP-Abgleich zu missbrauchen, muss entweder MFA nicht verwendet werden oder die Rollenaktivierung darf keine MFA-Verifizierung erfordern. Wir haben eine Liste aller hochprivilegierten Rollen erstellt, die keine MFA-Verifizierung für die Rollenaktivierung erfordern(Tabelle 1).

Tabelle 1. Hochprivilegierte Rollen und MFA-Verifizierungsanforderungen

MFA anfordern  Sie benötigen keine MFA 
Azure-Informationsschutz-Administrator
Administrator für Rechnungsstellung
Administrator für Cloud-Anwendungen
Administrator für die Einhaltung von Richtlinien
Administrator für bedingten Zugriff
Kunden-LockBox-Zugangsgenehmiger
Verzeichnisschreiber
Dynamics 365-Verwalter
Exchange-Verwalter
Globaler Administrator
Intune Verwalter
Partner Tier1-Unterstützung
Partner Tier2-Unterstützung
Power BI Verwalter
Privilegierte Rolle Administrator
Sicherheits-Administrator
SharePoint-Administrator
Skype for Business-Administrator
Benutzer-Administrator
Gast-Benutzer
Eingeschränkter Gast-Benutzer
Gast-Einlader
Helpdesk-Administrator
Administrator für Serviceunterstützung
Benutzer
Verzeichnis-Leser
Geräte-Benutzer
Azure AD Verbundenes Gerät Lokaler Administrator
Gerät beitreten
Workplace-Gerät beitreten
Verzeichnis-Synchronisationskonten
Geräte-Manager
Anwendungsadministrator
Anwendungsentwickler
Sicherheit Leser
Berichte-Leser
Nachrichten-Center-Leser
Administrator für Desktop-Analytik
Lizenz-Administrator
Cloud-Geräte-Administrator
Administrator für Authentifizierung
Administrator für Privilegierte Authentifizierung
Teams Communications Administrator
Teams Communications Support-Techniker
Spezialist für den Kommunikations-Support von Teams
Teams Administrator
Einblicke Administrator
Message Center Datenschutz-Leser
Administrator für externe ID-Benutzerströme
Administrator für externe ID-Benutzerflussattribute
B2C IEF Schlüsselsatz-Administrator
B2C IEF-Richtlinien-Administrator
Administrator für externe Identitätsanbieter
Administrator für Compliance-Daten
Sicherheit Operator
Kaizala-Verwalter
Globaler Leser
Such-Administrator
Such-Editor
Passwort-Administrator
Drucker-Administrator
Drucker-Techniker
Administrator für Authentifizierungsrichtlinien
Gruppen-Administrator
Power Platform-Verwalter
Azure DevOps Verwalter
Administrator für hybride Identitäten
Office Apps Verwalter
Netzwerk-Administrator
Insights Business Leader
Teams Geräte Administrator
Angriffs-Simulation Administrator
Angriffs-Nutzlast Autor
Verwendung Zusammenfassung Berichte Leser
Wissens-Administrator
Wissens-Manager
Domänenname-Verwalter
Administrator für Attributdefinition
Attribut-Zuordnung Administrator
Attributdefinition Leser
Attribut-Zuordnung Leser
Exchange-Empfänger Administrator
Administrator für Identitätsverwaltung
Administrator für Cloud-App-Sicherheit
Windows Update-Bereitstellungs-Administrator
Windows 365-Administrator
Edge-Verwalter
Administrator für virtuelle Besuche
Analyst für Einblicke

Nehmen wir zum Beispiel an, dass der von der Cloud verwaltete Benutzer Lidia Holloway für die Rolle Globaler Administrator berechtigt ist(Abbildung 14).

SMTP-Abgleich: Rolle des globalen Administrators
Abbildung 14

Sie verwenden den SMTP-Abgleich, um diesen Benutzer mit einem neuen On-Premise-Benutzer zu synchronisieren(Abbildung 15).

SMTP-Abgleich: SMTP-Abgleich verwenden
Abbildung 15

Nachdem Sie sich mit Lidias On-Prem-Passwort bei Azure AD angemeldet haben, können Sie die Rolle Globaler Administrator aktivieren(Abbildung 16). Dazu müssen Sie MFA verwenden ("Zusätzliche Überprüfung erforderlich"). Wenn der ursprüngliche Cloud-Benutzer keine MFA erforderte, können Sie diese einfach konfigurieren und dann die Rolle aktivieren(Abbildung 17).

Abbildung 16

Abbildung 17

Sie können eine Rolle aktivieren, für die keine zusätzliche MFA-Verifizierung erforderlich ist, die aber zum Globalen Administrator erhoben werden kann, z. B. Anwendungsadministrator. Und wie Dirk-Jan beschreibt, kann diese Rolle dann direkt in die Rolle des Globalen Administrators eskaliert werden.

Verwenden Sie Semperis DSP , um diese Azure AD-Schwachstelle zu erkennen.

Semperis Directory Services Protector ( DSP) sammelt Azure AD Änderungsdaten. Um einen Versuch, diese Schwachstelle auszunutzen, zu erkennen, sucht DSP nach dem spezifischen Angriffsmuster, das die Synchronisierung eines AD-Benutzers mit einem Azure AD-Benutzer umfasst, der für eine Rolle mit hohen Rechten in Frage kommt, gefolgt von der Aktivierung dieser Rolle. DSP Sicherheitsindikator (SI) "Azure AD-Rollenaktivierung nach Synchronisierung" identifiziert dieses Muster. DSP identifiziert auch den SI "AAD-Benutzer, der für eine Rolle mit hohen Rechten in Frage kommt und nicht mit AD synchronisiert ist". Dieser SI weist auf Azure AD-Benutzer hin, die für eine Rolle mit hohen Rechten in Frage kommen und über das Attribut proxyAddress verfügen, aber nicht mit einem lokalen Konto synchronisiert sind, wodurch sie für diesen Angriff anfällig sind.

Andere Entdeckungen von SMTP-Missbrauch

Eine weitere Möglichkeit ist die Verwendung von Azure-Auditprotokollen, um nach Synchronisierungen und Rollenaktivierungen in Ihrer Umgebung zu suchen(Abbildung 18).

SMTP-Abgleich: Azure AD-Protokolle
Abbildung 18

In diesem Beispiel können Sie sehen, dass der Name des Aktionsclients "DirectorySync" lautet und dass der alte Wert für LastDirSyncTime leer ist. Diese Informationen zeigen an, dass der Benutzer zum ersten Mal mit dem lokalen AD synchronisiert hat.

Das folgende Protokoll zeigt die Rollenaktivierung(Abbildung 19). Über das Attribut RoleDefinitionOriginId können Sie nach der aktivierten Rolle suchen.

SMTP-Abgleich: Erkennen der Rollenaktivierung
Abbildung 19

Behebung von SMTP-Missbrauch

Um diesen Angriff zu verhindern, empfiehlt Microsoft, MFA für alle Benutzer zu verlangen ("Härten Sie Ihren Azure AD Connect Server"). Die Abschwächung wird erreicht, indem Sie sicherstellen, dass Benutzer MFA konfiguriert haben , bevor Sie ihnen eine berechtigte Rolle zuweisen. Sie können auch die Option zur Verwendung von Soft Matching für die Synchronisierung deaktivieren.

Offenlegung

Dieses Problem wurde am 10. Juni 2022 über das Microsoft Security Response Center (MSRC) gemeldet. Microsoft antwortete am 13. Juli: "[B]ased on our assessment, there are mitigative controls in place that a user can use to avoid this vulnerability. Wir haben festgestellt, dass das Verhalten absichtlich herbeigeführt wurde."

Mehr erfahren

Wenn Sie mehr über den Schutz Ihres Unternehmens vor AD- und Azure AD-Schwachstellen erfahren möchten, lesen Sie die folgenden Ressourcen: