mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2026-01-10 20:23:28 -08:00
Translated ['src/pentesting-cloud/azure-security/README.md', 'src/pentes
This commit is contained in:
@@ -31,7 +31,75 @@ az-unauthenticated-enum-and-initial-entry/
|
||||
Mit diesen Informationen sind die häufigsten Möglichkeiten, um einen Fuß in die Tür zu bekommen:
|
||||
- **OSINT**: Überprüfen Sie auf **Leaks** in Github oder einer anderen Open-Source-Plattform, die **Anmeldeinformationen** oder interessante Informationen enthalten könnte.
|
||||
- **Passwort**-Wiederverwendung, Leaks oder [Password Spraying](az-unauthenticated-enum-and-initial-entry/az-password-spraying.md)
|
||||
- Anmeldeinformationen von
|
||||
- Anmeldeinformationen von einem Mitarbeiter kaufen
|
||||
- [**Häufiges Phishing**](https://book.hacktricks.wiki/en/generic-methodologies-and-resources/phishing-methodology/index.html) (Anmeldeinformationen oder Oauth-App)
|
||||
- [Device Code Authentication Phishing](az-unauthenticated-enum-and-initial-entry/az-device-code-authentication-phishing.md)
|
||||
- 3rd Party **verletzte**
|
||||
- Schwachstellen in Azure-gehosteten Anwendungen
|
||||
- [**Server Side Request Forgery**](https://book.hacktricks.wiki/en/pentesting-web/ssrf-server-side-request-forgery/cloud-ssrf.html) mit Zugriff auf den Metadaten-Endpunkt
|
||||
- **Subdomain-Übernahmen** wie in [https://godiego.co/posts/STO-Azure/](https://godiego.co/posts/STO-Azure/)
|
||||
- **Andere Fehlkonfigurationen von Azure-Diensten**
|
||||
- Wenn ein Entwickler-Laptop kompromittiert ist ([WinPEAS und LinPEAS](https://github.com/peass-ng/PEASS-ng) können diese Informationen finden):
|
||||
- Innerhalb von **`<HOME>/.Azure`**
|
||||
- **`azureProfile.json`** enthält Informationen über angemeldete Benutzer aus der Vergangenheit
|
||||
- **`clouds.config` enthält** Informationen über Abonnements
|
||||
- **`service_principal_entries.json`** enthält Anwendungsanmeldeinformationen (Mandanten-ID, Clients und Geheimnis). Nur in Linux & macOS
|
||||
- **`msal_token_cache.json`** enthält Zugriffstoken und Aktualisierungstoken. Nur in Linux & macOS
|
||||
- **`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)
|
||||
- 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.
|
||||
- In Windows generiert dies nur ID-Token.
|
||||
- Es ist möglich zu sehen, ob Az PowerShell in Linux und macOS verwendet wurde, indem überprüft wird, ob `$HOME/.local/share/.IdentityService/` existiert (obwohl die enthaltenen Dateien leer und nutzlos sind).
|
||||
|
||||
Finden Sie **andere Fehlkonfigurationen von Azure-Diensten**, die zu einem Fuß in die Tür führen können, auf der folgenden Seite:
|
||||
|
||||
{{#ref}}
|
||||
az-unauthenticated-enum-and-initial-entry/
|
||||
{{#endref}}
|
||||
|
||||
> [!NOTE]
|
||||
> Denken Sie daran, dass normalerweise der **lauteste** Teil der Enumeration das **Login** ist, nicht die Enumeration selbst.
|
||||
|
||||
### Azure & Entra ID-Tools
|
||||
|
||||
Die folgenden Tools sind sehr nützlich, um sowohl Entra ID-Mandanten als auch Azure-Umgebungen langsam (um Erkennung zu vermeiden) oder automatisch (um Zeit zu sparen) zu enumerieren:
|
||||
|
||||
{{#ref}}
|
||||
az-enumeration-tools.md
|
||||
{{#endref}}
|
||||
|
||||
### Umgehung von Zugriffsrichtlinien
|
||||
|
||||
<figure><img src="../../images/image (268).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
In Fällen, in denen Sie einige gültige Anmeldeinformationen haben, aber sich nicht anmelden können, sind dies einige gängige Schutzmaßnahmen, die vorhanden sein könnten:
|
||||
|
||||
- **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.
|
||||
- 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.
|
||||
|
||||
Überprüfen Sie:
|
||||
|
||||
{{#ref}}
|
||||
az-privilege-escalation/az-entraid-privesc/az-conditional-access-policies-mfa-bypass.md
|
||||
{{#endref}}
|
||||
|
||||
### 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.
|
||||
|
||||
Eine der ersten Dinge, die Sie wissen müssen, ist **wer Sie sind** (in welcher Umgebung Sie sich befinden):
|
||||
|
||||
{{#tabs }}
|
||||
{{#tab name="az cli" }}
|
||||
```bash
|
||||
az account list
|
||||
az account tenant list # Current tenant info
|
||||
@@ -73,9 +141,9 @@ Get-AzureADTenantDetail
|
||||
{{#endtabs }}
|
||||
|
||||
|
||||
### Entra ID Aufzählung & Privilegieneskalation
|
||||
### Entra ID Enumeration & Privesc
|
||||
|
||||
Standardmäßig sollte jeder Benutzer **genug Berechtigungen haben, um** Dinge wie Benutzer, Gruppen, Rollen, Dienstprinzipale... aufzulisten (siehe [Standard AzureAD Berechtigungen](az-basic-information/index.html#default-user-permissions)).\
|
||||
Standardmäßig sollte jeder Benutzer **ausreichende Berechtigungen haben, um** Dinge wie Benutzer, Gruppen, Rollen, Dienstprinzipale... aufzulisten (siehe [Standard AzureAD-Berechtigungen](az-basic-information/index.html#default-user-permissions)).\
|
||||
Hier finden Sie einen Leitfaden:
|
||||
|
||||
{{#ref}}
|
||||
@@ -89,7 +157,7 @@ az-enumeration-tools.md#automated-post-exploitation-tools
|
||||
{{#endref}}
|
||||
|
||||
|
||||
### Azure-Dienste auflisten
|
||||
### Azure Enumeration
|
||||
|
||||
Sobald Sie wissen, wer Sie sind, können Sie beginnen, die **Azure-Dienste, auf die Sie Zugriff haben**, aufzulisten.
|
||||
|
||||
@@ -99,51 +167,4 @@ Sie sollten herausfinden, welche **Berechtigungen Sie** über die Ressourcen hab
|
||||
|
||||
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, indem Sie zu [https://portal.azure.com/#view/HubsExtension/BrowseAll](https://portal.azure.com/#view/HubsExtension/BrowseAll) gehen oder nach "Alle Ressourcen" suchen oder ausführen: `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 über 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: **`Get-AzRoleAssignment -Scope /subscriptions/9291ff6e-6afb-430e-82a4-6f04b2d05c7f/resourceGroups/Resource_Group_1/providers/Microsoft.RecoveryServices/vaults/vault-m3ww8ut4`**.
|
||||
|
||||
Es ist auch möglich, diese Informationen zu erhalten, indem Sie **`az rest --method GET --uri "https://management.azure.com/<Scope>/providers/Microsoft.Authorization/roleAssignments?api-version=2020-08-01-preview" | jq ".value"`** ausführen, wie in:
|
||||
|
||||
- **`az rest --method GET --uri "https://management.azure.com//subscriptions/9291ff6e-6afb-430e-82a4-6f04b2d05c7f/resourceGroups/Resource_Group_1/providers/Microsoft.KeyVault/vaults/vault-m3ww8ut4/providers/Microsoft.Authorization/roleAssignments?api-version=2020-08-01-preview" | jq ".value"`**
|
||||
|
||||
3. **Finden Sie die granularen Berechtigungen der Ihnen zugewiesenen Rollen**:
|
||||
|
||||
Um die granularen Berechtigungen zu erhalten, könnten Sie **`(Get-AzRoleDefinition -Id "<RoleDefinitionId>").Actions`** ausführen.
|
||||
|
||||
Oder rufen Sie die API direkt mit **`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"`** auf.
|
||||
|
||||
|
||||
Im folgenden Abschnitt finden Sie **Informationen über die häufigsten Azure-Dienste und wie man sie auflistet**:
|
||||
|
||||
{{#ref}}
|
||||
az-services/
|
||||
{{#endref}}
|
||||
|
||||
### Privilegieneskalation, Post-Exploitation & Persistenz in Azure-Diensten
|
||||
|
||||
Sobald Sie wissen, wie die Azure-Umgebung strukturiert ist und welche Dienste verwendet werden, können Sie nach Möglichkeiten suchen, um **Berechtigungen zu eskalieren, lateral zu bewegen, andere Post-Exploitation-Angriffe durchzuführen und Persistenz aufrechtzuerhalten**.
|
||||
|
||||
Im folgenden Abschnitt finden Sie Informationen darüber, wie Sie Berechtigungen in den häufigsten Azure-Diensten eskalieren können:
|
||||
|
||||
{{#ref}}
|
||||
az-privilege-escalation/
|
||||
{{#endref}}
|
||||
|
||||
Im nächsten finden Sie Informationen darüber, wie Sie Post-Exploitation-Angriffe in den häufigsten Azure-Diensten durchführen können:
|
||||
|
||||
{{#ref}}
|
||||
az-post-exploitation/
|
||||
{{#endref}}
|
||||
|
||||
Im folgenden finden Sie Informationen darüber, wie Sie Persistenz in den häufigsten Azure-Diensten aufrechterhalten können:
|
||||
|
||||
{{#ref}}
|
||||
az-persistence/
|
||||
{{#endref}}
|
||||
|
||||
{{#include ../../banners/hacktricks-training.md}}
|
||||
Darüber hinaus können Sie die gleichen Informationen in der **Webkonsole** erhalten,
|
||||
|
||||
Reference in New Issue
Block a user