USB Rubber Ducky : ChromePass, notre ami

ATTENTION: Je ne suis en aucun cas responsable de vos actes. Cet article est purement à but informatif et éducatif. Merci.

Salut à tous et à toutes, bande de geeks!

Cela fait maintenant plus d’un mois que certains de mes lecteurs m’ont demandé s’il était possible de récupérer les mots de passe “enregistrés” dans Google Chrome (en cas de perte ou de panne, par exemple). Aujourd’hui, je vais répondre à toutes les questions sur le sujet.

Google Chrome mémorise les mots de passe “enregistrés” dans une base de données cryptée avec une clé différente à chaque utilisateur. Il n’est donc pas possible d’y accéder autrement que par l’interface graphique.

Sur ce principe je me suis penché à créer un script pour mon Rubber Ducky qui:

  • Ouvre chrome
  • Navigue jusqu’à la section “Mots de passe”
  • Et sauvegarde tous les mots de passe dans un fichier texte… Ah bah non, on ne peut pas…

Pourquoi? Parce que l’interface graphique ne permet d’afficher qu’un seul mot de passe à la fois! On ne peut donc en récupérer qu’un seul, pas très utile. Mais, je continue et développe le script tout de même. Après de nombreux tests, je me rends compte que le script met beaucoup de temps avant d’arriver à son terme (Eh oui, la joie du GUI <3).

La performance du script ne me convenant pas, je décide de changer de tactique et de me pencher sur la ligne de commande. Des scripts Python trouvés en ligne utilisent SQLite pour dump la base de données pour ensuite cracker les mots de passe. C’est déjà mieux, mais encore vachement long.

Au fil de mes recherches, je tombe sur un logiciel qui m’est familier: ChromePass.exe. Oh oui! Je me souviens de celui-là! C’est le programme qui m’avait permis de récupérer les logins des profs au Lycée! Ah… La bonne époque… Arrêtons de digresser et intéressons-nous à ce logiciel.

ChromePass.exe est un simple exécutable qui va dump tous les logins de Google Chrome, y compris les URL, la structure des données, les noms d’utilisateurs et la date. MAIS QUE DEMANDE LE PEUPLE !? Pour être franc avec vous, je n’ai pas trouvé de doc au sujet de ChromePass, donc je ne sais pas exactement comment il fonctionne. Mais il marche, et très vite en plus! Un simple double-clic sur l’exécutable et tous les logins apparaissent comme par magie dans la fenêtre de ChromePass.

Hé Tom, il doit forcément y avoir moyen d’accélérer le processus en utilisant la ligne de commande! *Tend la main pour un High Five*

*High Five* Oui tu as tout à fait raison! Sur la page de téléchargement de ChromePass, il est bien précisé que des tas d’arguments peuvent être fournis! Super!

capture-du-2016-11-02-11-43-23

Mais après tous les tests du monde, je me rends compte que les options ne marchent pas… Pourquoi? Je n’en sais vraiment rien… Dommage, mais ne nous laissons pas abattre par ce contre-temps. Le logiciel est bien assez rapide pour pouvoir se passer de lignes de commandes. Voici donc l’algorigramme de notre futur Payload:

  • Lancer un invite de commande
  • Télécharger ChromePass.exe
  • Exécuter ChromePasse.exe
  • Sélectionner tous les mots de passe (CTRL A)
  • Les sauvegarder en format .txt (CTRL S)
  • Nous les envoyer par mail
  • Effacer les traces

Dans les articles précédents nous avons déjà abordé la plupart de ces manipulations, mais je vais vous montrer une autre méthode pour télécharger un fichier.

Commençons par lancer l’invite de commande (En Administrateur):

On rend la fenêtre de commande plus petite et plus discrète:

Ensuite, vient la partie du téléchargement. Nous allons ici utiliser la méthode Invoke-WebRequest de Powershell, qui envoie une simple requête web GET à un serveur donné.

Maintenant que nous avons ChromePass sous le nom de “pass.exe”. Il ne reste plus qu’à l’éxécuter:

J’ai mis un delai de 1 seconde pour attendre que ChromePass se lance tranquillement. Sélectionnons à présent tous les mots de passe et enregistrons-les:

Nous avons maintenant un fichier pass.txt contenant tous les mots de passe. Il ne reste plus qu’à nous les envoyer par mail!

Le mail est envoyé. Il ne reste plus qu’à effacer toutes traces de notre présence!

Fini ! Vous êtes encore là ? Ah, je croyais vous avoir perdu :p

Ce Payload peut encore être amélioré, mais j’ai préféré garder des délais plutôt longs pour être sûr qu’il se déroule correctement. Certains ordinateurs plus lents pourraient mettre plus de temps à lancer Powershell par exemple. Libre à vous de changer le temps d’attente.

Si ce tutoriel vous a plu, n’hésitez pas à le partager et à me le dire, ça fait toujours ultra plaisir! En attendant je vous donne rendez-vous à la prochaine. En n’oubliez pas, Stay Tuned! 😀