Skip to content

Dieses Tool ist weder mit der Microsoft Corporation verbunden noch von ihr unterstützt oder gesponsert. Azure, Microsoft Azure und Microsoft Defender for Cloud sind Marken der Microsoft-Unternehmensgruppe. Andere Namen sind Marken ihrer jeweiligen Inhaber.

Missbrauch von Azure-Rollenzuweisungen und elevateAccess

Wie Angreifer mit Azure-Rollenzuweisungen und elevateAccess Rechte ausweiten, wie roleAssignments/write im Activity Log aussieht und wie Sie priorisieren.

Veröffentlicht am 6 Min. Lesezeit

Kurz gesagt. Rechteausweitung in Azure ist vor allem eine Operation: Microsoft.Authorization/roleAssignments/write. Verdächtig wird sie durch die Rolle (Owner, User Access Administrator, Role Based Access Control Administrator oder Contributor für eine nicht-menschliche Identität), den Aufrufer (ein Dienstprinzipal oder ein Prinzipal, der sich selbst eine Rolle zuweist) und den Bereich (Abonnement oder Stamm). Die nukleare Variante ist Microsoft.Authorization/elevateAccess/action: Ein Globaler Administrator verschafft sich User Access Administrator im Stammbereich /, über alle Abonnements hinweg. Dieses Ereignis wird im mandantenweiten Log geschrieben – ein Abonnement-Export zeigt es nicht.

Rollenzuweisungen sind das Rückgrat der Autorisierung in Azure und damit das Erste, was ein Eindringling mit gewissen Rechten auszuweiten versucht. Sie sind aber auch Routineverwaltung, weshalb eine bloße Liste von roleAssignments/write-Ereignissen nutzlos ist. In diesem Artikel geht es darum, beides zu unterscheiden.

Wie Rechteausweitung über Azure RBAC funktioniert

Eine Rollenzuweisung verbindet drei Dinge: einen Prinzipal, eine Rollendefinition und einen Bereich. Wer Microsoft.Authorization/roleAssignments/write in einem Bereich besitzt, kann dort Zuweisungen erstellen. Unter den integrierten Rollen sind das Owner, User Access Administrator und Role Based Access Control Administrator.

Typische Eskalationspfade, die ich sehe:

AusgangspunktAusweitungWarum es funktioniert
Abgeflossenes Geheimnis eines CI/CD-Dienstprinzipals, dem man User Access Administrator gab, „um Rollenzuweisungen bereitzustellen“Weist sich Contributor oder Owner auf dem Abonnement zuÜberprivilegierte Automatisierung
Kompromittierter Globaler Administrator in Entra IDelevateAccess → User Access Administrator auf / → Owner auf jedem AbonnementEntra und Azure RBAC sind getrennt, Globale Administratoren können die Brücke schlagen
Contributor auf einem Key Vault mit ZugriffsrichtlinienTrägt sich selbst in die Zugriffsrichtlinie einKein RBAC, aber dieselbe Idee – siehe den Key Vault-Artikel
Owner eines Automation-Kontos oder einer VM mit privilegierter verwalteter IdentitätFührt Code als diese Identität ausBehandelt in Missbrauch verwalteter Identitäten

MITRE ATT&CK führt die Vergabe als T1098.003 Additional Cloud Roles und die Nutzung legitimer Cloud-Identitäten als T1078.004 Cloud Accounts.

Was elevateAccess ist und wo es protokolliert wird

Die Zugriffserhöhung ist eine dokumentierte, legitime Funktion: Ein Globaler Administrator in Microsoft Entra ID kann „Access management for Azure resources“ aktivieren und erhält die Rolle User Access Administrator im Stammbereich /. Von dort kann er sich jede Rolle in jedem Abonnement und jeder Verwaltungsgruppe des Mandanten zuweisen. Microsoft empfiehlt, diesen Zugriff nach Erledigung der Aufgabe wieder zu entfernen (Zugriff zum Verwalten aller Azure-Abonnements erhöhen).

Die forensische Falle liegt darin, wo protokolliert wird. Laut derselben Seite erscheinen Einträge zur Zugriffserhöhung in den Verzeichnis-Überwachungsprotokollen von Microsoft Entra (Dienst „Azure RBAC (Elevated Access)“, zum Zeitpunkt des Schreibens in der Vorschau) und in der Ansicht Directory Activity des Activity Log – also im mandantenweiten Log. Die Operation ist Microsoft.Authorization/elevateAccess/action mit dem Bereich /providers/Microsoft.Authorization. Ein az monitor activity-log list pro Abonnement liefert sie nicht. Exportieren Sie die Mandantenebene mit az rest, wie im Exportleitfaden gezeigt.

Das ist kein exotischer Pfad. Microsofts Analyse zu Storm-0501 beschreibt, wie der Akteur mit elevateAccess/action User Access Administrator erlangte und dann mit roleAssignments/write Owner über die Abonnements hinweg übernahm.

Ein roleAssignments/write-Ereignis lesen

Im REST-/CLI-Schema sind die benötigten Details zwischen Ereignis und Anforderungstext verteilt:

