Sprache:
Microsoft macht APIs über Anwendungen in Microsoft Entra ID verfügbar, um Drittanbieter-Anwendungen die Ausführung von Aktionen für Microsoft Entra ID selbst, Microsoft 365 (O365), die Azure-Cloud usw. zu erlauben. „API-Berechtigungen“ schützen den Zugriff auf diese APIs und sollten nur für Dienstprinzipale verfügbar sein, die diese APIs benötigen. Die Genehmigung der Berechtigungen wird als „Anwendungsrollenzuweisung“ oder „Einwilligungserteilung“ („consent grant“) bezeichnet.
Bestimmte Berechtigungen für einige Microsoft-APIs (siehe unten) können eine ernste Bedrohung für den gesamten Microsoft Entra-Mandanten darstellen, weil ein Dienstprinzipal mit diesen Berechtigungen über sehr viel Macht verfügt, zugleich jedoch diskreter ist als ein Benutzer mit einer umfassenden Administratorrolle wie z. B. „Globaler Administrator“. Ein Missbrauch dieser Situation kann es einem Angreifer ermöglichen, die Multifaktor-Authentifizierung (MFA) zu umgehen sich dem Zurücksetzen von Benutzerpasswörtern zu widersetzen.
Wenn die Berechtigungen legitim sind, vergrößern sie die Angriffsoberfläche für den Mandanten. Wenn sie nicht legitim sind, kann es sich um einen böswilligen Versuch handeln, Rechte oder die Persistenzmethode auszuweiten.
Es gibt zwei Arten von API-Berechtigungen in Microsoft Entra ID, wie in der Microsoft-Dokumentation Einführung in Berechtigungen und Einwilligung beschrieben:
Anwendungsberechtigungen werden von Anwendungen verwendet, die ohne einen angemeldeten Benutzer ausgeführt werden. Beispielsweise Apps, die als Hintergrunddienste oder Daemons ausgeführt werden. Für Anwendungsberechtigungen ist immer die Einwilligung eines Administrators erforderlich.
Dieser Indicator of Exposure (IoE) gibt nur Auskunft über Dienstprinzipale, da API-Berechtigungen nur für Dienstprinzipale gelten, nicht jedoch für Benutzer.
Dieser IoE verfolgt die folgenden gefährlichen Berechtigungen, die Zugriff auf die Microsoft Graph-API und die ältere Azure AD Graph-API erlauben:
AdministrativeUnit.ReadWrite.All
: Erlaubt es Angreifern, einen globalen Administrator aus einer Verwaltungseinheit mit eingeschränkter Verwaltung (Restricted Management Administrative Unit, RMAU) zu entfernen, um dann das Passwort zurückzusetzen, wenn die Berechtigung mit anderen Berechtigungen kombiniert wird.Application.ReadWrite.All
: Erlaubt es Angreifern, Anmeldeinformationen für die Authentifizierung in höher privilegierte Anwendungen einzuschleusen, was einen nicht autorisierten Zugriff (bis hoch zu „Globaler Administrator“) durch Identitätswechsel ermöglicht.Application.ReadWrite.OwnedBy:
Diese Berechtigung ist identisch mit Application.ReadWrite.All
, gilt jedoch nur für Dienstprinzipale im Besitz des gemeldeten Dienstprinzipals.AppRoleAssignment.ReadWrite.All
: Erlaubt es Angreifern, sich selbst die Berechtigung RoleManagement.ReadWrite.Directory
zu erteilen.DeviceManagementConfiguration.ReadWrite.All
: Erlaubt es Angreifern, von Intune verwaltete Geräte zu kompromittieren, indem sie bösartige Verwaltungsskripts bereitstellen, wie von Mandiant in (In)tuned to Takeovers: Abusing Intune Permissions for Lateral Movement and Privilege Escalation in Entra ID Native Environments beschrieben. Dies kann eine Rechteausweitung zum globalen Administrator ermöglichen, wenn ein Administrator ein von Intune verwaltetes Gerät verwendet.DeviceManagementRBAC.ReadWrite.All
: Erlaubt es Angreifern, einem von ihnen kontrollierten Konto privilegierte Intune-Rollen zuzuweisen, sodass sie beliebige Befehle auf Intune-Geräten ausführen können, wie in DeviceManagementConfiguration.ReadWrite.All
beschrieben.Directory.ReadWrite.All
: Erlaubt es Angreifern, sich selbst als Mitglieder von Gruppen hinzuzufügen, denen keine Rollen zugewiesen werden können, und so potenziell Rechte in der Azure-Cloud zu erlangen. Dies kann es ihnen ermöglichen, sich Zugriff auf andere Azure-Ressourcen zu verschaffen, was zu einer Rechteausweitung zum globalen Administrator in Entra ID (z. B. über verwaltete Identitäten) oder sogar zum Domänenadministrator in Active Directory (z. B. über in Azure gehostete Domänencontroller-VMs) führen kann.EntitlementManagement.ReadWrite.All
: Erlaubt es Angreifern, die Zuweisungsrichtlinie eines Zugriffspakets zu aktualisieren, das die Rolle des globalen Administrators gewährt, sodass sie die Rolle ohne Genehmigung anfordern können.Group.ReadWrite.All
: Identisch mit Directory.ReadWrite.All
GroupMember.ReadWrite.All
: Identisch mit Directory.ReadWrite.All
Organization.ReadWrite.All
: Erlaubt es Angreifern, ein vertrauenswürdiges Stammzertifikat zu Entra ID hinzuzufügen und sich als beliebiger Benutzer zu authentifizieren, auch als Benutzer, die der Rolle des globalen Administrators zugewiesen sind. Hierzu muss die zertifikatbasierte Authentifizierung (Certificate-Based Authentication, CBA) aktiviert sein. Falls diese nicht aktiviert ist, wird die Berechtigung Policy.ReadWrite.AuthenticationMethod
benötigt, um CBA im Vorfeld zu aktivieren.Policy.ReadWrite.AuthenticationMethod
: Erlaubt es Angreifern, die Authentifizierungsmethode Befristeter Zugriffspass (Temporary Access Pass, TAP) zu aktivieren, die Voraussetzung für die Ausnutzung der Berechtigung UserAuthenticationMethod.ReadWrite.All
ist, wenn sie mit dieser kombiniert wird. Alternativ erlaubt sie es Angreifern, die zertifikatbasierte Authentifizierung (CBA) zu aktivieren, um die Berechtigung Organization.ReadWrite.All
auszunutzen.Policy.ReadWrite.PermissionGrant
: Erlaubt es Angreifern, eine Berechtigungserteilungsrichtlinie für einen von ihnen kontrollierten Dienstprinzipal zu erstellen, die die Berechtigung RoleManagement.ReadWrite.Directory
erteilt und die Ausnutzung ermöglicht.PrivilegedAccess.ReadWrite.AzureADGroup
: Erlaubt es Angreifern, ein von ihnen kontrolliertes Benutzerkonto als Mitglied einer Gruppe hinzuzufügen, der die Rolle des globalen Administrators zugewiesen ist.PrivilegedAssignmentSchedule.ReadWrite.AzureADGroup
: Identisch mit PrivilegedAccess.ReadWrite.AzureADGroup
.PrivilegedEligibilitySchedule.ReadWrite.AzureADGroup
: Erlaubt es Angreifern, ein von ihnen kontrolliertes Benutzerkonto für eine Gruppe zu qualifizieren, der die Rolle des globalen Administrators zugewiesen ist, und dann die Mitgliedschaft zu aktivieren, um Rechte zu erhöhen.RoleAssignmentSchedule.ReadWrite.Directory
: Erlaubt es Angreifern, einem von ihnen kontrollierten Benutzerkonto die Rolle des globalen Administrators zuzuweisen, indem sie eine aktive PIM-Rollenzuweisung erstellen.RoleEligibilitySchedule.ReadWrite.Directory
: Erlaubt es Angreifern, ein von ihnen kontrolliertes Benutzerkonto für die Rolle des globalen Administrators zu qualifizieren und dann zu aktivieren, um Rechte zu erhöhen.RoleManagement.ReadWrite.Directory
: Erlaubt es Angreifern, sich selbst auf die Rolle des globalen Administrators hochzustufen.RoleManagementPolicy.ReadWrite.AzureADGroup
: Erlaubt es Angreifern, Gruppenrollenzuweisungen und Aktivierungsbeschränkungen wie MFA-Anforderungen oder Administratorgenehmigung zu entfernen, um PrivilegedAccess.ReadWrite.AzureADGroup
, PrivilegedAssignmentSchedule.ReadWrite.AzureADGroup
oder PrivilegedEligibilitySchedule.ReadWrite.AzureADGroup
auszunutzen und in einem Mandanten mit strengen PIM-Einstellungen demselben Pfad wie diese Berechtigungen zu folgen.RoleManagementPolicy.ReadWrite.Directory
: Erlaubt es Angreifern, Entra-Rollenzuweisungen und Aktivierungsbeschränkungen wie MFA-Anforderungen oder Administratorgenehmigung zu entfernen, um RoleAssignmentSchedule.ReadWrite.Directory
oder RoleEligibilitySchedule.ReadWrite.Directory
zu nutzen und in einem Mandanten mit strengen PIM-Einstellungen demselben Pfad wie diese Berechtigungen zu folgen.User.DeleteRestore.All
: Erlaubt es Angreifern, alle Benutzerkonten im Mandanten zu löschen, sodass dieser nicht mehr verfügbar ist, und anschließend ein Lösegeld für die Wiederherstellung eines der Konten für den Notfallzugriff (Break-Glass-Konten) zu verlangen. Obwohl keine Rechteausweitung zum globalen Administrator möglich ist, wird der Zugriff unterbrochen.User.EnableDisableAccount.All
: Erlaubt es Angreifern, alle Benutzerkonten im Mandanten zu deaktivieren, sodass dieser nicht mehr verfügbar ist, und dann ein Lösegeld für die Wiederherstellung eines der Konten für den Notfallzugriff (Break-Glass-Konten) zu verlangen. Obwohl keine Rechteausweitung zum globalen Administrator möglich ist, wird der Zugriff unterbrochen.User.ReadWrite.All
: Erlaubt es Angreifern, sensible Eigenschaften eines von ihnen kontrollierten Benutzerkontos wie „Mitarbeiter-ID“ und „Abteilung“ zu bearbeiten, um das Konto zu einem Mitglied einer dynamischen Gruppe (siehe entsprechender IoE) mit zugewiesenen privilegierten Azure-Berechtigungen zu machen. Sie können dann Azure-Ressourcen nutzen, um letztlich die Rechteausweitung zum globalen Administrator zu erreichen.User-PasswordProfile.ReadWrite.All
: Identisch mit Directory.ReadWrite.All
UserAuthenticationMethod.ReadWrite.All
: Erlaubt es Angreifern, einen befristeten Zugriffspass (Temporary Access Pass, TAP) zu generieren und beliebige Benutzerkonten im Mandanten zu übernehmen. Wenn TAP noch nicht aktiviert ist, müssen sie diese Berechtigung mit Policy.ReadWrite.AuthenticationMethod
kombinieren, um TAP als Authentifizierungsmethode im Mandanten zu aktivieren (siehe entsprechender IoE).Dieser IoE verfolgt auch diese gefährliche Berechtigung der API „Microsoft Entra AD-Synchronisierungsdienst“:
ADSynchronization.ReadWrite.All
: Ermöglicht Angreifern das Aufrufen der undokumentierten Synchronisierungs-API, mit der sie hybride Benutzerkonten ändern und ihre Passwörter zurücksetzen können.Legitime Anwendungen mit diesen gefährlichen Berechtigungen fordern Zugriff an, der zu umfassend sein könnte. Dies kann auch ein Hinweis auf einen als „illegale Einwilligungserteilung“ bezeichneten Phishing-Angriff sein, bei dem Angreifer erfolgreich die Einwilligung eines Administrators einholen.
Deaktivierte Dienstprinzipale werden von diesem IoE standardmäßig ignoriert, da sie von Angreifern nicht direkt verwendet werden können.
Externe Referenzen:
Ermitteln Sie als Erstes, ob der gemeldete Dienstprinzipal mit der Berechtigung legitim ist. Denken Sie daran, dass es technisch möglich ist, den Anzeigenamen in einem Phishing-Angriff zu spoofen. Wenn der Dienstprinzipal zu einem bekannten Softwareanbieter zu gehören scheint, bitten Sie diesen zu bestätigen, dass die gemeldete Anwendungs-ID wirklich ihm gehört. Wenn der Dienstprinzipal nicht legitim ist und einen bekannten Anwendungsnamen spooft, sollten Sie eine forensische Analyse durchführen.
Wenn der Dienstprinzipal legitim ist:
Entfernen Sie eine Berechtigung, wenn Sie sie für nicht legitim halten. Tenable empfiehlt, zunächst Beweise zu speichern, wenn Sie eine umfassendere forensische Untersuchung planen. Das Microsoft Entra-Portal bietet eine dedizierte Funktion, um Berechtigungen zu überprüfen, die Unternehmensanwendungen erteilt wurden.
Microsoft hat außerdem zwei Leitfäden veröffentlicht, in denen die Durchführung einer Untersuchung der Zuweisung der App-Einwilligung und die Vorgehensweise zum Erkennen und Korrigieren illegaler Einwilligungserteilungen beschrieben werden.
Achten Sie darauf, die gefährliche Berechtigung vom Dienstprinzipal (zu finden im Menü „Unternehmensanwendungen” des Portals) und nicht von der Anwendung (zu finden im Menü „App-Registrierungen”) zu entfernen. Wenn Sie die Berechtigung von der Anwendung entfernen, wird nur die Berechtigungsanforderung gelöscht. Die eigentliche Berechtigungszuweisung ist von dem Vorgang nicht betroffen.
Speziell für die Berechtigung DeviceManagementConfiguration.ReadWrite.All
können Sie Zugriffsrichtlinien zum Anfordern mehrerer administratorrechtlicher Genehmigungen verwenden. Dieser Ansatz stellt sicher, dass die Erstellung oder Änderung von Verwaltungsskripts von einem anderen Konto validiert werden muss, und verringert so das Risiko, dass eine einzelne Anwendung bösartige Änderungen einfügt.
Schließlich sollten Sie Graph-API-Aktivitätsprotokolle aktivieren, um detaillierte Informationen zu Graph-API-Ereignissen zu erfassen. Dies hilft Ihrem SOC oder SIEM, verdächtige Aktivitäten zu identifizieren oder, im Falle eines Angriffs, forensische Untersuchungen durchzuführen. Überwachen Sie außerdem Anmeldungen von Dienstprinzipalen und konfigurieren Sie Warnungen für verdächtiges Verhalten, insbesondere für die hier genannten Dienstprinzipale mit hohem Risiko.
Name: Gefährliche Anwendungsberechtigungen mit Auswirkungen auf den Mandanten
Codename: DANGEROUS-APPLICATION-PERMISSIONS-AFFECTING-THE-TENANT
Schweregrad: High
Typ: Microsoft Entra ID Indicator of Exposure