Analyser les journaux d'audit Google Workspace pas à pas
Pas à pas : chargez vos exports d'audit Google Workspace dans un analyseur gratuit côté navigateur, lisez verdict et preuves, bâtissez la chronologie, remédiez.
En bref. Déposez vos exports Workspace (CSV de la console, JSON de l'API Reports, CSV de GAM, JSON des paramètres Gmail ; en vrac, zippés ou gzippés) sur la page d'accueil de l'analyseur. Vous obtenez un verdict motivé, des constats rattachés à MITRE ATT&CK avec leurs preuves en un clic, une chronologie de l'incident, un pivot par entité et une checklist de remédiation. Tout tourne en WebAssembly dans votre navigateur : les journaux ne quittent jamais votre machine. Cinq minutes avec le bouton « Essayer un exemple » montrent tout le déroulé sur un cas fictif.
C'est le compagnon pratique du guide d'investigation. Il explique ce que l'outil fait de chaque fichier, comment lire ses résultats et où s'arrête son jugement.
Avant de commencer : quoi collecter
Le verdict ne vaut que ce que valent les entrées. Le minimum pour une boîte mail suspecte :
| Entrée | Pourquoi |
|---|---|
| Journal des connexions (User log) | Connexions à risque, changements 2SV |
| Journal des comptes utilisateur | email_forwarding_out_of_domain |
| Journal des jetons OAuth | Autorisations et usage API des applications tierces |
| Journal Gmail | Messages transférés automatiquement, archivés, envoyés |
| Paramètres Gmail de la boîte | Filtres, transfert, délégués, envoi en tant que |
Ajoutez Drive, Admin, SAML, Takeout et Groups pour mesurer la portée. Comment obtenir chacun : exporter les journaux d'audit Google Workspace.
Étape 1 : charger les fichiers
Ouvrez la page d'accueil et déposez tout ce que vous avez : fichiers isolés, dossier, ZIP, .gz, le tout mélangé. L'outil :
- reconnaît les exports CSV de la console à leurs en-têtes et libellés d'événements anglais (« Successful login », « Download »…) et les retraduit en noms d'API ;
- lit les CSV de GAM
gam report …(id.time,actor.email,name…) ; - lit les pages
activities.listde l'API Reports, en tableaux ou en JSON Lines, en aplatissant les paramètres imbriqués ; - lit les réponses de paramètres de l'API Gmail et déduit le propriétaire de la boîte du nom du dossier (
gmail-settings/jane@example.com/filters.json).
Les fichiers sont lus en flux, par blocs de 4 Mio, dans un Web Worker : des exports de plusieurs gigaoctets passent. Au-delà de 200 000 événements, seuls ceux qu'une règle peut utiliser sont conservés pour l'affichage, avec un plafond de 600 000 (tous restent comptés). Ajouter des fichiers plus tard relance l'analyse sur l'ensemble.
Étape 2 : lire le verdict, puis la couverture
Le verdict a trois niveaux :
- Compromis : un constat critique (une chaîne de corrélation) s'est déclenché, ou des constats de gravité élevée de deux catégories différentes touchent le même compte.
- Suspect : au moins un constat de gravité moyenne ou élevée.
- Sain : rien ne s'est déclenché. Ce n'est pas une preuve d'absence.
Lisez juste après le panneau de couverture. Il liste chaque source avec son nombre d'événements et sa période, et les sources non fournies. Un résultat « sain » sans journal OAuth ni paramètres Gmail signifie que deux des trois mécanismes de persistance habituels n'ont pas été examinés.
Étape 3 : examiner chaque constat et ses preuves
L'onglet Constats trie les détections par gravité. Chaque constat indique le compte, la période, le nombre d'événements, un résumé des valeurs distinctes (IP, scopes, critères de filtre, destinataires) et ses techniques MITRE ATT&CK. Voir les preuves filtre le tableau des événements sur exactement ceux qui le fondent.
Les 37 règles sont du JSON lisible dans le dépôt source (rules.json). Les grandes familles :
| Famille | Exemples de déclenchement | Réglages dans le fichier de règles |
|---|---|---|
| Connexion | Événements Google de connexion suspecte et de mot de passe divulgué ; réussite depuis un ASN d'hébergeur ; nouveau pays ; voyage impossible ; rafale d'échecs | Nouveau pays : 3 connexions antérieures requises ; voyage > 500 km à > 900 km/h ; 10 échecs en 10 min |
| Compte | 2SV désactivée ; e-mail/téléphone de récupération modifié | — |
| Messagerie | Transfert externe ; filtres qui transfèrent vers l'extérieur ou masquent le courrier financier ; délégués ; « envoyer en tant que » externe ; messages transférés automatiquement ; courrier financier mis à la corbeille en masse ; e-mail sortant « coordonnées bancaires » | Mots-clés financiers EN/FR/DE/ES ; 3 messages masqués en 24 h |
| OAuth | Scopes Gmail, Drive ou admin accordés ; API Gmail utilisée en volume ; délégation au niveau du domaine ; mise en liste de confiance d'applications | 20 appels API Gmail en 60 min par utilisateur et application |
| Drive | Téléchargement massif ; rafales de partages externes ; fichiers publics ; transfert de propriété ; Takeout | 20 téléchargements en 15 min ; 10 partages externes en 30 min |
| Admin | Super-admin ; rôles ; SSO ; routage du courrier / surveillance d'e-mails ; réinitialisation de mot de passe ; utilisateur créé ; membre de groupe externe | — |
| Chaînes | Connexion à risque → persistance dans la boîte (BEC) ; connexion à risque → changement admin/sécurité | Fenêtre de 14 jours, même compte |
Pour chaque constat, posez la question évidente au titulaire du compte. Un voyage, une sortie VPN ou une application approuvée expliquent beaucoup de constats isolés. Ils n'expliquent pas une chaîne.
Étape 4 : bâtir la chronologie et pivoter
L'onglet Chronologie de l'incident liste, dans l'ordre, chaque événement qui soutient un constat, avec les rafales regroupées (par exemple « ×24 events » pour une rafale de téléchargements). Les paramètres Gmail sont des instantanés sans horodatage, ils viennent donc en dernier. Basculez entre UTC et heure locale avant d'écrire quoi que ce soit.
L'onglet Entités est là où l'on mesure la portée :
- Utilisateurs : nombre d'événements, première et dernière apparition, IP, pays, constats ;
- Adresses IP : ASN, étiquette d'hébergeur, utilisateurs vus, signalée ou non. Pivotez de l'IP de l'attaquant vers tous les autres comptes qu'elle a touchés ;
- Applications OAuth : scopes, autorisations, appels API. L'application leurre a-t-elle atteint d'autres utilisateurs ?
- Fichiers Drive : téléchargements et changements de partage par fichier ;
- Adresses externes : cibles de transfert, transferts par filtre, délégués, « envoyer en tant que », destinataires de courriers signalés, partages Drive, membres de groupes.
L'onglet Tous les événements offre un filtre plein texte, un interrupteur « Signalés uniquement », le tri et l'export CSV. Les cellules exportées sont protégées contre l'injection de formules dans les tableurs.
Étape 5 : dérouler la checklist de remédiation
L'onglet Remédiation transforme les constats en étapes ordonnées. Contenir la session, réinitialiser le mot de passe, revoir la 2SV, supprimer transferts, filtres et délégués, révoquer puis bloquer l'application, revoir la délégation au niveau du domaine, les admins et le SSO, revoir les partages Drive et Takeout, prévenir les fournisseurs, vérifier les paiements, préserver les journaux, bloquer les IP. Chaque étape indique de quels constats elle découle. La logique de cet ordre est expliquée dans la checklist de la première heure. Les cases cochées restent sur la page uniquement.
Enfin, exportez le rapport JSON (verdict, constats, chronologie, entités) et un CSV filtré pour le dossier.
Comparaison avec l'outil d'enquête de sécurité de Google
L'outil d'enquête de sécurité de Google (security investigation tool, dans certaines éditions) interroge en direct les mêmes sources et peut agir dessus, par exemple supprimer des messages. Il ne corrèle pas les événements en un verdict. L'analyseur présenté ici fait l'inverse : il ne touche pas au tenant et applique des règles multi-sources à des fichiers exportés. Les deux se combinent : chercher dans l'outil de Google, exporter, analyser ici.
Limites à mentionner dans votre rapport
- Exports de console en anglais uniquement. Les autres langues de console ne sont pas encore prises en charge.
- Les règles fondées sur le pays exigent des informations réseau (
networkInfode l'API Reports ou une colonne pays). Il n'y a pas de géolocalisation d'IP. - Pas encore de listes d'autorisation : les IP de sortie VPN connues et les applications approuvées se déclencheront.
- Contenu des messages, exports Vault, Email Log Search, journaux des appareils et de Chrome : hors périmètre.
Plus de détails sur les données elles-mêmes : limites des journaux d'audit. Une analyse complète sur l'exemple : exemple fictif d'enquête BEC.