The laZagne Project

mai 5, 2015

A la lecture du titre de cet article, certain d’entre vous se sont peut être dit que j’avais complétement perdu la boule et que j’allais vous proposez une formidable recette de cuisine ? Rassurez vous , je vais vous épargner ça.  Le projet LaZagne (imaginé et réalisé par Alessandro Zanni) est une diabolique application open source multiplateforme destinée à récupérer sur un ordinateur cible, un MAXIMUM de mots de passe sur les applicatifs les plus connus. Regardons ça de plus prêt..

Disponible sur GitHub , LaZagne est une application open source dont l’unique but est de retrouver les mots de passe stockés par les différentes applications, sur un ordinateur local. La majorités des applications (navigateurs internets, logiciels de messageries, chats, ftps .. etc) stockent les mots de passe de l’utilisateur en employant différentes techniques : (API, text clair (oui oui!), algorithme de cryptage, bases de données …). Cet outil a donc était développé en prenant soin de découvrir, la manière dont chaque appli, stocke le mot de passe et de faire en sorte de le décrypter.

Actuellement, la version v0.3 supporte plus d’une vingtaine de programmes sous Microsoft Windows, et 12 Linux/UNIX.

lazagne_project_applications

Utilisation est enfantin, une simple invite de commande : laZagne.exe -h vous résumera les options

lazagne_project_help

Il existe donc un mode bourrin : laZagne.exe all. Vous l’aurez deviné, cette commande exécutera la totalité des modules du projet LaZagne. C’est à dire, (browsers, Chats, databases, mails, svn, Wifi.) Mais il est possible également d’utiliser un mode spécifique : laZagne.exe browsers

lazagne_project_commandes

Le résultat est saisissant ! un simple script bat avec un run lazagne.exe all -w  pourrait faire des malheurs!

Cerise sur le gâteau donc, ce module est totalement scriptable. L’auteur indique la marche à suivre sur GitHub, ainsi que les librairies à utiliser pour la compilation des sources python :)

Cet outil est terriblement efficace, mais comment fait il ? Car c’est bien ce qui m’intéresse ici.

Pour certaines applications où le mot de passe est stocké en clair, jusque là, pas de surprise. Je pense notamment au client FTP Filezilla qui inscrit en clair dans un fichier XLM les données sensibles. La ou je m’interroge + c’est au niveau des navigateurs. Comment LaZagne fait il pour récupérer les mots de passe de IE et de Firefox ?

Pour IE , Alessandro nous expose sa technique. Depuis IE7 et avant Windows 8, les mots de passe IE peuvent seulement être décryptés en utilisant l’URL du site internet et en utilisant un argument de l’API Win32CryptUnprotectData. Ainsi en utilisant l’historique du navigateur, il est possible de décrypter de nombreux passwords :-), Pour cela Alessandro a utilisé une DLL écrite en C  (« browser_history_dll ») et l’a directement intégré a son code python Base 64 string, c’est très astucieux !

Pour Firefox j’ai ma petite idée. Bon par défaut les mots de passe stockés sont clairement visible directement via Firefox > outils > options> sécurité> mot de passe enregistrés > afficher les mots de passes. Ensuite il existe divers script.py pour récupérer et décrypter les mots de passe stockés. Je pense notamment à : ffpassdecrypt dispo sur GitHub. Dans notre répertoire profil, Firefox stock l’intégralité des informations de connexion dans un fichier appeler signons.sqlite, de manière crypté. Pour décrypter ces informations vous aurez besoin des fichiers keyb3.db et cert8.db, (présent dans ce même répertoire) Sans ces clés, impossible de décrypter « signons.sqlite ». Il existe de nombreux tools pour décrypter les passes Firefox, je pense notamment à Fire Master Cracker qui fera parfaitement l’affaire.

La v0.3 du projet LaZagne est vraiment très prometteuse, incroyable avec quelle facilité on récupère les informations stockés. J’imagine que de nombreux scripts vont venir s’additionner afin de venir compléter d’avantage la liste des applications recoverablent (pas sure que ce mot soit français :-))