FeldWoWarum es wichtig ist
caller und claimsEreignisWer die Zuweisung erstellt hat. Ein GUID-Aufrufer mit appid-Claim ist ein Dienstprinzipal; eine xms_mirid-Claim bedeutet verwaltete Identität
httpRequest.clientIpAddressEreignisWoher der Aufruf kam
properties.requestbody → PrincipalId, RoleDefinitionId, ScopeAnforderungstextWer welche Rolle wo erhalten hat
authorization.evidence.roleSchema der RessourcenlogsWelche Rolle es dem Aufrufer erlaubt hat
status.valueEreignisStarted / Succeeded / Failed – auch Fehlschläge sind interessant

RoleDefinitionId ist eine GUID. Die IDs der integrierten Rollen sind fest und in Integrierte Azure-Rollen dokumentiert; Owner ist zum Beispiel 8e3af657-a8ff-443c-a75c-2fe8c4bcb635, Contributor b24988ac-6180-42a0-ab88-20f7382dd24c und User Access Administrator 18d7d88d-d35e-4fb5-a5c3-7773c20a72d9.

Zwei günstige, aber starke Signale:

  1. Der Aufrufer weist sich selbst eine Rolle zu. Vergleichen Sie die Objekt-ID des Aufrufers mit PrincipalId im Anforderungstext. Legitime Bootstrap-Skripte tun das gelegentlich, Angreifer ständig.
  2. Der Empfänger ist nicht menschlich und die Rolle ist weitreichend. Ein Dienstprinzipal oder eine verwaltete Identität, die Owner oder Contributor auf einem ganzen Abonnement erhält, verdient einen Verantwortlichen und eine Ticketnummer.

Was der Analyzer meldet

Der Azure Forensics Analyzer implementiert vier RBAC-Regeln, alle auf dem Activity Log:

RegelErkenntStufe
AZ-RBAC-001Owner, User Access Administrator oder Role Based Access Control Administrator zugewiesenMittel
AZ-RBAC-002Dienstprinzipal oder verwaltete Identität erhält Owner, Contributor oder eine ZugriffsverwaltungsrolleHoch
AZ-RBAC-003Prinzipal weist sich selbst eine Rolle zu (Objekt-ID des Aufrufers = Empfänger)Hoch
AZ-RBAC-004elevateAccess/action – Globaler Administrator erhöht auf den StammbereichHoch

Kombinieren Sie sie mit AZ-ID-001 (Dienstprinzipal von neuer IP verwendet), und die Kette liest sich meist von selbst: neue IP → Selbstzuweisung → was danach kam.

Checkliste zur Triage

Für jede gemeldete Zuweisung:

  1. Gibt es ein Change-Ticket? Fragen Sie das Plattformteam, bevor Sie etwas annehmen; viele „verdächtige“ Zuweisungen sind Freitagabend-Korrekturen.
  2. Wer ist der Aufrufer, und ist das sein übliches Verhalten? Pivotieren Sie im Reiter Entitäten auf den Aufrufer. Ein Deployment-Prinzipal, der noch nie Rollen vergeben hat, ist ein starkes Signal.
  3. Von welcher IP? Vergleichen Sie mit den Referenz-IPs des Aufrufers. CI-Runner wechseln die IP; Angreifer wechseln IP und Uhrzeit.
  4. Was geschah danach mit den neuen Rechten? Sehen Sie sich die nächste Stunde an Ereignissen des Empfängers an. Eine Rolle, die niemand nutzt, ist ein Fehler; eine Rolle, die binnen Minuten für Befehle oder Secret-Zugriffe genutzt wird, ist ein Angriff.
  5. Wurde sie wieder entfernt? Angreifer räumen manchmal mit roleAssignments/delete auf. Auch das Löschen wird protokolliert.
  6. Bei elevateAccess: Welcher Globale Administrator, von welcher Anmeldung? Das ist eine Entra ID-Frage für m365forensics.com.

Behebung

  • Entfernen Sie während des Vorfalls erstellte Zuweisungen (az role assignment delete) und prüfen Sie, wer in jedem Bereich Owner und User Access Administrator hat.
  • Entfernen Sie die durch die Zugriffserhöhung entstandene User Access Administrator-Zuweisung auf /; Microsoft dokumentiert sowohl den Schalter im Portal als auch das Entfernen per CLI / REST.
  • Rotieren Sie die Anmeldeinformationen jedes Dienstprinzipals, der eine verdächtige Zuweisung erstellt oder erhalten hat.
  • Reduzieren Sie dauerhafte Rechte: kein User Access Administrator für CI/CD-Identitäten; für Menschen Privileged Identity Management erwägen.

Verwandte Artikel

Verwandte Artikel

Wie Angreifer Azure-Dienstprinzipale und verwaltete Identitäten missbrauchen: abgeflossene Geheimnisse, IMDS-Tokendiebstahl, Verbundanmeldeinformationen.
Wie Angreifer Azure Run Command und die Custom Script Extension nutzen, was das Activity Log erfasst und auslässt und welche VM-Artefakte das Skript enthalten.
Azure-Abonnement kompromittiert? Welche Logs Sie zuerst sichern, welche Operationen Angreifer verraten und wie Sie vom Activity Log zu einem Urteil kommen.

Dieses Tool ist weder mit der Microsoft Corporation verbunden noch von ihr unterstützt oder gesponsert. Azure, Microsoft Azure und Microsoft Defender for Cloud sind Marken der Microsoft-Unternehmensgruppe. Andere Namen sind Marken ihrer jeweiligen Inhaber.