diff --git a/src/pentesting-cloud/azure-security/README.md b/src/pentesting-cloud/azure-security/README.md index ec20ca324..55c297cd0 100644 --- a/src/pentesting-cloud/azure-security/README.md +++ b/src/pentesting-cloud/azure-security/README.md @@ -10,17 +10,17 @@ Apprenez les bases d'Azure et d'Entra ID à la page suivante : az-basic-information/ {{#endref}} -## Méthodologie de Pentester/Red Team Azure +## Méthodologie de Pentesting/Red Team Azure 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, la **première étape pour compromettre un environnement Azure** est de réussir à obtenir un **point d'ancrage**. ### É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. +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'ancrage. -En fonction du nom de domaine, il est possible de savoir **si l'entreprise utilise Azure**, d'obtenir l'**ID de 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 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... Consultez la page suivante pour apprendre à effectuer l'**énumération externe** : @@ -28,7 +28,7 @@ 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 d'essayer d'obtenir un point d'accès sont : +Avec ces informations, les moyens les plus courants pour essayer d'obtenir un point d'ancrage 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 **mot de passe**, fuites ou [password spraying](az-unauthenticated-enum-and-initial-entry/az-password-spraying.md) - Acheter des identifiants à un employé @@ -43,19 +43,19 @@ Avec ces informations, les moyens les plus courants d'essayer d'obtenir un point - À 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 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.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 - **`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. - 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. -- Sur Linux et macOS, vous pouvez obtenir des **jetons d'accès, jetons de rafraîchissement et jetons d'identité** depuis Az PowerShell (s'il est utilisé) en exécutant `pwsh -Command "Save-AzContext -Path /tmp/az-context.json"` +- 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) -Trouvez d'autres **erreurs de configuration des services Azure** qui peuvent mener à un point d'accès à la page suivante : +Trouvez **d'autres erreurs de configuration des services Azure** qui peuvent mener à un point d'ancrage à la page suivante : {{#ref}} az-unauthenticated-enum-and-initial-entry/ @@ -72,7 +72,7 @@ Les outils suivants seront très utiles pour énumérer à la fois les locataire az-enumeration-tools.md {{#endref}} -### Contournement des conditions de connexion +### Contournement des politiques d'accès
@@ -85,6 +85,12 @@ Dans les cas où vous avez des identifiants valides mais que vous ne pouvez pas Après avoir contourné cela, vous pourriez être en mesure de revenir à votre configuration initiale et vous aurez toujours accès. +Vérifiez : + +{{#ref}} +az-privilege-escalation/az-entraid-privesc/az-conditional-access-policies-mfa-bypass.md +{{#endref}} + ### Whoami > [!CAUTION] @@ -135,23 +141,23 @@ Get-AzureADTenantDetail {{#endtabs }} -### Énumération d'Entra ID et élévation de privilèges +### Énumération Entra ID & Privesc -Par défaut, tout utilisateur devrait avoir **suffisamment de permissions pour énumérer** des éléments tels que les utilisateurs, groupes, rôles, principaux de service... (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 principaux de service... (vérifiez [les permissions par défaut d'AzureAD](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'élever les privilèges dans Entra ID comme **AzureHound :** +Vérifiez les **outils de Post-Exploitation** pour trouver des outils permettant d'escalader les privilèges dans Entra ID comme **AzureHound :** {{#ref}} az-enumeration-tools.md#automated-post-exploitation-tools {{#endref}} -### Énumérer les services Azure +### Énumération Azure Une fois que vous savez qui vous êtes, vous pouvez commencer à énumérer les **services Azure auxquels vous avez accès**. @@ -186,11 +192,11 @@ Dans la section suivante, vous pouvez trouver **des informations sur les service az-services/ {{#endref}} -### Élévation de privilèges, Post-Exploitation et Persistance dans les services Azure +### Escalade de Privilèges, Post-Exploitation & Persistance -Une fois que vous savez comment l'environnement Azure est structuré et quels services sont utilisés, vous pouvez commencer à chercher des moyens d'**élever les privilèges, de vous déplacer latéralement, d'effectuer d'autres attaques de post-exploitation et de maintenir la persistance**. +Une fois que vous savez comment est structuré l'environnement Azure et quels services sont utilisés, vous pouvez commencer à chercher des moyens d'**escalader les privilèges, de vous déplacer latéralement, d'effectuer d'autres attaques de post-exploitation et de maintenir la persistance**. -Dans la section suivante, vous pouvez trouver des informations sur la façon d'élever les privilèges dans les services Azure les plus courants : +Dans la section suivante, vous pouvez trouver des informations sur la façon d'escalader les privilèges dans les services Azure les plus courants : {{#ref}} az-privilege-escalation/ diff --git a/src/pentesting-cloud/azure-security/az-persistence/README.md b/src/pentesting-cloud/azure-security/az-persistence/README.md index 7ec99d20c..177b525d8 100644 --- a/src/pentesting-cloud/azure-security/az-persistence/README.md +++ b/src/pentesting-cloud/azure-security/az-persistence/README.md @@ -2,9 +2,9 @@ {{#include ../../../banners/hacktricks-training.md}} -### Consent Illicite +### OAuth Application -Par défaut, tout utilisateur peut enregistrer une application dans Azure AD. Vous pouvez donc enregistrer une application (uniquement pour le locataire cible) qui nécessite des autorisations à fort impact avec le consentement de l'administrateur (et l'approuver si vous êtes l'administrateur) - comme envoyer des mails au nom d'un utilisateur, gestion des rôles, etc. Cela nous permettra d'**exécuter des attaques de phishing** qui seraient très **fructueuses** en cas de succès. +Par défaut, tout utilisateur peut enregistrer une application dans Entra ID. Vous pouvez donc enregistrer une application (uniquement pour le locataire cible) qui nécessite des autorisations à fort impact avec le consentement de l'administrateur (et l'approuver si vous êtes l'administrateur) - comme envoyer des mails au nom d'un utilisateur, la gestion des rôles, etc. Cela nous permettra d'**exécuter des attaques de phishing** qui seraient très **fructueuses** en cas de succès. De plus, vous pourriez également accepter cette application avec votre utilisateur comme moyen de maintenir l'accès. diff --git a/src/pentesting-cloud/azure-security/az-services/az-azuread.md b/src/pentesting-cloud/azure-security/az-services/az-azuread.md index d392e4ccc..c2ecb7635 100644 --- a/src/pentesting-cloud/azure-security/az-services/az-azuread.md +++ b/src/pentesting-cloud/azure-security/az-services/az-azuread.md @@ -666,15 +666,15 @@ Get-AzureADApplication -ObjectId | Get-AzureADApplicationOwner |fl * > [!NOTE] > Une chaîne secrète que l'application utilise pour prouver son identité lors de la demande d'un jeton est le mot de passe de l'application.\ > Donc, si vous trouvez ce **mot de passe**, vous pouvez accéder en tant que **service principal** **à l'intérieur** du **tenant**.\ -> Notez que ce mot de passe n'est visible que lorsqu'il est généré (vous pouvez le changer mais vous ne pouvez pas le récupérer).\ +> Notez que ce mot de passe n'est visible que lors de sa génération (vous pouvez le changer mais vous ne pouvez pas le récupérer).\ > Le **propriétaire** de l'**application** peut **ajouter un mot de passe** à celle-ci (afin qu'il puisse l'usurper).\ > Les connexions en tant que ces services principaux ne sont **pas marquées comme risquées** et elles **n'auront pas de MFA.** Il est possible de trouver une liste d'ID d'application couramment utilisés appartenant à Microsoft sur [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) -### Identités gérées +### Identités Gérées -Pour plus d'informations sur les identités gérées, consultez : +Pour plus d'informations sur les Identités Gérées, consultez : {{#ref}} ../az-basic-information/ @@ -930,10 +930,10 @@ Lorsque PIM est activé, il est possible de configurer chaque rôle avec certain - Exiger une justification lors de l'activation - Exiger des informations de ticket lors de l'activation - Exiger une approbation pour activer -- Temps maximum pour expirer les attributions éligibles +- Temps maximal pour expirer les attributions éligibles - Beaucoup plus de configurations sur quand et qui envoyer des notifications lorsque certaines actions se produisent avec ce rôle -### Politiques d'Accès Conditionnel +### Politiques d'Accès Conditionnel Vérifiez : @@ -941,11 +941,11 @@ Vérifiez : ../az-privilege-escalation/az-entraid-privesc/az-conditional-access-policies-mfa-bypass.md {{#endref}} -### Protection des Identités Entra +### Protection des Identités Entra La Protection des Identités Entra est un service de sécurité qui permet de **détecter lorsqu'un utilisateur ou une connexion est trop risqué** pour être accepté, permettant de **bloquer** l'utilisateur ou la tentative de connexion. -Il permet à l'admin de le configurer pour **bloquer** les tentatives lorsque le risque est "Faible et au-dessus", "Moyen et au-dessus" ou "Élevé". Cependant, par défaut, il est complètement **désactivé** : +Il permet à l'admin de le configurer pour **bloquer** les tentatives lorsque le risque est "Faible et au-dessus", "Moyen et au-dessus" ou "Élevé". Bien que, par défaut, il soit complètement **désactivé** :