Skip to content

Cet outil n’est ni affilié à Amazon Web Services, Inc. ou Amazon.com, Inc., ni approuvé ou sponsorisé par ces sociétés. AWS, Amazon Web Services, CloudTrail et GuardDuty sont des marques d’Amazon.com, Inc. ou de ses sociétés affiliées. Les autres noms sont des marques de leurs propriétaires respectifs.

CloudTrail · VPC Flow Logs · S3 · GuardDuty · IAM

Notre compte AWS a-t-il été compromis ?

Déposez vos logs CloudTrail (ainsi que VPC Flow Logs, journaux d’accès S3, détections GuardDuty ou le rapport d’identifiants IAM) et obtenez un verdict, les détections, une chronologie de l’incident et une checklist de remédiation. Analyse dans votre navigateur avec WebAssembly — rien n’est envoyé.

Déposez ici vos exports de logs AWS

Fichiers CloudTrail .json.gz ou un dossier AWSLogs/ complet, historique des événements (JSON ou CSV), CSV CloudTrail Lake, VPC Flow Logs, journaux d’accès serveur S3, détections GuardDuty en JSON, rapport d’identifiants IAM — en vrac, dans des dossiers ou dans un ZIP. Les exports de plusieurs Go sont traités en flux.

Un export synthétique d’un incident fictif (clé d’accès divulguée → administrateur backdoor → GuardDuty désactivé → vol de données S3 → minage de cryptomonnaie). Aucune donnée réelle.

Pas encore de logs ? Comment les obtenir

100 % côté client : les logs sont analysés par WebAssembly dans votre navigateur et ne sont jamais envoyés.

Comment récupérer vos logs

Environ deux minutes avec l’AWS CLI. Collectez le plus possible, le plus tôt possible : les attaquants suppriment les trails, et l’historique des événements ne conserve que 90 jours. Gardez les fichiers tels quels (le .json.gz compressé convient).

  1. 1. CollecterUne commande à lancer, ou un téléchargement depuis la console
  2. 2. DéposerLe dossier aws-logs, ses fichiers ou un ZIP, ici même
  3. 3. Reste en localAnalysé dans votre navigateur, jamais envoyé

Trail CloudTrail dans S3 — meilleure sourceRecommandé

Prérequis : AWS CLI v2 connectée avec un accès en lecture au bucket S3 du trail (ReadOnlyAccess suffit ; plus kms:Decrypt si le bucket utilise SSE-KMS).

bash / zsh / CloudShell
B=$(aws cloudtrail describe-trails --query 'trailList[0].S3BucketName' --output text) && aws s3 sync "s3://$B" ./aws-logs/cloudtrail --exclude '*' --include "*/CloudTrail/*/$(date -u +%Y/%m)/*"

PowerShell
$b = aws cloudtrail describe-trails --query "trailList[0].S3BucketName" --output text; aws s3 sync "s3://$b" .\aws-logs\cloudtrail --exclude "*" --include "*/CloudTrail/*/$(Get-Date -UFormat '%Y/%m')/*"

Télécharge les logs du mois en cours du premier trail dans aws-logs/cloudtrail : toutes les régions, et tous les comptes d’un trail d’organisation. Pour un mois antérieur, remplacez la partie date par exemple par 2026/08. Plusieurs trails ? aws cloudtrail describe-trails liste leurs buckets.

Pas de trail ? Téléchargez l’historique des événements

Prérequis : Un accès console autorisé à consulter l’historique des événements CloudTrail.

  1. Console CloudTrail → Event history (Historique des événements).
  2. Retirez le filtre « Read-only: false » pour inclure les événements de lecture (la reconnaissance de l’attaquant), puis choisissez la période.
  3. Download events → Download as JSON (le CSV fonctionne aussi).
  4. Recommencez dans chaque région utilisée : l’historique est propre à chaque région.

Pas de CLI installée ? Lancez les commandes dans AWS CloudShell (barre d’outils de la console), zippez le dossier, puis Actions → Download file :

bash / zsh / CloudShell
zip -r aws-logs.zip aws-logs

Pièges

  • L’historique des événements ne garde que 90 jours d’événements de gestion, par région, sans événements de données S3 : le bucket d’un trail est toujours préférable.
  • Collectez avant de contenir : les attaquants arrêtent les trails et désactivent GuardDuty, et le filtre par défaut « Read-only: false » de la console masque leur reconnaissance.
  • Incluez quelques jours calmes avant l’incident : « nouvelle IP » et « nouvelle région » se comparent au premier jour des logs. Les horodatages AWS sont en UTC.

Comment savoir si un compte AWS a été compromis ?

Presque toute compromission AWS laisse une trace dans CloudTrail : l’appel d’API qui a confirmé qu’une clé volée fonctionne, la rafale d’appels List et Describe qui cartographie le compte, l’utilisateur IAM créé comme backdoor, le détecteur GuardDuty supprimé, les instances GPU lancées dans une région que personne n’utilise. Le plus difficile est de retrouver ces quelques événements parmi des millions.

Cet outil lit vos exports dans le navigateur, exécute un ensemble de détections écrites sous forme de règles vérifiables (correspondances de champs, seuils, techniques MITRE ATT&CK) et rend un verdict — Sain, Suspect ou Compromis — avec les lignes de preuve derrière chaque détection, une chronologie de l’incident, un pivot sur chaque principal, clé, IP et ressource, et une checklist de remédiation.

