Dans un écosystème cloud où la moindre erreur de configuration peut exposer des volumes massifs de données, l’audit de sécurité ne peut plus être uniquement manuel. Pour un pentester ou un responsable SecOps, la question n’est plus seulement de savoir si une politique IAM est complexe, mais comment l’analyser efficacement.
Deux outils se distinguent pour auditer les environnements AWS : Pacu, le framework d’exploitation offensive de Rhino Security Labs, et CloudSplaining, l’outil d’analyse statique de Salesforce. Ensemble, ils permettent d’identifier, tester et corriger les failles de configuration et de permissions.
1. Pacu : le « Metasploit » de l’écosystème AWS
Pacu est un framework open source conçu pour l’exploitation offensive des infrastructures AWS. Contrairement à un simple scanner, Pacu permet de simuler de véritables chaînes d’attaque.
Pourquoi utiliser Pacu ?
Pacu est modulaire. Il permet de structurer une mission de pentest en phases logiques :
- Énumération : lister les utilisateurs, les rôles, les buckets S3 et les instances EC2.
- Analyse de privilèges : identifier ce que des clés compromises peuvent réellement faire.
- Exploitation : escalade de privilèges, exfiltration de données ou tests d’impact sur les services.
Installation et premiers pas
Pacu s’installe via Python. Une fois lancé, il crée une base de données locale pour stocker les résultats de session, ce qui limite les appels API répétés (et le bruit).
pip install pacu
python3 pacu.py
Modules clés à connaître
iam__enum_permissions: indispensable pour savoir quelles actions l’attaquant peut réaliser avec les identifiants en cours.iam__privesc_scan: parcourt automatiquement de nombreuses méthodes d’escalade de privilèges connues.s3__download_bucket: utile pour tester une exfiltration rapide depuis un bucket lorsque les droits le permettent.
2. CloudSplaining : l’analyse des politiques IAM
Si Pacu est orienté action, CloudSplaining est orienté analyse statique des politiques IAM (Identity and Access Management).
Le problème du « privilege creep »
Avec le temps, les politiques IAM deviennent denses. On voit souvent des permissions trop larges (Resource: *, wildcards sur les actions). CloudSplaining aide à repérer ces dérives.
Ce que CloudSplaining met en lumière
- Exfiltration de données : quelles politiques permettent de lire massivement dans S3, Lambda, etc. ?
- Modification d’infrastructure : qui peut supprimer ou altérer des ressources critiques (RDS, routes VPC, etc.) ?
- Escalade de privilèges : quelles politiques permettent de créer des utilisateurs ou des rôles plus puissants ?
Générer un rapport d’audit
L’intérêt majeur de CloudSplaining est son rapport HTML exploitable avec une direction technique ou un client.
cloudsplaining download --account-id 123456789012
cloudsplaining scan --input-file default.json
(Remplacez l’ID de compte par le vôtre ; exécutez uniquement sur des environnements pour lesquels vous avez l’autorisation.)
3. Workflow d’audit : combiner les deux approches
Pour un audit complet, une méthode hybride est souvent la plus parlante.
Phase 1 : analyse « passive » (CloudSplaining)
Récupérez les politiques IAM (export JSON conforme à votre processus) et passez-les dans CloudSplaining.
Objectif : identifier les rôles et politiques les plus « dangereux » sur le papier. Si un rôle de développeur dispose par exemple de iam:PassRole vers un rôle privilégié, c’est une piste prioritaire.
Phase 2 : vérification active (Pacu)
À partir d’un jeu d’identifiants représentatif (compte de test, rôle faible volontairement utilisé en lab), configurez une session Pacu.
- Exécuter
iam__enum_users_roles_policies(ou équivalent selon version). - Lancer
iam__privesc_scanpour vérifier si les risques théoriques se traduisent par une chaîne d’abus exploitable.
Objectif : prouver l’impact réel - par exemple : « ce rôle permet de devenir administrateur en quelques étapes », avec traces et recommandations.
4. Comparaison : Pacu et CloudSplaining
| Caractéristique | Pacu | CloudSplaining |
|---|---|---|
| Type d’outil | Actif / offensif | Passif / analytique |
| Cible principale | Infrastructure (API AWS) | Politiques IAM |
| Livrable typique | Preuve de chaîne d’abus | Rapport HTML de conformité |
| Usage idéal | Pentest, red team cloud | Audit configuration, SecOps |
| Complexité | Élevée (maîtrise AWS requise) | Plus accessible (lecture de rapport) |
5. Recommandations de remédiation
Après ces phases, la correction structure le résultat :
- Réduire les wildcards : remplacer les
*par des ARNs et des actions explicites lorsque c’est possible. - SCP (Organizations) : si vous utilisez AWS Organizations, des SCP peuvent interdire des actions critiques (ex. suppression centralisée des logs) même pour un administrateur de compte membre.
- Rotation des clés : identifier les clés d’accès anciennes et forcer la rotation ; privilégier les rôles temporaires là où c’est pertinent.
- IAM Access Analyzer : en complément, pour les partages de ressources inattendus vers l’extérieur du compte ou de l’organisation.
Conclusion
L’audit AWS ne se résume pas à cocher des cases. L’approche offensive de Pacu couplée à la lecture fine des politiques via CloudSplaining donne une vision à 360° de la posture IAM et de son exploitabilité. En intégrant ces pratiques dans vos contrôles réguliers, vous rapprochez conformité et réduction du risque réel.
Pour un accompagnement sur votre périmètre - audit IAM AWS, scénarios de test et rapport orienté remédiation - contactez CodiTrust.