mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2026-02-04 19:11:41 -08:00
Translated ['src/pentesting-cloud/azure-security/README.md'] to fr
This commit is contained in:
@@ -417,15 +417,18 @@
|
||||
- [Az - Container Registry](pentesting-cloud/azure-security/az-services/az-container-registry.md)
|
||||
- [Az - Container Instances, Apps & Jobs](pentesting-cloud/azure-security/az-services/az-container-instances-apps-jobs.md)
|
||||
- [Az - CosmosDB](pentesting-cloud/azure-security/az-services/az-cosmosDB.md)
|
||||
- [Az - Intune](pentesting-cloud/azure-security/az-services/intune.md)
|
||||
- [Az - Defender](pentesting-cloud/azure-security/az-services/az-defender.md)
|
||||
- [Az - File Shares](pentesting-cloud/azure-security/az-services/az-file-shares.md)
|
||||
- [Az - Function Apps](pentesting-cloud/azure-security/az-services/az-function-apps.md)
|
||||
- [Az - Intune](pentesting-cloud/azure-security/az-services/intune.md)
|
||||
- [Az - Key Vault](pentesting-cloud/azure-security/az-services/az-keyvault.md)
|
||||
- [Az - Logic Apps](pentesting-cloud/azure-security/az-services/az-logic-apps.md)
|
||||
- [Az - Management Groups, Subscriptions & Resource Groups](pentesting-cloud/azure-security/az-services/az-management-groups-subscriptions-and-resource-groups.md)
|
||||
- [Az - Monitoring](pentesting-cloud/azure-security/az-services/az-monitoring.md)
|
||||
- [Az - MySQL](pentesting-cloud/azure-security/az-services/az-mysql.md)
|
||||
- [Az - PostgreSQL](pentesting-cloud/azure-security/az-services/az-postgresql.md)
|
||||
- [Az - Queue Storage](pentesting-cloud/azure-security/az-services/az-queue.md)
|
||||
- [Az - Sentinel](pentesting-cloud/azure-security/az-services/az-sentinel.md)
|
||||
- [Az - Service Bus](pentesting-cloud/azure-security/az-services/az-servicebus.md)
|
||||
- [Az - SQL](pentesting-cloud/azure-security/az-services/az-sql.md)
|
||||
- [Az - Static Web Applications](pentesting-cloud/azure-security/az-services/az-static-web-apps.md)
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
## Informations de base
|
||||
|
||||
Apprenez les bases d'Azure et d'Entra ID à la page suivante :
|
||||
Apprenez les bases d'Azure et d'Entra ID sur la page suivante :
|
||||
|
||||
{{#ref}}
|
||||
az-basic-information/
|
||||
@@ -14,13 +14,13 @@ az-basic-information/
|
||||
|
||||
Pour auditer un environnement AZURE, il est très important de savoir : quels **services sont utilisés**, ce qui est **exposé**, qui a **accès** à quoi, et comment les services internes Azure et les **services externes** sont connectés.
|
||||
|
||||
Du point de vue d'une Red Team, la **première étape pour compromettre un environnement Azure** est d'obtenir un **point d'accès**.
|
||||
Du point de vue d'une Red Team, le **premier pas pour compromettre un environnement Azure** est d'obtenir un **point d'appui**.
|
||||
|
||||
### Énumération externe & Accès initial
|
||||
|
||||
La première étape est bien sûr d'énumérer les informations sur le locataire que vous attaquez et d'essayer d'obtenir un point d'accès.
|
||||
Le premier pas est bien sûr d'énumérer les informations sur le locataire que vous attaquez et d'essayer d'obtenir un point d'appui.
|
||||
|
||||
En fonction du nom de domaine, il est possible de savoir **si l'entreprise utilise Azure**, d'obtenir l'**ID du locataire**, d'obtenir d'autres **domaines valides** dans le même locataire (s'il y en a plus) et d'obtenir des **informations pertinentes** comme si SSO est activé, les configurations de messagerie, les emails d'utilisateurs valides...
|
||||
En fonction du nom de domaine, il est possible de savoir **si l'entreprise utilise Azure**, d'obtenir le **tenant ID**, d'obtenir d'autres **domaines valides** dans le même locataire (s'il y en a plus) et d'obtenir des **informations pertinentes** comme si SSO est activé, les configurations de messagerie, les emails d'utilisateurs valides...
|
||||
|
||||
Consultez la page suivante pour apprendre à effectuer l'**énumération externe** :
|
||||
|
||||
@@ -28,34 +28,34 @@ Consultez la page suivante pour apprendre à effectuer l'**énumération externe
|
||||
az-unauthenticated-enum-and-initial-entry/
|
||||
{{#endref}}
|
||||
|
||||
Avec ces informations, les moyens les plus courants pour essayer d'obtenir un point d'accès sont :
|
||||
Avec ces informations, les moyens les plus courants d'essayer d'obtenir un point d'appui sont :
|
||||
- **OSINT** : Vérifiez les **fuites** sur Github ou toute autre plateforme open source qui pourrait contenir des **identifiants** ou des informations intéressantes.
|
||||
- Réutilisation de **mots de passe**, fuites ou [password spraying](az-unauthenticated-enum-and-initial-entry/az-password-spraying.md)
|
||||
- Acheter des identifiants à un employé
|
||||
- [**Phishing commun**](https://book.hacktricks.wiki/en/generic-methodologies-and-resources/phishing-methodology/index.html) (identifiants ou application Oauth)
|
||||
- [Phishing par code de dispositif](az-unauthenticated-enum-and-initial-entry/az-device-code-authentication-phishing.md)
|
||||
- [Phishing par code de dispositif d'authentification](az-unauthenticated-enum-and-initial-entry/az-device-code-authentication-phishing.md)
|
||||
- **Violations** de tiers
|
||||
- Vulnérabilités dans les applications hébergées sur Azure
|
||||
- [**Server Side Request Forgery**](https://book.hacktricks.wiki/en/pentesting-web/ssrf-server-side-request-forgery/cloud-ssrf.html) avec accès au point de terminaison des métadonnées
|
||||
- [**Server Side Request Forgery**](https://book.hacktricks.wiki/en/pentesting-web/ssrf-server-side-request-forgery/cloud-ssrf.html) avec accès à l'endpoint de métadonnées
|
||||
- **Prises de contrôle de sous-domaines** comme dans [https://godiego.co/posts/STO-Azure/](https://godiego.co/posts/STO-Azure/)
|
||||
- **Autres erreurs de configuration des services Azure**
|
||||
- Si un ordinateur portable de développeur est compromis ([WinPEAS et LinPEAS](https://github.com/peass-ng/PEASS-ng) peuvent trouver cette info) :
|
||||
- À l'intérieur de **`<HOME>/.Azure`**
|
||||
- **`azureProfile.json`** contient des informations sur les utilisateurs connectés dans le passé
|
||||
- **`clouds.config` contient** des informations sur les abonnements
|
||||
- **`service_principal_entries.json`** contient les identifiants des applications (ID de locataire, clients et secret). Seulement sous Linux & macOS
|
||||
- **`msal_token_cache.json`** contient des jetons d'accès et des jetons de rafraîchissement. Seulement sous Linux & macOS
|
||||
- **`service_principal_entries.bin`** et msal_token_cache.bin sont utilisés sous Windows et sont cryptés avec DPAPI
|
||||
- **`service_principal_entries.json`** contient les identifiants des applications (tenant id, clients et secret). Seulement sur Linux & macOS
|
||||
- **`msal_token_cache.json`** contient des jetons d'accès et des jetons de rafraîchissement. Seulement sur Linux & macOS
|
||||
- **`service_principal_entries.bin`** et msal_token_cache.bin sont utilisés sur Windows et sont cryptés avec DPAPI
|
||||
- **`msal_http_cache.bin`** est un cache de requêtes HTTP
|
||||
- Chargez-le : `with open("msal_http_cache.bin", 'rb') as f: pickle.load(f)`
|
||||
- **`AzureRmContext.json`** contient des informations sur les connexions précédentes utilisant Az PowerShell (mais pas d'identifiants)
|
||||
- À l'intérieur de **`C:\Users\<username>\AppData\Local\Microsoft\IdentityCache\*`** se trouvent plusieurs fichiers `.bin` avec des **jetons d'accès**, des jetons d'identité et des informations de compte cryptées avec le DPAPI de l'utilisateur.
|
||||
- À l'intérieur de **`C:\Users\<username>\AppData\Local\Microsoft\IdentityCache\*`** se trouvent plusieurs fichiers `.bin` avec des **jetons d'accès**, des jetons ID et des informations de compte cryptées avec le DPAPI des utilisateurs.
|
||||
- Il est possible de trouver plus de **jetons d'accès** dans les fichiers `.tbres` à l'intérieur de **`C:\Users\<username>\AppData\Local\Microsoft\TokenBroken\Cache\`** qui contiennent un base64 crypté avec DPAPI avec des jetons d'accès.
|
||||
- Sous Linux et macOS, vous pouvez obtenir des **jetons d'accès, jetons de rafraîchissement et jetons d'identité** depuis Az PowerShell (si utilisé) en exécutant `pwsh -Command "Save-AzContext -Path /tmp/az-context.json"`
|
||||
- Sous Windows, cela génère uniquement des jetons d'identité.
|
||||
- Il est possible de voir si Az PowerShell a été utilisé sous Linux et macOS en vérifiant si `$HOME/.local/share/.IdentityService/` existe (bien que les fichiers contenus soient vides et inutiles)
|
||||
- Sur Linux et macOS, vous pouvez obtenir des **jetons d'accès, jetons de rafraîchissement et jetons ID** depuis Az PowerShell (s'il est utilisé) en exécutant `pwsh -Command "Save-AzContext -Path /tmp/az-context.json"`
|
||||
- Sur Windows, cela ne génère que des jetons ID.
|
||||
- Il est possible de voir si Az PowerShell a été utilisé sur Linux et macOS en vérifiant si `$HOME/.local/share/.IdentityService/` existe (bien que les fichiers contenus soient vides et inutiles)
|
||||
|
||||
Trouvez **d'autres erreurs de configuration des services Azure** qui peuvent mener à un point d'accès à la page suivante :
|
||||
Trouvez des **erreurs de configuration d'autres services Azure** qui peuvent mener à un point d'appui sur la page suivante :
|
||||
|
||||
{{#ref}}
|
||||
az-unauthenticated-enum-and-initial-entry/
|
||||
@@ -91,7 +91,7 @@ Vérifiez :
|
||||
az-privilege-escalation/az-entraid-privesc/az-conditional-access-policies-mfa-bypass.md
|
||||
{{#endref}}
|
||||
|
||||
### Whoami
|
||||
### Qui suis-je
|
||||
|
||||
> [!CAUTION]
|
||||
> Apprenez **comment installer** az cli, AzureAD et Az PowerShell dans la section [**Az - Entra ID**](az-services/az-azuread.md).
|
||||
@@ -143,14 +143,14 @@ Get-AzureADTenantDetail
|
||||
|
||||
### Entra ID Enumeration & Privesc
|
||||
|
||||
Par défaut, tout utilisateur devrait avoir **suffisamment de permissions pour énumérer** des éléments tels que les utilisateurs, groupes, rôles, services principaux... (vérifiez [les permissions par défaut d'AzureAD](az-basic-information/index.html#default-user-permissions)).\
|
||||
Par défaut, tout utilisateur devrait avoir **suffisamment de permissions pour énumérer** des éléments tels que des utilisateurs, des groupes, des rôles, des services principaux... (voir [default AzureAD permissions](az-basic-information/index.html#default-user-permissions)).\
|
||||
Vous pouvez trouver ici un guide :
|
||||
|
||||
{{#ref}}
|
||||
az-services/az-azuread.md
|
||||
{{#endref}}
|
||||
|
||||
Vérifiez les **outils de Post-Exploitation** pour trouver des outils permettant d'escalader les privilèges dans Entra ID comme **AzureHound :**
|
||||
Vérifiez les **Post-Exploitation tools** pour trouver des outils permettant d'escalader les privilèges dans Entra ID comme **AzureHound :**
|
||||
|
||||
{{#ref}}
|
||||
az-enumeration-tools.md#automated-post-exploitation-tools
|
||||
@@ -165,29 +165,47 @@ Vous devriez commencer par découvrir les **permissions que vous avez** sur les
|
||||
|
||||
1. **Trouvez la ressource à laquelle vous avez accès** :
|
||||
|
||||
> [!TIP]
|
||||
> Cela ne nécessite aucune permission spéciale.
|
||||
|
||||
La commande Az PowerShell **`Get-AzResource`** vous permet de **savoir quelles ressources votre utilisateur actuel peut voir**.
|
||||
|
||||
De plus, vous pouvez obtenir les mêmes informations dans la **console web** en allant sur [https://portal.azure.com/#view/HubsExtension/BrowseAll](https://portal.azure.com/#view/HubsExtension/BrowseAll) ou en recherchant "Toutes les ressources" ou en exécutant :
|
||||
```bash
|
||||
az rest --method GET --url "https://management.azure.com/subscriptions/<subscription-id>/resources?api-version=2021-04-01"
|
||||
```
|
||||
2. **Trouvez les autorisations que vous avez sur les ressources auxquelles vous avez accès et trouvez les rôles qui vous sont assignés** :
|
||||
2. **Trouvez les autorisations que vous avez sur les ressources que vous pouvez voir** :
|
||||
|
||||
Notez que vous avez besoin de l'autorisation **`Microsoft.Authorization/roleAssignments/read`** pour exécuter cette action.
|
||||
> [!TIP]
|
||||
> Cela ne nécessite aucune autorisation spéciale.
|
||||
|
||||
De plus, avec suffisamment d'autorisations, le rôle **`Get-AzRoleAssignment`** peut être utilisé pour **énumérer tous les rôles** dans l'abonnement ou l'autorisation sur une ressource spécifique en l'indiquant comme dans :
|
||||
En parlant à l'API **`https://management.azure.com/{resource_id}/providers/Microsoft.Authorization/permissions?api-version=2022-04-01`**, vous pouvez obtenir les autorisations que vous avez sur la ressource spécifiée dans le **`resource_id`**.
|
||||
|
||||
Par conséquent, **en vérifiant chacune des ressources auxquelles vous avez accès**, vous pouvez obtenir les autorisations que vous avez sur elles.
|
||||
|
||||
> [!WARNING]
|
||||
> Vous pouvez automatiser cette énumération en utilisant l'outil **[Find_My_Az_Management_Permissions](https://github.com/carlospolop/Find_My_Az_Management_Permissions)**.
|
||||
|
||||
|
||||
<details>
|
||||
<summary>Énumérer les autorisations avec **`Microsoft.Authorization/roleAssignments/read`**</summary>
|
||||
|
||||
> [!TIP]
|
||||
> Notez que vous avez besoin de l'autorisation **`Microsoft.Authorization/roleAssignments/read`** pour exécuter cette action.
|
||||
|
||||
- Avec suffisamment d'autorisations, le rôle **`Get-AzRoleAssignment`** peut être utilisé pour **énumérer tous les rôles** dans l'abonnement ou l'autorisation sur une ressource spécifique en l'indiquant comme suit :
|
||||
```bash
|
||||
Get-AzRoleAssignment -Scope /subscriptions/<subscription-id>/resourceGroups/Resource_Group_1/providers/Microsoft.RecoveryServices/vaults/vault-m3ww8ut4
|
||||
```
|
||||
Il est également possible d'obtenir ces informations en exécutant :
|
||||
```bash
|
||||
az rest --method GET --uri "https://management.azure.com/<Scope>/providers/Microsoft.Authorization/roleAssignments?api-version=2020-08-01-preview" | jq ".value"
|
||||
az rest --method GET --uri "https://management.azure.com/<Scope>/providers/Microsoft.Authorization/roleAssignments?api-version=2022-04-01" | jq ".value"
|
||||
```
|
||||
comme dans :
|
||||
```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"
|
||||
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=2022-04-01" | jq ".value"
|
||||
```
|
||||
Une autre option est d'obtenir les rôles qui vous sont attachés dans azure avec :
|
||||
- Une autre option est de **récupérer les rôles qui vous sont attribués dans azure**. Cela nécessite également la permission **`Microsoft.Authorization/roleAssignments/read`** :
|
||||
```bash
|
||||
az role assignment list --assignee "<email>" --all --output table
|
||||
```
|
||||
@@ -195,14 +213,16 @@ Ou exécutez ce qui suit (Si les résultats sont vides, cela peut être parce qu
|
||||
```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. **Trouvez les autorisations granulaires des rôles qui vous sont attachés** :
|
||||
- **Trouvez les autorisations granulaires des rôles qui vous sont attachés** :
|
||||
|
||||
Ensuite, pour obtenir l'autorisation granulaire, vous pouvez exécuter **`(Get-AzRoleDefinition -Id "<RoleDefinitionId>").Actions`**.
|
||||
|
||||
Ou appelez directement l'API avec
|
||||
```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"
|
||||
az rest --method GET --uri "https://management.azure.com//subscriptions/<subscription-id>/providers/Microsoft.Authorization/roleDefinitions/<RoleDefinitionId>?api-version=2022-04-01" | jq ".properties"
|
||||
```
|
||||
</details>
|
||||
|
||||
Dans la section suivante, vous pouvez trouver **des informations sur les services Azure les plus courants et comment les énumérer** :
|
||||
|
||||
{{#ref}}
|
||||
|
||||
Reference in New Issue
Block a user