Credential stuffing : quand vos anciens mots de passe reviennent vous hanter
Des milliards de couples email/mot de passe circulent sur le dark web. Le credential stuffing consiste à les tester automatiquement sur d'autres services. Comment ça marche, et pourquoi la réutilisation de mots de passe est une vulnérabilité critique.
En 2013, Adobe se fait pirater : 153 millions de comptes sont volés. En 2016, LinkedIn perd 117 millions de comptes. En 2019, c’est Collection #1 — une compilation de 773 millions d’adresses email et 21 millions de mots de passe uniques — qui circule librement sur les forums criminels.
Ces données, souvent vieilles de plusieurs années, continuent d’être exploitées aujourd’hui. La raison : les gens réutilisent leurs mots de passe. Un mot de passe volé sur un site peu sécurisé il y a 5 ans fonctionne peut-être encore sur votre messagerie professionnelle, votre VPN, votre espace client bancaire.
C’est le principe du credential stuffing.
Comment fonctionne le credential stuffing
Étape 1 : acquisition des listes de credentials
Les attaquants s’approvisionnent en couples email/mot de passe via :
- Les grandes fuites de données publiques ou semi-publiques (Adobe, LinkedIn, Dropbox, Yahoo, etc.)
- Les marchés du dark web où des bases fraîches sont vendues, parfois quelques heures après une compromission
- Les infostealer malwares : des logiciels malveillants (RedLine, Raccoon, Vidar) qui s’installent silencieusement sur les machines et exfiltrent les credentials stockés dans les navigateurs, les sessions actives, les fichiers de configuration
Les bases compilées s’appellent des “combolists”. Certaines contiennent plusieurs milliards d’entrées.
Étape 2 : automatisation des tentatives de connexion
Des outils comme Snipr, SNIPR, OpenBullet ou SilverBullet permettent de tester automatiquement ces listes sur des cibles définies. L’attaquant configure le module correspondant au service cible (Microsoft 365, Gmail, un site e-commerce), charge la combolist, et lance.
Ces outils gèrent :
- Les CAPTCHAs (via des services de résolution humaine ou automatisée)
- La rotation des adresses IP (proxies résidentiels, SOCKS5)
- La rotation des user agents pour imiter différents navigateurs
- Le ralentissement des requêtes pour rester sous les seuils de détection des rate limiters
Un attaquant avec une bonne infrastructure peut tester des centaines de milliers de couples par heure sur un service donné.
Étape 3 : monétisation des comptes valides
Les comptes qui fonctionnent sont vendus, utilisés pour du spam, pour du BEC, pour accéder aux systèmes internes d’une organisation, ou pour réinitialiser des mots de passe sur d’autres services (en accédant à la messagerie).
Credential stuffing vs brute force vs password spraying
Ces termes sont souvent confondus :
| Technique | Description |
|---|---|
| Brute force | Tester toutes les combinaisons possibles pour un compte. Détectable rapidement (verrouillage après N tentatives). |
| Password spraying | Tester un petit nombre de mots de passe très courants (Password1!, Printemps2024!) sur un très grand nombre de comptes. Évite le verrouillage par compte. |
| Credential stuffing | Tester des couples email/mot de passe réels issus de fuites. Taux de succès bien supérieur. |
Le credential stuffing est plus efficace que le brute force parce qu’il exploite une réalité comportementale : la réutilisation de mots de passe. Les études estiment que 60 à 85 % des utilisateurs réutilisent leurs mots de passe entre plusieurs services.
Pourquoi les mots de passe issus de fuites passées fonctionnent encore
Le hashage des mots de passe
Quand une base de données est volée, les mots de passe ne sont (normalement) pas stockés en clair. Ils sont hashés : transformés par une fonction cryptographique à sens unique (MD5, SHA-1, bcrypt, Argon2, etc.).
Le problème : certains services utilisent des algorithmes de hashage faibles ou obsolètes (MD5, SHA-1 sans sel). Ces hashs peuvent être cassés par des attaques par dictionnaire ou par des rainbow tables — des bases précalculées de millions de hashs.
En 2013, Adobe stockait ses mots de passe avec 3DES en mode ECB — une erreur d’implémentation qui a permis de retrouver les mots de passe en clair pour une grande partie des comptes en quelques semaines.
Un mot de passe hashé avec bcrypt ou Argon2 avec un facteur de coût élevé résiste beaucoup mieux — mais si l’utilisateur utilise Printemps2024! sur ce site et le même mot de passe ailleurs, le résultat est le même.
La durée de vie des fuites
Les fuites ne sont pas immédiatement publiques. Les données volées sont d’abord vendues à prix élevé sur des marchés privés, puis le prix baisse progressivement, et elles finissent par circuler librement. Le délai entre la compromission et la diffusion publique peut être de plusieurs années.
Pendant ce temps, les mots de passe restent souvent valides — peu d’utilisateurs changent spontanément leurs mots de passe, et encore moins les organisent pour éviter les réutilisations.
Savoir si on est concerné
Le site haveibeenpwned.com (maintenu par Troy Hunt, chercheur en sécurité reconnu) permet de vérifier si une adresse email figure dans des fuites de données connues. Le site liste les sources concernées sans exposer les mots de passe.
Pour une organisation, il est possible de surveiller si des comptes du domaine apparaissent dans des fuites, via des services comme Spycloud, HaveIBeenPwned Enterprise, ou des outils de threat intelligence.
Les mesures de protection
Pour les utilisateurs : des mots de passe uniques via un gestionnaire
La solution fondamentale est d’utiliser un mot de passe unique par service — ce qui rend le credential stuffing inopérant même si une fuite survient. La seule façon de gérer des dizaines de mots de passe complexes et uniques est d’utiliser un gestionnaire de mots de passe :
- Bitwarden (open source, auto-hébergeable, recommandé)
- 1Password, Dashlane, Keeper (solutions commerciales)
- Les gestionnaires intégrés aux navigateurs (acceptable en compromis, mais moins sécurisé)
Pour les organisations : imposer le MFA
L’authentification multi-facteurs (MFA) est la contremesure principale contre le credential stuffing. Même si l’attaquant dispose du bon mot de passe, il ne peut pas se connecter sans le second facteur.
Les codes TOTP (Google Authenticator, Microsoft Authenticator) sont efficaces contre le credential stuffing classique. Pour les comptes critiques (accès VPN, administration système, messagerie dirigeants), les clés de sécurité physiques FIDO2 offrent le niveau de protection le plus élevé.
Pour les organisations : surveiller les anomalies d’authentification
Un credential stuffing génère des signaux détectables :
- Volume inhabituel de tentatives de connexion échouées
- Connexions depuis de nombreuses adresses IP différentes (proxies) sur une courte période
- User agents inhabituels
- Connexions réussies depuis des géolocalisations inattendues
Les SIEM et les solutions d’Identity Threat Detection (Microsoft Entra ID Protection, Okta ThreatInsight) permettent de détecter et de bloquer ces patterns automatiquement.
Pour les développeurs : vérifier les credentials contre les fuites connues
L’API de HaveIBeenPwned permet d’interroger si un mot de passe figure dans les fuites connues, sans transmettre le mot de passe en clair (grâce à un mécanisme de k-anonymity sur le hash SHA-1). Intégrer cette vérification lors de la création ou du changement de mot de passe est une bonne pratique recommandée par le NIST.
Le credential stuffing exploite une réalité simple : les données volées hier restent exploitables demain. La solution est structurelle — des mots de passe uniques partout et le MFA sur tout ce qui compte — pas une question de vigilance ponctuelle.
Sources : HaveIBeenPwned, statistiques des fuites de données ; rapport Verizon DBIR 2024 ; NIST SP 800-63B, guidelines sur l’authentification ; recherches SpyCloud sur la réutilisation des mots de passe.