Les RSSI parlent encore de mots de passe et de MFA. Pendant ce temps, les attaquants se baladent dans les clouds dâentreprise avec des tokens volĂ©s, valides, et parfaitement âlĂ©gitimesâ. Bienvenue dans la nouvelle Ăšre du token hijacking.
đ§© Le problĂšme : les clĂ©s qui nâexpirent jamais
Les entreprises adorent le SaaS. En 2025, on ne compte plus les solutions cloud dans les SI : Salesforce pour le CRM, Slack pour les échanges, GitHub pour le code, Microsoft 365 pour tout le reste.
Mais cette belle mĂ©canique repose sur une chose fragile : des tokens dâaccĂšs.
Ces tokens OAuth ou API sont censĂ©s simplifier la vie des applications : pas de mot de passe, pas de rĂ©authentification permanente, juste un joli jeton signĂ© qui prouve âqui tu esâ.
Sauf quâun token, câest un passe permanent tant quâil nâest pas rĂ©voquĂ©. Et la plupart du temps⊠il ne lâest jamais.
đ§ Petit rappel : un token OAuth, câest comme un badge dâaccĂšs dâentreprise que personne ne dĂ©sactive, mĂȘme quand le salariĂ© a quittĂ© la boĂźte depuis six mois.
Salesforce vient justement d’en faire les frais : âïž Salesforce face aux Scattered LAPSUS$ Hunters : le cloud nâa pas flanchĂ©, mais les connexions oui
đ„ Pourquoi les tokens font sauter les verrous
Les attaques modernes ne passent plus forcĂ©ment par le mot de passe : elles passent par lâidentitĂ© machine, les intĂ©grations SaaS et les pipelines CI/CD.
Les tokens, eux, sont devenus la porte dâentrĂ©e royale pour une raison simple : ils ne dĂ©clenchent aucune alerte.
Quand un attaquant vole un token :
- Il peut lâutiliser depuis nâimporte quel appareil sans dĂ©clencher de MFA.
- Il accĂšde directement Ă lâAPI avec le niveau dâautorisation accordĂ© (souvent âadminâ).
- Et les journaux de connexion ne montrent rien dâanormal : tout semble âauthentifiĂ©â.
âïž Les causes typiques :
- Tokens codĂ©s en dur dans des scripts Python, fichiersÂ
.env ou pipelines GitHub Actions. - Tokens affichĂ©s dans les logs dâerreur (âparce que debug, câest pratiqueâ).
- URLs contenant des tokens dans la chaĂźne de requĂȘte (oui, ça existe encore).
- Permissions OAuth trop larges (âscope=full_accessâ parce que flemme).
Le résultat ? Une compromission silencieuse, persistante, et indétectée.
đ”ïžââïž Quelques perles du best-of âToken Leak of Shameâ
Le florilĂšge est savoureux :
- Slack (2024) : des tokens OAuth dâapps internes exposĂ©s dans des dĂ©pĂŽts GitHub publics, donnant accĂšs aux canaux privĂ©s dâentreprises.
- GitHub Actions (2023â2024) : des workflows CI/CD contenant des secrets mal protĂ©gĂ©s ; vol de tokens et rĂ©utilisation pour pousser du code malveillant dans les repos internes.
- Salesforce (2024) : un partenaire intĂ©grateur stockait des tokens dâaccĂšs dans un tableur partagĂ© sur OneDrive. Des accĂšs clients âfull adminâ ont Ă©tĂ© dĂ©couverts par un pentester chanceux.
- Atlassian (2025) : fuite de tokens personnels via un bot Slack mal codĂ© ; le bot affichait par erreur le token dâun compte Jira admin dans une conversation dâĂ©quipe.
đŹ MoralitĂ© : le maillon faible nâest plus le mot de passe⊠câest le dĂ©veloppeur fatiguĂ© un vendredi soir.
đ§ Anatomie dâune attaque par vol de token
Prenons un exemple concret : une entreprise utilise GitHub Actions pour déployer automatiquement son application SaaS.
Dans le pipeline YAML, un token dâaccĂšs AWS est injectĂ© pour dĂ©ployer sur le cloud.
Un développeur un peu distrait pousse le fichier .env contenant le token sur GitHub.
đŻ Ătapes de lâexploitation :
- Un attaquant scrute GitHub avec un script qui cherche les patterns âaws_access_key_id=â ou âBearerâ.
- Il trouve le token exposé.
- Il lâutilise pour lister les buckets S3, rĂ©cupĂ©rer le code source, ou injecter un backdoor dans lâapplication.
- Le tout sans jamais casser un mot de passe, sans jamais faire un âloginâ.
Et quand le RSSI arrive enfin Ă enquĂȘter ?
âĄïž Les logs AWS indiquent âAccĂšs lĂ©gitime avec token valideâ.
Pas de MFA, pas dâalerte, pas de soupçon. Juste un sourire narquois cĂŽtĂ© attaquant.
đ Pourquoi les tokens ne sont jamais surveillĂ©s
La plupart des solutions de sécurité se concentrent encore sur :
- les connexions interactives,
- les logs de sessions utilisateur,
- les authentifications MFA,
- et la dĂ©tection dâanomalies de login.
Mais les appels API authentifiés via token passent sous le radar.
Les outils SIEM traditionnels nâagrĂšgent pas (ou mal) les logs des API SaaS.
RĂ©sultat : un attaquant peut siphonner un compte Microsoft 365, GitHub, ou Slack sans gĂ©nĂ©rer un seul Ă©vĂ©nement âsuspectâ.
đ§© Et cerise sur le gĂąteau : mĂȘme aprĂšs rotation de mot de passe, le token reste valide jusquâĂ sa date dâexpiration.
Certaines API laissent vivre ces tokens pendant 90 jours, voire indéfiniment.
đ§Œ La âtoken hygieneâ : mission impossible ?
Pas tant que ça â mais ça demande rigueur, automatisation, et une vraie politique de gouvernance.
Voici les bonnes pratiques Ă marteler :
â 1. Rotation automatique : mettre en place un job rĂ©gulier (cron, script, CI) pour rĂ©gĂ©nĂ©rer les tokens toutes les 24 ou 48 h.
â 2. DurĂ©e de vie courte : forcer des expirations rapides (TTL = 1 jour max).
â 3. Scopes limitĂ©s : chaque application doit avoir un accĂšs strictement minimal (âread-onlyâ, ârestrictedâ).
â 4. Inventaire centralisĂ© : savoir qui a gĂ©nĂ©rĂ© quel token, quand et pour quoi faire.
â 5. RĂ©vocation systĂ©matique : quand un employĂ© part, on rĂ©voque ses tokens avant mĂȘme son badge dâentrĂ©e.
â 6. Journalisation complĂšte : brancher les logs dâAPI dans le SIEM (Splunk, Sentinel, ELK, etc.).
â 7. Chiffrement local : stocker les tokens chiffrĂ©s (Vault, AWS Secrets Manager, HashiCorp, etc.).
đŁ Le pire ennemi du RSSI : lâautomatisation aveugle
Les pipelines DevOps, câest merveilleux⊠jusquâĂ ce quâils automatisent une compromission Ă la vitesse de la lumiĂšre.
Un token codĂ© en dur dans un pipeline CI/CD, câest une faille reproductible : chaque dĂ©ploiement propagera la compromission.
Un exemple qui pique :
En 2025, une startup SaaS américaine a vu son code source volé puis modifié dans sa chaßne de déploiement.
Lâattaquant avait interceptĂ© un token GitLab stockĂ© dans une variable CI.
RĂ©sultat : les conteneurs Docker produits contenaient un malware intĂ©grĂ© â signĂ©, validĂ© et dĂ©ployĂ© par le pipeline lui-mĂȘme.
Quand la compromission devient un feature, il est temps de se poser des questions.
đ§° Les solutions techniques (et pas que marketing)
- Vault + Rotation + Audit : HashiCorp Vault, AWS Secrets Manager, ou GCP Secret Manager sont vos amis.
- SSO + Consent Review : forcer une revue périodique des apps OAuth connectées au SSO.
- SIEM enrichi : ingestion et corrélation des logs API (ex. Microsoft Graph, Google Workspace, GitHub Audit).
- Token Boundary Enforcement : isoler les tokens par environnement (dev/test/prod).
- MFA contextuel : activer des politiques âstep-up authâ sur accĂšs API sensibles.
Et surtout : former les développeurs.
Parce quâun token dans un repo, câest rarement une erreur technique â câest un rĂ©flexe culturel.
đ Dans la majoritĂ© des cas (et Salesforce en est lâexemple parfait), ce nâest pas la plateforme elle-mĂȘme qui est compromise, mais les applications tierces connectĂ©es via OAuth ou API.
Salesforce, Microsoft 365, Google Workspace, Slack, GitHub⊠tous ces géants ont des infrastructures bétonnées : patchs rapides, audits, monitoring avancé, SOC 24/7.
Mais lâĂ©cosystĂšme dâapplications qui sây connecte, lui, est un immense gruyĂšre dâautorisations et de tokens.
đŁ Ce qui se passe concrĂštement :
- Une appli tierce demande Ă se connecter Ă Salesforce via OAuth (âautorisez X Ă accĂ©der Ă vos donnĂ©es CRMâ).
- Lâutilisateur (ou pire, un admin) clique sur âAccepterâ.
- Salesforce dĂ©livre un token dâaccĂšs longue durĂ©e à cette application.
- Si cette app ou son serveur se fait pirater⊠le token devient un passe dâaccĂšs direct à Salesforce.
Et lĂ , câest terminĂ© :
pas besoin de casser un mot de passe, pas besoin de bypasser le MFA,
âĄïž le token est dĂ©jĂ valide, et Salesforce pense parler Ă une application autorisĂ©e.
đ§© Cas typique :
- Une startup de marketing SaaS a une intĂ©gration âSalesforce Connectorâ qui synchronise les leads.
- Leurs serveurs stockent les tokens Salesforce des clients pour exécuter les synchros nocturnes.
- Un attaquant compromet leurs serveurs â il rĂ©cupĂšre des centaines de tokens Salesforce valides.
- Il accÚde aux CRM des entreprises clientes, en mode API authenticated.
RĂ©sultat : Salesforce nâa pas âĂ©tĂ© hackĂ©â,
mais des centaines dâinstances Salesforce sont exposĂ©es parce quâune appli connectĂ©e a Ă©tĂ© compromise.
âïž Pourquoi câest si dangereux :
- Les tokens OAuth ont souvent des scopes full_read_write.
- Ils ne sont pas liĂ©s Ă un device ou Ă un IP (â usage indĂ©tectable).
- Et la rĂ©vocation dĂ©pend du tiers (â lente, manuelle, ou inexistante).
Câest le chaĂźnon faible du modĂšle SaaS : la sĂ©curitĂ© dĂ©portĂ©e dans des intĂ©grations que personne ne supervise.
đŹ En rĂ©sumĂ© :
Salesforce nâest pas la cible.
Salesforce est le coffre-fort quâon ouvre avec la clĂ© volĂ©e dâun fournisseur tiers.
Câest le mĂȘme principe quâun cambriolage dans une banque oĂč lâalarme nâa pas sonnĂ©,
parce que le voleur avait un badge dâun sous-traitant âautorisĂ©â.
đ§š Conclusion : les tokens, câest le nouveau mot de passe
âCe nâest pas ton compte qui sâest fait pirater, câest ton application connectĂ©e.â
VoilĂ la phrase quâon entendra de plus en plus souvent.
En 2025, le vrai front de la cybersĂ©curitĂ© ne se trouve plus dans le pare-feu, ni mĂȘme dans lâauthentification utilisateur.
Il est dans les intĂ©grations SaaS : ces passerelles invisibles entre outils, oĂč un simple token compromis ouvre les portes dâun empire.
Alors oui, continuez Ă parler MFA, DLP et antivirusâŠ
Mais pendant ce temps, vos tokens vivent leur meilleure vie, libres et dangereux.
đŹ MoralitĂ© : dans le monde du SaaS, la vraie hygiĂšne ne passe plus par les mots de passe, mais par le savon des tokens.đ§Œđ

