« Pirater des mots de passe est aujourd'hui à la portée de tous »
Un amateur explique comment faire et donne cinq débuts de parades

Le , par Gordon Fowler, Expert éminent sénior
Nat Anderson est un journaliste qui se définit lui-même comme un « script kiddie ». Un connaisseur de l’informatique, mais parfaitement incapable de hacker quoi que ce soit sans les outils des autres.

Et pourtant, en une seule journée, Nat Andersen affirme avoir réussi à cracker 8 000 mots de passe. Nulle vantardise dans ses propos. Juste un signal d’alarme tiré sur la fragilité du duo id/password.

« Voir son propre mot de passe tomber en moins de quelques secondes est le genre d’expérience que tout le monde devrait faire, ne serait-ce qu’une fois… ne serait-ce que parce qu’elle permet de mieux concevoir ses propres mots de passe », écrit-il.

La première étape de son expérience a consisté à trouver un fichier avec une liste de mots de passe « hashés », passés à la moulinette d’algorithmes qui les rendent illisibles. Trouver une telle liste (un fichier « MD5.txt » de 15 000 mots hashés) fut visiblement chose facile sur Internet.

Le but à partir de là était de retrouver la forme « en clair » de ces mots « hashés ». Pour cela, le journaliste s’est procuré un des plus célèbres « password cracker » - « pardon, "un spécialiste de la récupération de mots de passe" », plaisante-t-il - un logiciel dénommé Hashcat.

Après des essais infructueux pour le faire marcher directement en ligne de commande sur un MacBook Air, le « script kiddie » passe alors sur un (volontairement) vieux laptop sous Windows et lance, sans aucun problème, Hashcat avec une interface graphique.

Nat Andersen part alors à la chasse d’une liste de mots de passe « communs ». Le but étant de les passer à la moulinette de Hashcat – qui les hashe - et de comparer chaque résultat aux chaînes de caractères de la liste « MD5.txt » pour retrouver les mots de passe originaux.

Depuis 2009, une telle liste particulièrement redoutable existe. Avant cette date, les pirates essayaient de constituer un dictionnaire de mots de passe en devinant les plus populaires. Après la perte de 14,5 millions de passwords uniques, lâchés dans la nature par une compagnie de jeux baptisée « Rock You », le piratage a changé d’ère. « Oubliez les spéculations, Rock You nous donne une liste de mots de passe véritablement utilisés par les gens ».


Extrait de la liste « Rock You »

« Trouver le fichier Rock You m’a pris trois minutes », constate Nat Anderson. Problème, faire fonctionner Hashcat n’est pas si simple. Et une fois la liste passée dans le « password cracker », aucun mot n’est cassé.

Un échec total pour un « newbie » ? Oui. Mais heureusement – si l’on peut dire – un expert en sécurité de chez Errata Security a essuyé les mêmes revers et les a racontés, puis a documenté ses propres essais pour déchiffrer une liste similaire volée à LinkedIn.

La clef se trouvait en fait dans les « règles ». Une règle permet d’extrapoler des combinaisons en fonction de la liste de départ. Par exemple, si un mot de passe est « Developpez », alors une règle pourra faire tester au programme toutes les variantes avec deux chiffres supplémentaires (de « Developpez00 » à « Developpez99 »).

Les choses étant bien conçues, Hashcat embarque son propre lot de règles complexes, dont une recoupe les pratiques les plus communes des utilisateurs. Nat Anderson repasse alors Rock You dans le programme, mais cette fois-ci avec cette règle « best64.rule » sur les « conseils » involontaires de l’expert de Errata Security.

En soi, « best64 » est un résumé de toutes les pratiques à bannir pour la sécurité : mot inversé (« zeppoleveD ») , ajout d’un chiffre (« Developpez1 »), ajout des 14 combinaisons de chiffres les plus usités, ajout d’un « s » à la fin du mot, ajout de suffixe populaire (man, dog, 123), puis la même chose mais en pré-fixe (« 1Developpez »), puis essai en Leet (« |)3\/3£0|*|*3% »), puis des rotations de lettres sont tentées.