Ce qu’il détecte

  • Accès initial : clés d’accès à long terme soudainement utilisées depuis une nouvelle adresse IP, utilisation du compte root, connexions à la console sans MFA, rafales d’échecs de connexion.
  • Reconnaissance : GetCallerIdentity avec une clé à long terme, rafales d’énumération (des dizaines d’appels List/Describe/Get différents en quelques minutes), avalanches d’AccessDenied, user agents Kali / Pacu / CloudFox.
  • Persistance et élévation de privilèges : CreateUser, clés d’accès créées pour un autre utilisateur, politiques AdministratorAccess ou *:*, mots de passe console, modifications de relations d’approbation de rôles, nouveaux fournisseurs SAML / OIDC, fonctions Lambda publiques, user data EC2 et paires de clés.
  • Contournement des défenses : CloudTrail arrêté ou supprimé, GuardDuty, Config, Security Hub désactivés, journalisation des accès S3 et VPC Flow Logs supprimés, groupes de sécurité ouverts sur Internet.
  • Vol de données : buckets rendus publics, snapshots partagés avec d’autres comptes, téléchargements S3 massifs (événements de données CloudTrail ou journaux d’accès S3), transferts sortants volumineux dans les VPC Flow Logs, lecture massive de secrets.
  • Impact et abus de coûts : instances GPU lancées, demandes d’augmentation de quota, activité dans des régions jusque-là inutilisées, connexions à des pools de minage, suppressions massives, clés KMS programmées pour suppression.

Limites

  • Les détections orientent, elles ne prouvent pas : chaque détection affiche ses preuves pour que vous puissiez la confirmer. Une administration légitime peut ressembler à une attaque, et un attaquant prudent peut rester sous les seuils.
  • Sans événements de données S3 ni journaux d’accès S3, la lecture de données dans les buckets est invisible ; sans VPC Flow Logs, l’exfiltration réseau l’est aussi.
  • Les détections « nouvelle IP » et « nouvelle région » comparent avec le premier jour des logs fournis : incluez quelques jours calmes avant l’incident.
  • Pas de géolocalisation IP ni de recherche d’ASN (cela nécessiterait une base de données ou un service en ligne) : les nouveaux pays ne sont pas encore détectés.
  • Les logs ALB, CloudFront et Parquet sont reconnus mais pas encore analysés.

FAQ

Mes logs sont-ils envoyés quelque part ?

Non. L’analyseur est écrit en Rust compilé en WebAssembly et s’exécute dans un Web Worker de votre navigateur. Les fichiers sont lus en flux depuis votre disque et décompressés localement ; il n’existe aucun point d’envoi.

Comment enquêter sur une clé d’accès AWS divulguée ?

Désactivez d’abord la clé, puis déposez les logs CloudTrail couvrant toute sa durée de vie. Pivotez sur la clé dans l’onglet Entités : l’outil signale sa première utilisation depuis une nouvelle adresse IP, les appels effectués depuis celle-ci (reconnaissance, modifications IAM, accès aux données) et tout ce que la clé a créé — utilisateurs, clés, instances — pour que vous puissiez tout nettoyer, pas seulement la clé.

Peut-il traiter un export CloudTrail de plusieurs gigaoctets ?

Oui. Les fichiers sont lus par blocs et le gzip est décompressé en flux, la mémoire reste donc bornée. Chaque enregistrement passe par les détections ; pour les très gros volumes, l’explorateur d’événements conserve les événements notables et toutes les preuves.

Quelles règles utilise-t-il ?

Une cinquantaine de détections écrites sous forme de données (correspondances de champs, seuils sur fenêtre glissante, agrégats) avec les identifiants de techniques MITRE ATT&CK, dans l’esprit des règles Sigma. Elles sont consultables dans le fichier de règles open source et couvrent les scénarios d’attaque AWS courants : clés divulguées, persistance IAM, contournement des défenses, vol de données et minage de cryptomonnaie.

Le verdict indique une compromission — que faire ?

Confinez d’abord : désactivez les clés divulguées, supprimez les utilisateurs et clés backdoor, arrêtez les instances de l’attaquant — la checklist de remédiation les liste à partir des détections. Préservez les logs avant toute autre modification, puis délimitez le périmètre de l’incident. Le guide AWS Security Incident Response Guide décrit l’ensemble du processus.

Est-ce un produit Amazon ?

Non. C’est un outil indépendant, ni affilié à Amazon Web Services, ni approuvé ou sponsorisé par celui-ci.

Que faire ensuite

Utilisez la checklist de remédiation que l’outil construit à partir des détections (confinement d’abord), conservez une copie des logs d’origine, puis suivez la documentation officielle d’AWS sur la réponse à incident :

Ce que CloudTrail, les VPC Flow Logs et les journaux d'accès S3 n'enregistrent pas, où les références échouent, et comment conclure honnêtement sans preuves.
Un incident AWS fictif analysé à partir des journaux : clé divulguée, reconnaissance, admin backdoor, GuardDuty supprimé, 320 objets S3 volés, minage GPU.
Lire les VPC Flow Logs en investigation : champs clés, volume sortant par destination, ports de pools de minage, ce qu'ils n'enregistrent pas et les pièges.

Cet outil n’est ni affilié à Amazon Web Services, Inc. ou Amazon.com, Inc., ni approuvé ou sponsorisé par ces sociétés. AWS, Amazon Web Services, CloudTrail et GuardDuty sont des marques d’Amazon.com, Inc. ou de ses sociétés affiliées. Les autres noms sont des marques de leurs propriétaires respectifs.