From 75c1c65642e7fb128e2892509eb83429d9d75451 Mon Sep 17 00:00:00 2001 From: Translator Date: Tue, 4 Mar 2025 22:09:21 +0000 Subject: [PATCH] Translated ['src/pentesting-cloud/azure-security/README.md'] to fr --- src/SUMMARY.md | 5 +- src/pentesting-cloud/azure-security/README.md | 72 ++++++++++++------- 2 files changed, 50 insertions(+), 27 deletions(-) diff --git a/src/SUMMARY.md b/src/SUMMARY.md index 54f1ce76a..5939f1183 100644 --- a/src/SUMMARY.md +++ b/src/SUMMARY.md @@ -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) diff --git a/src/pentesting-cloud/azure-security/README.md b/src/pentesting-cloud/azure-security/README.md index 4231d6457..b95eba6e6 100644 --- a/src/pentesting-cloud/azure-security/README.md +++ b/src/pentesting-cloud/azure-security/README.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 **`/.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\\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\\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\\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//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)**. + + +
+Énumérer les autorisations avec **`Microsoft.Authorization/roleAssignments/read`** + +> [!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//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//providers/Microsoft.Authorization/roleAssignments?api-version=2020-08-01-preview" | jq ".value" +az rest --method GET --uri "https://management.azure.com//providers/Microsoft.Authorization/roleAssignments?api-version=2022-04-01" | jq ".value" ``` comme dans : ```bash -az rest --method GET --uri "https://management.azure.com//subscriptions//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//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 "" --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//providers/Microsoft.Authorization/roleAssignments?api-version=2022-04-01&$filter=principalId eq '' ``` -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 "").Actions`**. Ou appelez directement l'API avec ```bash -az rest --method GET --uri "https://management.azure.com//subscriptions//providers/Microsoft.Authorization/roleDefinitions/?api-version=2020-08-01-preview" | jq ".properties" +az rest --method GET --uri "https://management.azure.com//subscriptions//providers/Microsoft.Authorization/roleDefinitions/?api-version=2022-04-01" | jq ".properties" ``` +
+ Dans la section suivante, vous pouvez trouver **des informations sur les services Azure les plus courants et comment les énumérer** : {{#ref}}