samedi 4 juillet 2009

Récupération mot de passe aMSN

J'ai pour habitude d'oublier régulièrement les mots de passe de mes comptes MSN, car je ne les utilise que pour « chatter » avec certains de mes contacts, à l'aide d'une adresse externe (i.e. par une hotmail ou live). Bien entendu, j'utilise un mot de passe différent que celui associé au webmail associé à cette adresse, pour raisons de sécurité.
La plupart des clients MSN offre l'option "se souvenir du mot de passe", ce qui fonctionne tellement bien, que tu fais que je ne tape jamais mon mot de passe, je l'oublie.
Certains clients proposent une option pour le récupérer (notamment Kopete, à l'aide de kwalletmanager), mais pas aMSN.

J'ai longtemps chercher sur internet pour trouver un moyen simple de le récupérer depuis les préférences d'aMSN, mais la plupart des sujets sur des forums sont soit sans réponse, soit "tu ne dois pas oublier tes mots de passe"...

J'ai donc décidé d'aller regarder dans les sources de aMSN (qui sont en fait des scripts TCL) pour regarder comment les mots de passe étaient chiffrés et déchiffrés (ce qu'on peut appeler du reverse-engineering).

Je l'ai fait sur ma Gentoo/Linux, et la technique est assez facile, il y a juste besoin d'accès root, où à la rigueur à la commande sudo, pour éditer un fichier.


Premièrement, il vous faut localiser le fichier config.tcl, dans le répertoire système de aMSN, il s'agit de /usr/share/amsn/ sur mon système.
Après une petite recherche sur le mot encpassword devrait vous amener vers les lignes 690 (683 exactement de mon côté).
Quelques lignes en dessous, on peut observer deux lignes qui commencent par un #.

Ligne 693:
#puts "Password is: $password\nHi\n"
Ligne 704:
#puts "Password is: [::config::getKey remotepassword]\nHi\n"

(En réalité, le premier suffit).

Il suffit alors de décommenter ces lignes, (i.e. d'enlever le caractère #), d'enregistrer le fichier, et de lancer amsn dans un terminal.

Lorsque que aMSN va se charger, le mot de passe va apparaître sur la console, suivi d'une ligne contenant juste "Hi".
Pour faire afficher les mots de passe des autres comptes, il suffit de choisir l'adresse e-mail dans la liste déroulante associée.

Voilà, c'est fait, il ne reste plus qu'à remettre les # dans config.tcl.



PS: Pour info, les message sont chiffrés en AES, en utilisant les 8 premiers caractères de l'adresse e-mail en tant que clef. L'implémentation d'AES utilisée et fournie avec aMSN directement, donc ça peut éventuellement changer dans les futures versions (j'utilisais la 0.97.2).

Aucun commentaire:

Enregistrer un commentaire