Exploiter les mauvaises configurations d’IAM
Élévation de privilèges dans le cloud.
Exploiter les mauvaises configurations d’IAM est une leçon Cyber Security Academy gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Cyber Security Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Cyber Security Academy comprend 4 leçons au total.
IAM comme moteur d'élévation
Dans l'infonuagique, l'élévation de privilèges consiste généralement à exploiter les autorisations IAM plutôt qu'à exploiter des bogues de mémoire. Si une identité faiblement privilégiée peut modifier des politiques, créer des clés ou endosser des rôles, elle peut atteindre les privilèges d'administrateur.
- Les autorisations qui permettent de modifier IAM sont intrinsèquement dangereuses.
- Les chemins d'élévation relèvent de la logique des politiques, pas de vulnérabilités.
- La solution est le principe du moindre privilège, pas un correctif.
Autorisations dangereuses
Certaines actions IAM permettent une élévation directe. Surveillez celles-ci pour un principal que vous contrôlez :
iam:CreateAccessKeysur un autre utilisateur.iam:AttachUserPolicy/iam:PutUserPolicy(attacher AdministratorAccess).iam:CreatePolicyVersion(réécrire une politique existante).iam:PassRole+ un service de calcul (exécuter du code avec les privilèges d'un rôle).sts:AssumeRoleavec une politique de confiance faible.
Élévation par attachement de politique
Si votre identité peut s'attacher des politiques à elle-même, l'élévation ne nécessite qu'un seul appel. Vous attachez une politique d'administration gérée et héritez de tous les droits.
# Attach AdministratorAccess to yourself
aws iam attach-user-policy \
--user-name me \
--policy-arn arn:aws:iam::aws:policy/AdministratorAccessExploitation de PassRole
iam:PassRole vous permet de transmettre un rôle à un service. Combiné à un service qui exécute votre code (EC2, Lambda, Glue), il vous permet d'exécuter ce code avec les privilèges de ce rôle, même si celui-ci dispose de privilèges bien plus élevés que les vôtres.
# Launch a Lambda that assumes a privileged role you can pass
aws lambda create-function --function-name esc \
--role arn:aws:iam::111:role/AdminRole \
--runtime python3.12 --handler h.run --zip-file fileb://code.zipRestauration d'une version de politique
iam:CreatePolicyVersion ou SetDefaultPolicyVersion vous permet de remplacer le document actif d'une politique ou de revenir à une version antérieure plus permissive, accordant ainsi un accès étendu sans modifier l'appartenance aux groupes.
# Make a new, permissive default version of an existing policy
aws iam create-policy-version \
--policy-arn arn:aws:iam::111:policy/devs \
--policy-document file://admin.json --set-as-defaultExploitation de la politique de confiance et de AssumeRole
Les politiques de confiance des rôles définissent qui peut les endosser. Des conditions de confiance faibles permettent une prise de contrôle.
- Un rôle qui fait confiance à
*ou à un compte entier peut être endossé de manière très large. - Si vous pouvez modifier la politique de confiance d'un rôle, ajoutez-vous comme principal de confiance.
- Problème de mandataire confus : des identifiants externes manquent sur les rôles d'intégration tiers.
# Assume a poorly-scoped role
aws sts assume-role \
--role-arn arn:aws:iam::111:role/CrossAccountAdmin \
--role-session-name ptÉquivalents entre fournisseurs
Les mêmes schémas apparaissent chez les différents fournisseurs.
- Azure : attribution du rôle Administrateur de l'accès utilisateur ou Propriétaire ; exploitation de l'identité managée ; ajout d'identifiants à un principal de service.
- GCP :
iam.serviceAccounts.actAsassocié à un service de calcul ;setIamPolicysur un projet ; création de clés de compte de service.
# GCP: impersonate a privileged service account
gcloud compute instances create esc --service-account priv@proj.iam.gserviceaccount.com --scopes cloud-platformOutils de découverte des chemins
Plutôt que de deviner, utilisez des outils pour faire apparaître les chemins d'élévation possibles depuis votre identité actuelle.
# Pacu (AWS exploitation framework) escalation module
pacu
run iam__privesc_scan
# PMapper query for escalation
pmapper query 'preset privesc me'Enchaînement vers le plan de contrôle
L'élévation transforme souvent un accès au plan de données en pouvoir sur le plan de contrôle.
- Compromettre une VM et voler ses identifiants de rôle d'instance dans les métadonnées.
- Le rôle de l'instance dispose de
PassRoleet de Lambda, ce qui permet d'exécuter des actions avec un rôle d'administrateur. - Depuis le compte administrateur, créer des clés d'accès persistantes pour rester discret.
Chaque maillon constitue une constatation distincte à signaler.
Défendre IAM
La prévention repose sur le principe du moindre privilège et sur des garde-fous.
- Supprimez les caractères génériques ; restreignez étroitement la portée des actions et des ressources.
- Utilisez des limites d'autorisations et des politiques de contrôle des services pour plafonner les privilèges maximaux.
- Exigez des identifiants externes pour les rôles tiers ; limitez les politiques de confiance.
- Privilégiez les identifiants de rôle à durée de vie courte plutôt que les clés à longue durée de vie.
- Utilisez des analyseurs d'accès pour signaler les autorisations risquées et inutilisées.
Exécution éthique
L'élévation IAM peut donner un contrôle sur l'ensemble du compte. Arrêtez-vous à la preuve de concept : démontrez le chemin sans créer de portes dérobées persistantes ni modifier des politiques de production que vous ne pouvez pas rétablir. Rétablissez toujours les modifications apportées aux politiques ou aux rôles et supprimez les clés que vous créez.
Coordonnez à l'avance avec le client les étapes perturbatrices, comme la réécriture d'une politique partagée.
Vérification rapide
Vérifiez vos connaissances sur l'élévation IAM.
Récapitulatif
Vous avez appris comment les erreurs de configuration d'IAM permettent d'élever les privilèges.
- L'attachement de politiques, PassRole, la restauration de versions et AssumeRole constituent les principaux chemins.
- Les mêmes schémas se retrouvent dans AWS, Azure et GCP.
- Pacu et PMapper découvrent automatiquement les chemins possibles.
- Le principe du moindre privilège, les limites d'autorisations et les identifiants externes constituent les défenses.
Ensuite : assurer la persistance et le déplacement latéral entre les comptes infonuagiques.
Questions Fréquemment Posées
La leçon « Exploiter les mauvaises configurations d’IAM » est-elle gratuite ?
Oui — le texte complet de « Exploiter les mauvaises configurations d’IAM » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Cyber Security Academy, passe à CoddyKit PRO. Le cours Cyber Security Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Exploiter les mauvaises configurations d’IAM » ?
Élévation de privilèges dans le cloud. Tu pratiques Cyber Security Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Cyber Security Academy ?
Aucune expérience préalable n'est requise. Cyber Security Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.
Combien de temps prend la leçon « Exploiter les mauvaises configurations d’IAM » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Cyber Security Academy ?
Oui. Chaque leçon Cyber Security Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Surface d’attaque du cloud
- Énumérer les ressources cloud
- Exploiter les mauvaises configurations d’IAM
- Persistance et déplacement latéral