Sprache:
Erstanbieter-Dienstprinzipale (Unternehmensanwendungen) stammen aus Anwendungen (Anwendungsregistrierungen), die Microsoft gehören. Die meisten haben sensible Berechtigungen in Microsoft Entra ID, die Sie bei Sicherheitsprüfungen oft übersehen. Dadurch können Angreifer ihnen Anmeldeinformationen hinzufügen, um unbemerkt von ihren Berechtigungen zu profitieren.
Dieses Verfahren bietet sowohl Persistenzfunktionen als auch Rechteausweitung, da Prinzipale mit der Anwendungsadministrator-Rolle Anwendungen Anmeldeinformationen hinzufügen können, einschließlich solcher, die über höhere Berechtigungen verfügen.
Erstanbieter-Dienstprinzipale sollten keine Anmeldeinformationen haben, außer in seltenen Fällen (siehe Empfehlungen).
Die APT29-Bedrohungsgruppe hat diese Methode im berüchtigten Angriff von SolarWinds namens Solorigate im Dezember 2020 missbraucht, wie von Microsoft und von Mandiant dokumentiert.
Beginnen Sie, indem Sie die Legitimität der beobachteten Anmeldeinformationen evaluieren. Sie können diese Anmeldeinformationen als legitim betrachten, wenn sie mit einem der folgenden Dienstprinzipale verknüpft sind: Exchange Online/Skype for Business/AAD Password Protection Proxy.
In Fällen, in denen Sie vermuten, dass die Anmeldeinformationen nicht legitim sind:
Sie können Dienstprinzipal-Anmeldeinformationen nicht mithilfe des Azure-Portals auflisten, im Gegensatz zu Anmeldeinformationen, die Anwendungen zugeordnet sind. Verwenden Sie das Cmdlet Get-MgServicePrincipal von Microsoft Graph PowerShell, um die Dienstprinzipal-Anmeldeinformationen aufzulisten:
Get-MgServicePrincipal -ServicePrincipalId <objectid> -Property keyCredentials | select -ExpandProperty keyCredentials
Get-MgServicePrincipal -ServicePrincipalId <objectid> -Property passwordCredentials | select -ExpandProperty passwordCredentials
Verwenden Sie zum Löschen dieser Anmeldeinformationen Folgendes:
$keycredentials = (Get-MgServicePrincipal -ServicePrincipalId <objectid>).KeyCredentials
abrufen, die nicht gewünschten Anmeldeinformationen aus $keycredentials
entfernen und zum Schluss dieses neue Array mit Update-MgServicePrincipal -ServicePrincipalId <objectid> -KeyCredentials $keycredentials
anwenden. Wenn Sie alle löschen möchten, können Sie einfach Update-MgServicePrincipal -ServicePrincipalId <objectid> -KeyCredentials @()
verwenden.Alternativ können Sie auch das jetzt veraltete AzureAD PowerShell-Modul verwenden:
Get-AzureADServicePrincipalKeyCredential
und Remove-AzureADServicePrincipalKeyCredential
Get-AzureADServicePrincipalPasswordCredential
und Remove-AzureADServicePrincipalPasswordCredential
Name: Erstanbieter-Dienstprinzipal mit Anmeldeinformationen
Codename: FIRST-PARTY-SERVICE-PRINCIPAL-WITH-CREDENTIALS
Schweregrad: High
Techniken: T1098.001
More: Azure AD privilege escalation - Taking over default application permissions as Application Admin