Avec cette règle « Best64 », Nat Anderson lance à nouveau le processus. Résultat : un seul mot de passe hacké.

Déçu, le « script kiddie » décide alors de revenir aux basiques et lance une attaque de force brute. En clair, le logiciel commence par hasher « aaaaa » puis le compare à la liste, puis hashe « aaaab », etc.

Pour que la méthode fonctionne à peu près, il faut néanmoins l’encadrer avec quelques options pour que le tout ne prenne pas des années. Et là encore, surprise, Hashcat offre des outils préconfigurés. Le journaliste se limite donc aux password de 6 caractères, sans majuscules.

Résultat, 32 mots de passe tombent en 6 minutes. Trop lent.

Nat Anderson décide alors de faire encore plus simple. Il retire les chiffres et les symboles des options de l’attaque. Pour 334 résultats en une minute. Des mots simples comme « violet » ou « ludwig » curieusement absents du fichier Rock You.

Nat Anderson commence à se dire que les choses ne sont pas si simples. Il décide alors de nourrir Hashcat avec des dictionnaires de langues (anglais et allemand) et une liste de noms et prénoms glanés sur Facebook (un fichier téléchargé sur un autre forum de piratage). Mais rien ne fonctionne.

Nous voilà rassurés. Pirater des mots de passe n’est donc pas à la portée du premier venu.

Sauf que…

Sauf que Nat Anderson avait tout faux dès le départ en oubliant simplement de décompresser ses fichiers. Une fois Rock You décompressé, les résultats tournent au carnage : 5 000 passwords tombent en une minute. Puis avec les règles, 8 000.

Ces résultats restent « modestes ». Mais les vrais pirates utilisent des machines plus puissantes qu’un laptop vieillissant. Voire le Cloud (comme ce fut déjà le cas).

Nat Anderson souligne par ailleurs qu’il n’a utilisé que deux modes d’attaques du logiciel et que d’autres, plus performantes, mais plus gourmandes en ressources, sont disponibles à portée de clics. Sans oublier que d’autres « password crackers » sont encore plus évolués et s’appuient par exemple sur des statistiques pour déterminer si un caractère a plus ou moins de chance de succéder à un autre (ce qui optimise drastiquement les attaques de force brute).

Nat Anderson applique ensuite sa méthode « simple » à ses mots de passe à lui et réussit à les faire tomber en quelques secondes. Il décide de les améliorer sur le champ.

Fort de son expérience, le journaliste donne cinq conseils, que les experts connaissent déjà mais qu’il est toujours bon de rappeler quand on voit avec quelle facilité ces mots de passe sont piratés par des amateurs éclairés : utiliser des algorithmes plus performants que le MD5, « hasher » plusieurs fois le même mot de passe, utiliser le salage (ajouter des caractères aléatoires avant de hasher le password), et surtout avoir des mots de passe beaucoup plus longs (le temps demandé pour une attaque par force brute suit une courbe exponentielle - un mot de passe de plus de 8 caractères rend ainsi la force brute quasi impossible) – et qui sont entrecoupés de caractères choisis au hasard.

Humainement, Nat Anderson s’est également fait peur. « On se prend très vite au jeu. […] C’est addictif. C’est comme un puzzle mathématique ». L’attrait du côté obscur de la Force.

Reste que pour pirater des services (comme des sites, ou un compte en banque) le fichier contenant les hash des mots de passe doit lui-même être piraté et divulgué. Ce qui est une autre histoire. Malheureusement plus courante qu'on ne pourrait l'espérer.

Source : « How I became a password cracker », récit de Nat Anderson sur ArsTechnica

Et vous ?

