Audit de Sécurité AWS : Maîtriser Pacu et CloudSplaining
Dans un écosystème cloud où la moindre erreur de configuration peut exposer des téraoctets de données, l’audit de sécurité ne peut plus être manuel. Pour un pentester ou un responsable SecOps, la question n’est plus de savoir si une politique IAM est complexe, mais de savoir comment l’analyser efficacement.
Deux outils se distinguent aujourd’hui 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 forment un duo redoutable pour identifier, tester et corriger les failles de sécurité.
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 diviser 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 les clés compromises peuvent réellement faire.
- Exploitation : Escalade de privilèges, exfiltration de données ou interruption de services.
Installation et Premier Pas
Pacu s’installe facilement via Python. Une fois lancé, il crée une base de données locale pour stocker les résultats de votre session, ce qui évite de refaire des appels API inutiles (et bruyants).
pip install pacu
python3 pacu.py
Les modules clés à connaître
iam__enum_permissions: Indispensable pour savoir quelles actions l’attaquant peut effectuer avec les clés actuelles.iam__privesc_scan: Scanne automatiquement 20+ méthodes d’escalade de privilèges connues.s3__download_bucket: Permet de tester l’exfiltration rapide de données.
2. CloudSplaining : L’analyse chirurgicale des politiques IAM
Si Pacu est l’épée, CloudSplaining est le scalpel. Développé par Salesforce, cet outil se concentre sur l’analyse statique des politiques IAM (Identity and Access Management).
Le problème de la « Privilege Creep »
Avec le temps, les politiques IAM deviennent denses et illisibles. On finit souvent par accorder des permissions Resource: * ou des actions * (wildcards) par facilité. CloudSplaining identifie précisément ces dérives.
Ce que CloudSplaining met en lumière :
- Data Exfiltration : Quelles politiques permettent de lire dans S3 ou Lambda ?
- Infrastructure Modification : Qui peut supprimer des bases de données RDS ou modifier des routes VPC ?
- Privilege Escalation : Quelles politiques permettent de créer de nouveaux utilisateurs avec des droits admins ?
Générer un rapport d’audit
L’avantage majeur de CloudSplaining est son rapport HTML interactif, parfait pour être présenté à un client ou une direction technique.
cloudsplaining download --account-id 123456789012
cloudsplaining scan --input-file default.json
3. Workflow d’Audit : Combiner les deux mondes
Pour un audit complet, il est recommandé de suivre cette méthodologie hybride :
Phase 1 : Analyse Passive (CloudSplaining)
Commencez par récupérer le fichier JSON de toutes les politiques IAM du compte. Passez-le dans CloudSplaining.
Objectif : Identifier les rôles les plus « dangereux » sur papier. Si un rôle de développeur a des droits
iam:PassRole, c’est votre cible prioritaire.
Phase 2 : Vérification Active (Pacu)
Utilisez les identifiants d’un utilisateur identifié comme « faible » par CloudSplaining et configurez une session Pacu.
- Exécutez
iam__enum_users_roles_policies. - Lancez
iam__privesc_scanpour voir si les prédictions théoriques de CloudSplaining sont exploitables techniquement.
Objectif : Prouver l’impact réel. « Oui, ce rôle permet bien de devenir Administrateur en 2 commandes. »
4. Comparaison technique : Pacu vs CloudSplaining
| Caractéristique | Pacu | CloudSplaining |
| Type d’outil | Actif / Offensif | Passif / Analytique |
| Cible principale | Infrastructure complète | Politiques IAM uniquement |
| Livrable | Preuve de concept (PoC) | Rapport de conformité HTML |
| Utilisation idéale | Pentest, Red Teaming | Audit de configuration, SecOps |
| Complexité | Élevée (nécessite des connaissances AWS) | Simple (lecture de rapport) |
5. Recommandations de remédiation
Après avoir utilisé ces outils, la phase de correction est cruciale :
- Supprimer les Wildcards (
*) : Remplacez les permissions globales par des ressources spécifiques (ARNs). - Mettre en place des Service Control Policies (SCP) : Si vous êtes dans une AWS Organization, utilisez les SCP pour interdire les actions critiques (ex: empêcher la suppression des logs CloudTrail) même pour un administrateur.
- Rotation des clés : Utilisez Pacu pour identifier les clés d’accès anciennes (plus de 90 jours) et forcez leur rotation via IAM.
- Utiliser IAM Access Analyzer : Complétez votre audit avec l’outil natif d’AWS pour détecter les partages de ressources hors de votre organisation.
Conclusion
L’audit AWS ne se résume pas à cocher des cases. L’agressivité de Pacu couplée à la précision de CloudSplaining offre une visibilité à 360° sur votre posture de sécurité. En intégrant ces outils dans vos routines trimestrielles, vous transformez une infrastructure vulnérable en une forteresse cloud résiliente.