Pentest AWS : techniques et outils offensifs
Comprendre Pentest AWS
Définition
Le pentest AWS désigne l'évaluation offensive de la sécurité des environnements Amazon Web Services. Il couvre les techniques d'attaque spécifiques au cloud d'Amazon : escalade de privilèges IAM, mauvaises configurations S3, exposition de métadonnées EC2, abus de rôles Lambda et détournement de ressources inter-comptes. Contrairement à un pentest réseau classique, le périmètre est défini par des API, des politiques JSON et des mécanismes d'identité fédérée. Une politique IAM trop permissive suffit à compromettre l'intégralité d'un compte. Les vecteurs d'entrée courants incluent des clés d'accès exposées dans des dépôts Git, des buckets S3 publics, et le service de métadonnées IMDS accessible sans IMDSv2. AWS impose des conditions d'utilisation précises pour les tests : aucune autorisation préalable n'est requise pour tester ses propres ressources, mais certains services restent hors périmètre. La surface d'attaque est large, dynamique et souvent mal cartographiée par les équipes internes, ce qui rend ce type d'audit particulièrement critique pour toute organisation migrant vers AWS.
Détection (Blue Team / SOC)
La détection côté Blue Team repose principalement sur AWS CloudTrail, qui journalise l'ensemble des appels d'API. Les événements à surveiller en priorité incluent 'AssumeRole' depuis des sources inhabituelles, 'GetCallerIdentity' utilisé en phase de reconnaissance, 'ListBuckets', 'DescribeInstances' et toute action 'iam:CreateAccessKey' ou 'iam:AttachUserPolicy'. Une multiplication soudaine d'appels refusés ('AccessDenied') sur des API sensibles est un indicateur fort d'énumération automatisée. AWS GuardDuty détecte les comportements anormaux comme l'accès aux métadonnées EC2 depuis un processus inattendu ou l'exfiltration de credentials. Amazon Detective permet de corréler ces événements dans le temps. Côté SIEM, l'ingestion des logs CloudTrail via S3 vers Splunk ou Elastic permet de créer des règles de détection sur les patterns d'escalade de privilèges. Les indicateurs de compromission incluent des clés IAM utilisées depuis des plages IP inconnues, des régions non utilisées habituellement, ou des horaires hors activité normale. La configuration de AWS Config Rules permet aussi de détecter en temps réel les dérives de configuration sur les groupes de sécurité et les politiques de bucket S3.
Exploitation & contre-mesures (Red Team)
Côté Red Team, l'outil Pacu est le framework de référence pour le pentest AWS. Il propose des modules couvrant l'énumération IAM, l'escalade de privilèges, la persistance via Lambda backdoor et l'exfiltration de données S3. ScoutSuite automatise l'audit multi-cloud et génère un rapport des mauvaises configurations sur l'ensemble des services AWS. Les techniques d'escalade de privilèges IAM les plus exploitées incluent 'iam:PassRole' combiné à 'lambda:CreateFunction' pour exécuter du code sous un rôle plus permissif, ou l'abus de 'sts:AssumeRole' sur des rôles de confiance mal configurés. L'accès au service de métadonnées EC2 (IMDS v1) sans token permet de récupérer les credentials temporaires du rôle d'instance via une requête HTTP vers '169.254.169.254'. Pour le durcissement, l'application du principe de moindre privilège sur chaque politique IAM est fondamentale. L'activation obligatoire d'IMDSv2, la suppression des clés d'accès longue durée au profit de rôles IAM, le chiffrement des buckets S3 avec blocage public explicite, et l'activation de CloudTrail multi-régions avec intégrité des logs constituent les contre-mesures prioritaires à déployer avant tout passage en production.
Articles sur Pentest AWS
Wildcards IAM, rôles assumables sans condition, clés root non rotées : comment ces erreurs ouvrent la voie à une prise de contrôle totale du compte AWS.