Translated ['src/pentesting-cloud/azure-security/README.md', 'src/pentes

This commit is contained in:
Translator
2025-02-07 00:04:52 +00:00
parent 88fd0f8895
commit de240ab809
2 changed files with 94 additions and 22 deletions

View File

@@ -48,7 +48,7 @@ Mit diesen Informationen sind die häufigsten Möglichkeiten, um einen Fuß in d
- **`service_principal_entries.bin`** und msal_token_cache.bin werden in Windows verwendet und sind mit DPAPI verschlüsselt
- **`msal_http_cache.bin`** ist ein Cache von HTTP-Anfragen
- Laden Sie es: `with open("msal_http_cache.bin", 'rb') as f: pickle.load(f)`
- **`AzureRmContext.json`** enthält Informationen über vorherige Anmeldungen mit Az PowerShell (aber keine Anmeldeinformationen)
- **`AzureRmContext.json`** enthält Informationen über frühere Anmeldungen mit Az PowerShell (aber keine Anmeldeinformationen)
- Innerhalb von **`C:\Users\<username>\AppData\Local\Microsoft\IdentityCache\*`** befinden sich mehrere `.bin`-Dateien mit **Zugriffstoken**, ID-Token und Kontoinformationen, die mit dem DPAPI des Benutzers verschlüsselt sind.
- Es ist möglich, weitere **Zugriffstoken** in den `.tbres`-Dateien innerhalb von **`C:\Users\<username>\AppData\Local\Microsoft\TokenBroken\Cache\`** zu finden, die ein base64 mit DPAPI verschlüsseltes Zugriffstoken enthalten.
- In Linux und macOS können Sie **Zugriffstoken, Aktualisierungstoken und ID-Token** von Az PowerShell (falls verwendet) erhalten, indem Sie `pwsh -Command "Save-AzContext -Path /tmp/az-context.json"` ausführen.
@@ -80,7 +80,7 @@ In Fällen, in denen Sie einige gültige Anmeldeinformationen haben, aber sich n
- **IP-Whitelisting** -- Sie müssen eine gültige IP kompromittieren
- **Geo-Beschränkungen** -- Finden Sie heraus, wo der Benutzer lebt oder wo sich die Büros des Unternehmens befinden, und erhalten Sie eine IP aus derselben Stadt (oder zumindest demselben Land)
- **Browser** -- Vielleicht ist nur ein Browser von bestimmten Betriebssystemen (Windows, Linux, Mac, Android, iOS) erlaubt. Finden Sie heraus, welches Betriebssystem das Opfer/das Unternehmen verwendet.
- **Browser** -- Möglicherweise ist nur ein Browser von bestimmten Betriebssystemen (Windows, Linux, Mac, Android, iOS) erlaubt. Finden Sie heraus, welches Betriebssystem das Opfer/das Unternehmen verwendet.
- Sie können auch versuchen, **Service Principal-Anmeldeinformationen** zu kompromittieren, da diese normalerweise weniger eingeschränkt sind und deren Anmeldung weniger überprüft wird.
Nachdem Sie dies umgangen haben, sollten Sie in der Lage sein, zu Ihrer ursprünglichen Konfiguration zurückzukehren und weiterhin Zugriff zu haben.
@@ -94,7 +94,7 @@ az-privilege-escalation/az-entraid-privesc/az-conditional-access-policies-mfa-by
### Wer bin ich
> [!CAUTION]
> Lernen Sie, **wie man** az cli, AzureAD und Az PowerShell im Abschnitt [**Az - Entra ID**](az-services/az-azuread.md) installiert.
> Lernen Sie, **wie man** az cli, AzureAD und Az PowerShell im [**Az - Entra ID**](az-services/az-azuread.md) Abschnitt installiert.
Eine der ersten Dinge, die Sie wissen müssen, ist **wer Sie sind** (in welcher Umgebung Sie sich befinden):
@@ -161,10 +161,74 @@ az-enumeration-tools.md#automated-post-exploitation-tools
Sobald Sie wissen, wer Sie sind, können Sie beginnen, die **Azure-Dienste, auf die Sie Zugriff haben**, aufzulisten.
Sie sollten herausfinden, welche **Berechtigungen Sie** über die Ressourcen haben. Dazu:
Sie sollten herausfinden, welche **Berechtigungen Sie über die Ressourcen haben**. Dazu:
1. **Finden Sie die Ressource, auf die Sie Zugriff haben**:
Der Az PowerShell-Befehl **`Get-AzResource`** ermöglicht es Ihnen, **die Ressourcen zu erfahren, über die Ihr aktueller Benutzer Sichtbarkeit hat**.
Darüber hinaus können Sie die gleichen Informationen in der **Webkonsole** erhalten,
Darüber hinaus können Sie die gleichen Informationen in der **Webkonsole** erhalten, indem Sie zu [https://portal.azure.com/#view/HubsExtension/BrowseAll](https://portal.azure.com/#view/HubsExtension/BrowseAll) gehen oder nach "Alle Ressourcen" suchen oder folgendes ausführen:
```bash
az rest --method GET --url "https://management.azure.com/subscriptions/<subscription-id>/resources?api-version=2021-04-01"
```
2. **Finden Sie die Berechtigungen, die Sie für die Ressourcen haben, auf die Sie Zugriff haben, und finden Sie die Ihnen zugewiesenen Rollen**:
Beachten Sie, dass Sie die Berechtigung **`Microsoft.Authorization/roleAssignments/read`** benötigen, um diese Aktion auszuführen.
Darüber hinaus kann mit ausreichenden Berechtigungen die Rolle **`Get-AzRoleAssignment`** verwendet werden, um **alle Rollen** im Abonnement oder die Berechtigung über eine bestimmte Ressource aufzulisten, indem Sie sie wie folgt angeben:
```bash
Get-AzRoleAssignment -Scope /subscriptions/<subscription-id>/resourceGroups/Resource_Group_1/providers/Microsoft.RecoveryServices/vaults/vault-m3ww8ut4
```
Es ist auch möglich, diese Informationen zu erhalten, indem man Folgendes ausführt:
```bash
az rest --method GET --uri "https://management.azure.com/<Scope>/providers/Microsoft.Authorization/roleAssignments?api-version=2020-08-01-preview" | jq ".value"
```
Bitte geben Sie den Text an, den Sie übersetzen möchten.
```bash
az rest --method GET --uri "https://management.azure.com//subscriptions/<subscription-id>/resourceGroups/Resource_Group_1/providers/Microsoft.KeyVault/vaults/vault-m3ww8ut4/providers/Microsoft.Authorization/roleAssignments?api-version=2020-08-01-preview" | jq ".value"
```
Eine weitere Möglichkeit besteht darin, die Ihnen in Azure zugewiesenen Rollen mit folgendem Befehl abzurufen:
```bash
az role assignment list --assignee "<email>" --all --output table
```
Oder führen Sie Folgendes aus (Wenn die Ergebnisse leer sind, könnte es daran liegen, dass Sie nicht die Berechtigung haben, sie abzurufen):
```bash
az rest --method GET --uri 'https://management.azure.com/subscriptions/<subscription-id>/providers/Microsoft.Authorization/roleAssignments?api-version=2022-04-01&$filter=principalId eq '<user-id>'
```
3. **Finden Sie die granularen Berechtigungen der Ihnen zugewiesenen Rollen**:
Um die granularen Berechtigungen zu erhalten, können Sie **`(Get-AzRoleDefinition -Id "<RoleDefinitionId>").Actions`** ausführen.
Oder rufen Sie die API direkt mit
```bash
az rest --method GET --uri "https://management.azure.com//subscriptions/<subscription-id>/providers/Microsoft.Authorization/roleDefinitions/<RoleDefinitionId>?api-version=2020-08-01-preview" | jq ".properties"
```
In der folgenden Sektion finden Sie **Informationen über die gängigsten Azure-Dienste und wie man sie auflistet**:
{{#ref}}
az-services/
{{#endref}}
### Privilegieneskalation, Post-Exploitation & Persistenz
Sobald Sie wissen, wie die Azure-Umgebung strukturiert ist und welche Dienste verwendet werden, können Sie nach Möglichkeiten suchen, um **Privilegien zu eskalieren, lateral zu bewegen, andere Post-Exploitation-Angriffe durchzuführen und Persistenz aufrechtzuerhalten**.
In der folgenden Sektion finden Sie Informationen darüber, wie man Privilegien in den gängigsten Azure-Diensten eskaliert:
{{#ref}}
az-privilege-escalation/
{{#endref}}
In der nächsten finden Sie Informationen darüber, wie man Post-Exploitation-Angriffe in den gängigsten Azure-Diensten durchführt:
{{#ref}}
az-post-exploitation/
{{#endref}}
In der nächsten finden Sie Informationen darüber, wie man Persistenz in den gängigsten Azure-Diensten aufrechterhält:
{{#ref}}
az-persistence/
{{#endref}}
{{#include ../../banners/hacktricks-training.md}}