Rainbow Table Attack
hackingDéfinition
Les rainbow tables sont des structures de données précalculées permettant de retrouver rapidement un mot de passe en clair à partir de son haché cryptographique, via un compromis temps-mémoire (time-memory trade-off) proposé par Martin Hellman en 1980 et optimisé par Philippe Oechslin en 2003 avec les rainbow tables modernes. Une rainbow table contient des chaînes de hachages réduction : à partir d'un point de départ (mot de passe candidat), on applique alternativement une fonction de hachage (hash) et une fonction de réduction (qui transforme un haché en un nouveau mot de passe candidat). Chaque chaîne stocke uniquement son point de départ et son point d'arrivée. Pour retrouver un mot de passe, on recalcule des chaînes depuis le haché cible jusqu'à trouver un point d'arrivée dans la table, puis on recalcule la chaîne correspondante depuis le début pour trouver le mot de passe. Par rapport au simple précalcul (tables de correspondance haché→plaintext), les rainbow tables utilisent beaucoup moins de stockage pour couvrir le même espace de mots de passe, au prix d'un calcul supplémentaire lors de la recherche. Des rainbow tables pour MD5 et LM (Windows XP) couvrent tous les mots de passe de moins de 8 caractères alphanumériques en quelques centaines de GB. Les sels (salts) cryptographiques sont la défense principale contre les rainbow tables : un sel est une valeur aléatoire unique par utilisateur concaténée au mot de passe avant hachage. Même si deux utilisateurs ont le même mot de passe, leurs hachés diffèrent. Les rainbow tables précalculées sont inutilisables contre des hachés salés car il faudrait recalculer une table entière pour chaque valeur de sel possible. Des projets comme RainbowCrack, les tables de freerainbowtables.com (MD5, SHA1, LM, NTLM), et des services en ligne (CrackStation, MD5Decrypt) permettent d'utiliser des rainbow tables précalculées pour retrouver rapidement des hachés MD5, SHA1, et surtout les hachés NTLM (Windows) qui ne sont pas salés dans le protocole NTLMv1.
Fonctionnement
Construction : générer N chaînes de longueur t en appliquant alternativement Hash et Reduce. Stocker (start, end) pour chaque chaîne. Espace réduit par rapport à la lookup table pure : O(N) au lieu de O(N×t). Recherche : appliquer Reduce(hash_cible), vérifier si dans les endpoints. Si oui, recalculer la chaîne depuis le start pour trouver le plaintext précédant le hash. Sinon, appliquer Hash(Reduce()) et répéter jusqu'à t fois.
Exploitation offensive
Les hachés NTLM (utilisés dans Active Directory) ne sont pas salés. Des services comme CrackStation avec ses rainbow tables NTLM permettent de retrouver en quelques secondes des mots de passe courants depuis leurs hachés. Après un Pass-the-Hash ou un dump de SAM/NTDS.dit, les hachés sont soumis à ces services pour récupérer les mots de passe en clair, utilisables pour des authentifications nécessitant le mot de passe réel (VPN, webmail, MFA).
Détection et mitigation
Les politiques de mots de passe robustes (longueur ≥ 12 caractères, caractères spéciaux, absence de mots du dictionnaire) rendent les rainbow tables inefficaces même pour les hachés non salés. Les algorithmes de hachage modernes avec sel intégré (bcrypt, scrypt, Argon2) sont résistants aux rainbow tables et au GPU cracking. La migration depuis NTLM vers des mécanismes d'authentification plus sécurisés (Kerberos avec AES256) améliore la résistance.
Articles liés
Expert en cybersécurité offensive et intelligence artificielle. Pentest, audit et développement IA sur-mesure.
Services
- Audit Infrastructure
- Audit Kubernetes
- Audit Microsoft 365
- Audit Sécurité Réseau
- Analyse de Risques
- Audit Active Directory
- Audit Application Web
- Audit Cloud (AWS/Azure/GCP)
- Audit Messagerie
- Audit API (OWASP Top 10)
- Audit DevSecOps & CI/CD
- Audit Code Source (SAST)
- Audit Postes de Travail
- Audit Sauvegarde & Résilience
- Audit OT/SCADA (IEC 62443)
- Développement IA
- Formations
Ressources
Projets & Outils
© 2026 Ayi NEDJIMI Consultants. Tous droits réservés.
Un projet cybersécurité ?
Expert dispo · Réponse 24h