Affichage des articles dont le libellé est chat. Afficher tous les articles
Affichage des articles dont le libellé est chat. Afficher tous les articles

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).

jeudi 25 juin 2009

aMSN Password Recovery

I often forgot the passwords for my msn accounts, as I only use them for chatting over the MSN protocol, using an external e-mail address, with another password that my main mailbox have (for security reasons). So, as aMSN has the "remember password" feature, I use it, and it does perfectly its job as I forget it because I'm never typing my password.

I looked a lot over the internet to find a nice way to recover them, but the given response is "you shall not forget your passwords". So I decided to look at the aMsn TCL scripts (yes, aMSN is mostly written in TCL) to take a look onto how the passwords were enciphered and deciphered.

I did it on Gentoo/Linux, and the hack is really easy, you just need a root account, or either an access to the sudo command.

First step, locate the amsn config.tcl script, I have it in /usr/share/amsn/, then look for the word 'encpassword' (line 686 on my file), then you should find a few lines below :

Line 693:
#puts "Password is: $password\nHi\n"
and, or Line 704:
#puts "Password is: [::config::getKey remotepassword]\nHi\n"

(Actually, only the first one should be necessary.)

Then, just edit that file, by only removing these # at the beginning of the lines, save it, open a console, then run amsn from the console.

You will see a magical output giving your password. If you use several accounts, just choose the right account in the combobox, the password will appear on the console.

Now, don't forget to undo the changes you made to config.tcl !



NB aux lecteurs français : J'ai écrit ce billet en anglais, je prépare une traduction en français