PassGAN : Une IA casseuse de mot de passe

Read Time:4 Minute, 14 Second

Vous voulez passer à une technologie différente pour casser les mots de passe (Pour vos CTF…) ?
PassGAN est un algorithme d’IA qui a été préparée pour casser les mots de passe.
Ici, on va faire le tour du propriétaire.
Allez, suivez-le-guide !

PassGAN, c’est quoi ?

PassGAN est une nouvelle approche qui utilise des algorithmes d’apprentissage machine pour deviner les mots de passe. Contrairement aux outils traditionnels de casseur de mots de passe comme HashCat et John the Ripper, qui s’appuient sur des règles de mots de passe générées par l’homme, PassGAN apprend la distribution des vrais mots de passe à partir de fuites de mots de passe réelles et génère des suppositions de mots de passe de haute qualité sans aucune connaissance préalable sur les mots de passe ou les structures de mots de passe courantes12.

Les créateur de ce bijou sont les chercheurs en IA suivants :

Dans les évaluations, PassGAN a pu générer un nombre compétitif de correspondances, mais dans de nombreux cas, il a sous-performé par rapport aux meilleures méthodes connues en termes de nombre de mots de passe nécessaires pour obtenir un certain nombre de correspondances12.

Selon un article de presse, PassGAN a été formé pour déchiffrer une base d’environ 15 680 000 mots de passe réels. Ces mots de passe provenaient d’un piratage de l’extension RockYou réalisée il y a quelques années. Lors du test, la plupart des mots de passe n’ont pas résisté au cassage après 60 secondes. Pour parvenir à ce résultat, les chercheurs ont utilisé le générateur de mot de passe PassGAN1.

Un autre article mentionne que PassGAN a réussi à casser 51 % des mots de passe communs en moins d’une minute, 65 % en moins d’une heure, 71 % en moins d’un jour et 81 % en moins d’un mois2.

Cependant, il est important de noter que bien que PassGAN puisse être un outil puissant pour deviner les mots de passe, il soulève également des préoccupations en matière de sécurité. Il est donc essentiel de mettre régulièrement à jour vos authentifiants pour vous protéger de cette technologie12.

Ok, mais sinon ?

On peut voir un apercu des tests ici :

Le tableau du haut montre avec les Masques d’attaque connus et reconnus.
En bas, les résultats de PassGAN.
On peut voir que finalement, si PassGAN à toujours 2 à 4 % de résultats en plus, ce n’est pas non plus une KillApp.

Le GITHUB

L’intérêt de PassGAN est que vous pouvez aller le télécharger sur GitHub et l’essayer sur votre machine.
Le tout tourne sur Python.

Le code vous permet de créer 1 millions de mots de passe et d’entrainer votre IA dessus.
Vous pouvez également lui donner à manger une base de données leakée.
En l’entrainant sur le fameux RockYou, le développeur a pu retrouver 24% des mots de passe.
Bon, il aurait fait une attaque de dico en utilisant RockYou, il aurait eu 100%…

Et c’est là que je veux en venir.
L’IA génère un masque d’attaque en s’entraînant sur les mots de passe sur lesquels il a travaillé pour trouver celui qui permettra d’en trouver le plus grand nombre.
Par exemple, pour ceux utilisant régulièrement hashcat, il va attaquer les mots de passe très rapide à trouver même si très rare : ccccccccccc (c = chiffre) puis ensuite un masque de 8 caractères avec le premier en majuscule, 4 lettres minuscules, 2 chiffres et un caractère spécial.
Puis faire pareil avec 9 caractères et rajouter 3 chiffres.
Et ainsi de suite pour trouver un maximum de mot de passe en un minimum de temps.

L’IA optimise donc la recherche de masque qui obtient le plus de résultat par rapport aux masques créés par des hommes vu dans le tableau.
Je voudrais bien comparer ca avec une attaque par dictionnaire.
Comme dit plus haut, pour trouver 100% des mots de passe de rockyou, soit vous faites un bruteforce de 6 mois. Sois vous faites une attaque de dico de 20 secondes avec le dico rockyou.

Ma pensée

Je pense qu’effectivement, comme vu dans les résultats des chercheurs, l’IA a optimiser les masques pour en trouver un maximum. Mais ça ne permettra jamais de trouver 100% des mots de passe. Ça permet de trouver certains qui ne sont pas dans vos bases de données et qui suivent un schéma que l’IA a trouvé comme pertinent car utilisé par beaucoup.
Donc personnellement, ej passerais d’abord un gros dico, j’enlèverai les mots de passe trouver comme ca.
Puis je passerais un masque créé par IA, car cen ‘est pas l’IA qui fait l’attaque, elle créé juste un masque utilisable sur hashcat…
Comment passer outre les masques de cette IA ? Tout simplement ne pas suivre de schéma simple comme mettre une majuscule en début de mot de passe mais au milieu. Utiliser en caractère spécial peut usiter.
Je suis même sûr qu’en retravaillant l’IA elle pourrait justement nous sortir un schéma de mot de passe qui n’apparaît quasiment jamais et en ferait donc un très bon mot de passe anti IA. M’voyez.zzz.

Happy
Happy
33 %
Sad
Sad
33 %
Excited
Excited
33 %
Sleepy
Sleepy
0 %
Angry
Angry
0 %
Surprise
Surprise
0 %