Comment améliorez-vous la sécurité de vos mots de passe ?


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de Thorna Thorna - Membre éclairé https://www.developpez.com
le 07/05/2013 à 7:51
Bon, ça commence à devenir quelque chose de connu...
Une solution serait que ça devienne connu également aux oreilles des entreprises : tout le monde pourrait bénéficier d'un petit "cours" gratuit qui y serait donné aux employés, et ça serait certainement utile aussi dans la vie privée. Bien sûr, les "gamins" ne pourraient pas en bénéficier, mais comme ils publient volontairement tous leurs secrets sur FaceDeBouc, ça ne doit pas trop les gêner.
Une autre solution pour éviter l'usage de ces dictionnaire : oublier les "conseils" des informaticiens qu'on voit parfois même ici sur ce site (je cite : "quand tu travailles, oublie tous les accents") ! Non seulement, l'UTF8 ça n'existe pas que pour faire beau, et en plus, en usant et abusant des accents, des cédilles et autres trucs bizarres, qu'on ne trouvera sans aucun doute dans aucun dictionnaire, on obtient des mots de passe qui résistent un peu plus longtemps à la force brute.
Et enfin, conseil vu récemment, je ne sais plus où (ici par exemple) explique que c'est bien mieux de choisir des mots de passe longs plutôt que des mots de passe compliqués. Quand les développeurs voudront bien nous laisser saisir plus de 8 caractères...
Avatar de hakurou hakurou - Membre régulier https://www.developpez.com
le 07/05/2013 à 7:53
En même temps s'il y a encore des dev qui s'amusent à faire un simple md5(password) pour leur mots de passe, on ne peut plus rien pour eux...
Avatar de transgohan transgohan - Expert confirmé https://www.developpez.com
le 07/05/2013 à 8:09
Faudrait aussi que les Devs soient au courant...
Car quand on voit des services dont le mot de passe ne doit pas dépasser 8 caractères et ne comporter aucune majuscule, aucun chiffre et surtout aucun caractère spécial (on va dire que c'est parce qu'ils se sont rendu compte que ça soulevait des erreurs SQL dans leur code non ? )...
Avatar de zeyr2mejetrem zeyr2mejetrem - Membre chevronné https://www.developpez.com
le 07/05/2013 à 9:15
En même temps s'il y a encore des dev qui s'amusent à faire un simple md5(password) pour leur mots de passe, on ne peut plus rien pour eux...

Et encore ... si tu savais le nombre de logiciels d'entreprise que j'ai vu où le mot de passe est EN CLAIR dans la BDD !! Tu prendrais peur !!

Non seulement, l'UTF8 ça n'existe pas que pour faire beau, et en plus, en usant et abusant des accents, des cédilles et autres trucs bizarres, qu'on ne trouvera sans aucun doute dans aucun dictionnaire, on obtient des mots de passe qui résistent un peu plus longtemps à la force brute.

Le problème est que si le site web que tu veux utiliser est mal foutu, ton mot de passe résiste aussi au login

Quand les développeurs voudront bien nous laisser saisir plus de 8 caractères...

+10000 !! Quand tu vois que le mot de passe de l'espace client d'un célèbre opérateur mobile français commencant par B doit être composé de 6 chiffres uniquement !!
Avatar de tontonnux tontonnux - Membre expérimenté https://www.developpez.com
le 07/05/2013 à 9:21
Citation Envoyé par zeyr2mejetrem  Voir le message
+10000 !! Quand tu vois que le mot de passe de l'espace client d'un célèbre opérateur mobile français commencant par B doit être composé de 6 chiffres uniquement !!

Il me semble que pour le compte Ameli c'est 8 chiffres également...
Avatar de satenske satenske - Membre confirmé https://www.developpez.com
le 07/05/2013 à 9:25
Personnellement, j'utilise toujours des citations de films, ponctuation comprise, facile à retenir, et quand on a un mot de passe de 15 caractères, ça limite la casse.
ça me rappelle d'ailleurs cet article de developpez
http://www.developpez.com/actu/36199...dee-en-dessin/

Vittavi, ils sont sympa aussi, le liens "j'ai oublié mon mot de passe", envoie un nouveau(?) mot de passe.
1 mois plus tard, deuxième oubli de mot de passe (), oh, ben ça alors, ils envoient le même que précédemment.
Deux solutions : ils stockent le mot de passe en clair. Ils génèrent le même mot de passe d'oublis pour tout le monde.
Dans les deux cas, ça crains un peu.
Avatar de Squisqui Squisqui - Membre expérimenté https://www.developpez.com
le 07/05/2013 à 9:33
Citation Envoyé par transgohan  Voir le message
(on va dire que c'est parce qu'ils se sont rendu compte que ça soulevait des erreurs SQL dans leur code non ? )...

Ça ne tient pas, une fois hashé, ça reste une suite de caractères ANSI... Ou alors ce n'est pas hashé

Le hashage MD5 pouvant donner 3.40*10^35 combinaisons pour une infinité d'entrées, je me dis que ce serait sacrément c*n d'avoir un mot de passe long et compliqué ayant un hashage identique à celui de "aaaaaa".
Les chances sont infimes mais il y a toujours un type au karma pourris qui traine sur la planête (okay, c'est du flood...)
Avatar de ctxnop ctxnop - Membre expérimenté https://www.developpez.com
le 07/05/2013 à 9:43
Citation Envoyé par Thorna  Voir le message
je cite : "quand tu travailles, oublie tous les accents" ! Non seulement, l'UTF8 ça n'existe pas que pour faire beau, et en plus, en usant et abusant des accents, des cédilles et autres trucs bizarres, qu'on ne trouvera sans aucun doute dans aucun dictionnaire, on obtient des mots de passe qui résistent un peu plus longtemps à la force brute.
Et enfin, conseil vu récemment, je ne sais plus où (ici par exemple) explique que c'est bien mieux de choisir des mots de passe longs plutôt que des mots de passe compliqués. Quand les développeurs voudront bien nous laisser saisir plus de 8 caractères...

Malheureusement, comme tu le souligne brièvement, le nombre de site web où on est limité en mot de passe est juste énorme.
Souvent on nous limite a X caractère avec X plutôt petit, 8 ou 12. Mais on voit également des endroits où le mot de passe ne peut contenir de caractère spéciaux (ponctuation par exemple), voire carrément un alphabet restreint (que les minuscules, que des chiffre!!!).

Alors laissez les gens choisir le mot de passe qu'ils veulent, même si c'est une trentaine de sigles en cyrilic ou japonais !!!
Avatar de tontonnux tontonnux - Membre expérimenté https://www.developpez.com
le 07/05/2013 à 10:23
J'ajoute quand même que parfois, on oblige le développeur à alléger la politique de gestion des mots de passe. En effet, j'ai eu écho d'un dev à qui on demandé de simplifier au maximum pour la raison suivante:
les utilisateurs oublient leur mot de passe, et comme tu refuse de les stocker en clair, on ne peut pas leur renvoyer au besoin, et pas mal de gens galèrent à utiliser les procédures de génération d'un nouveau mot de passe...

Pas mal de "décideurs" choisissent que baisser le niveau de sécurité pour améliorer le confort des neuneus personnes qui ont des difficultés avec l'informatique, c'est un bon deal...
Avatar de leyee leyee - Membre averti https://www.developpez.com
le 07/05/2013 à 10:55
Je ne vois pas où est le problème de sauver md5(password + sel) contrairement à ce que certains abordent. Ce genre de developpement n'est pas mon pain quotidien mais tout de meme
Offres d'emploi IT
Architecte électronique de puissance expérimenté H/F
Safran - Ile de France - Villaroche - Réau
Spécialiste systèmes informatiques qualité et référent procédure H/F
Safran - Ile de France - Colombes (92700)
Consultant sap finance/controlling H/F
Safran - Ile de France - Vélizy-Villacoublay (78140)

Voir plus d'offres Voir la carte des offres IT
Contacter le responsable de la rubrique Accueil