Gefährliche Anwendungsberechtigungen mit Auswirkungen auf den Mandanten

HIGH

Beschreibung

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: Dieser Indicator of Exposure untersucht diesen ersten Berechtigungstyp, siehe den zugehörigen Indicator of Exposure „Gefährliche Anwendungsberechtigungen mit Auswirkungen auf Daten“ für Bedrohungen für sensible Daten in der Umgebung. Die Einwilligung wird von Administratoren erteilt und die Berechtigungen gelten mandantenweit. Microsoft beschreibt sie wie folgt:

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.

  • Delegierte Berechtigungen: siehe den zugehörigen Indicator of Exposure „Gefährliche delegierte Berechtigungen mit Auswirkungen auf den Mandanten”.

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:

Lösung

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:

    • Ermitteln Sie seinen Besitzer und seine Rolle, um festzustellen, ob er diese gefährlichen Berechtigungen tatsächlich benötigt.
      • Wenn es sich um eine interne Anwendung handelt, evaluieren Sie ihre Funktionen und verringern Sie die Berechtigungen unter Anwendung des Prinzips der geringsten Berechtigungen, wie im Abschnitt Zustimmung und Autorisierung der Dokumentation zu Microsoft Graph-API beschrieben. In dieser Anleitung werden die für die einzelnen APIs mindestens erforderlichen Berechtigungen angegeben.
      • Im Fall einer Drittanbieter-Anwendung fordern Sie den Anbieter auf, die erforderlichen Berechtigungen herabzusetzen oder zumindest zu dokumentieren.
    • Wenn Sie über die erforderlichen Premium-Lizenzen für Workloadidentitäten verfügen, können Sie als Defense-in-Depth-Maßnahme die Verwendung von bedingtem Zugriff für Workloadidentitäten in Betracht ziehen. Auf diese Weise können Sie Dienstprinzipale mit hohem Risiko auf bekannte vertrauenswürdige Standorte beschränken und den Zugriff auf der Grundlage von riskanten Anmeldungen einschränken.
    • Anwendungsberechtigungen* erfordern immer die Einwilligung eines Administrators. Schulen Sie diese Administratoren darin, verdächtige Anwendungen und sensible Berechtigungen, insbesondere mandantenweite „Anwendungsberechtigungen“, zu erkennen. Dies muss im Rahmen einer umfassenden Anwendungs-Governance-Initiative erfolgen.
  • 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.

Indikatordetails

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

MITRE ATT&CK-Informationen: