Autour du PC

Chevaux de Troie

Electronique

Trucs et astuces

Sécurité

 

CSS Valide !

Site optimisé en 1024x768



 

Petites précisions sur Fillezilla

Filezilla est un client FTP, ceux qui ont besoin de ce genre d'outil le connaisse sûrement. Je propose cette page afin d'y voir un peu plus claire concernant certains aspects de ce logiciel.

A ce jour, la dernière version est la 3.01, je ne la conseille pas pour le moment car les paramètres de connection de ou des serveurs web sont stockés dans un fichier de type text (XML) en claire. Pas cool, surtout si ces paramètres tombent dans d'autres mains.
Ces données sont stockées dans sitemanager.xml se trouvant dans C:\Documents and Settings\%username%\Application Data\FileZilla :

<Server>
<Host>test.ftp.net</Host>
<Port>21</Port>
<Protocol>0</Protocol>
<Type>0</Type>
<Logontype>1</Logontype>
<User>test user</User>
<Pass>abcdefghijklmn</Pass> le mot de passe est bien en clair !!
<TimezoneOffset>0</TimezoneOffset>
<PasvMode>MODE_DEFAULT</PasvMode>
<MaximumMultipleConnections>0</MaximumMultipleConnections>
<EncodingType>Auto</EncodingType>
<Comments></Comments>
<LocalDir></LocalDir>
<RemoteDir></RemoteDir>Nouveau site FTP
</Server>

Septembre 2009 : je viens d'installer la derniere version de Filezilla : 3.2.7.1 le problème semble toujours le même, les données sont stockées dans le fichier sitemanager.xml et dans filezilla.xml section <LastServer> .
Dans le cas de Windows Vista les fichiers sont dans: C:\Users\%username%\AppData\Roaming\FileZilla .

Nous allons nous interresser à la version 2.2.22 (le fonctionnement est similaire à la version portable 2.2.24).
Je ne vais pas expliquer les fonctions d'utilisation de ce logiciel mais aborder plutôt la notion de sauvegarde des paramètres.

Plusieurs choix de configuration au départ s'offrent à nous (version non portable):
Le programme nous propose un 'Safe Mode', c'est un mode sécurisé ou le mot de passe de connection du serveur FTP n'est pas stocké sur le disque, il faudra donc le saisir à chaque fois.
Il nous est proposé aussi l'écriture des paramétres du logiciel dans la base de registre ou dans un fichier de type XML, cette dernière solution est interressante lorsque l'on veut récupérer les données afin de les importer sur une autre machine ou un support amovible. On peut s'amuser dans le cas du regsitre à exporter un fichier .reg et le ré-importer ensuite sur un autre poste , mais la manip est un peu plus périlleuse.

Pour info la clé se trouve ici : HKEY_CURRENT_USER\Software\FileZilla\Site Manager\

Nous allons étudier ici ce fameux fichier XML il se trouve dans le dossier d'installation de Filezilla ,comme ci-dessus, il se presente sous cette forme:

<?xml version="1.0" encoding="ISO-8859-1"?>
<FileZilla>
<Sites>
<Site Name="Nouveau site FTP" Host="test.ftpperso" Port="21" User="test user" Account="" RemoteDir="" LocalDir="" Pass="087085091093085039037043045047045043037039" Logontype="1" FWBypass="0" DontSavePass="0" ServerType="0" PasvMode="0" TimeZoneOffset="0" TimeZoneOffsetMinutes="0" Comments="" UTF8="0" DefaultSite="0"/>
</Sites>
<Settings>
<Item name="Last Server Host" type="string">************</Item>
<Item name="Last Server Port" type="numeric">**</Item>
<Item name="Last Server User" type="string">***********</Item>
<Item name="" type="string"></Item>
<Item name="Last Server dont save pass" type="numeric">0</Item>
<Item name="Last Server UTF8" type="numeric">0</Item>
<Item name="Last server name" type="string">*******</Item>
<Item name="Last Server Pass" type="string">*******************</Item>
<Item name="Last Server Firewall Bypass" type="numeric">0</Item>
<Item name="Last Server Path" type="string">********</Item>
<Item name="Last Server Type" type="numeric">*******</Item>
<Item name="Last Server transfer mode" type="numeric">0</Item>
<Item name="Default Folder" type="string">**********</Item>
</Settings>
<RecentServers/>
<TransferQueue/>
</FileZilla>

 J'ai remplacé certains de mes paramètres par des astérisques, ceux-ci correspondent à des renseignements complémentaires pour le fonctionement du logiciel, j'ai mis en gras la partie interressante, celle qui contient les paramètres de connection sur le serveur:
le titre du site (valable que dans Filezilla), l'adresse du serveur FTP, le port de communication, le login et enfin le mot de passe de connection. Par contre dans ce cas de figure il est crypté et ne veux à ce stade rien dire.

Décryptage du mot de passe:

Le cryptage se fait sur la base de l'application d'une simple fonction XOR (OU exclusif), entre le mot de passe et un clé unique.

Principe:
la clé unique , celle qui ne change jamais est:

FILEZILLA1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ

Le mot de passe crypté dans notre exemple est:

087085091093085039037043045047045043037039
on voit ici que le pass est composé de 42 positions ou de 42/3=14 caractères.
Un groupe de trois chiffres correspond à un code ASCII d'un caractère.

Nous allons "hacher" le pass crypté par groupes de 3 chiffres, ce qui va nous donner ceci:

087 085 091 093 085 039 037 043 045 047 045 043 037 039

La fonction XOR est réversible, on l'applique entre le pass et la clé en prenant comme précaution de DECALER de x caractères la correspondance du pass et de la clé sur la droite, x étant le nombre de lettres du pass d'origine:  

La clé est convertie en ses valeurs ASCII (voir ce tableaux) et le pass décalé de 14 caractères par rapport à la clé:

07007307606909007307607606504905005105205305405505605704806506606706806907007107207307....
ici décalage de 42 chiffres ou 14 caractères 087085091093085039037043045047045043037039

Nous obetenons pour y voir plus clair:

054 055 056 057 048 065 066 067 068 069 070 071 072 073 074 075 07......
087 085 091 093 085 039 037 043 045 047 045 043 037 039
on applique la fonction XOR entre le haut et le bas pour chaque nombre (utiliser la calculatrice Windows en mode scientifique)
097 098 099 100 101 102 103 104 105 106 107 108 109 110

Le décryptage est achevé, chaque nombre de 3 chiffres correspond à la valeur ASCII du caractère correspondant, on s'aide pour cela du tableau ici .Nous obtenons donc :

97=a , 98=b , 99=c , 100=d , .... , 110=n

Le mot de passe final décryté en clair est donc: abcdefghijklmn (bizarre comme mot de passe, mais c'etait pour l'exemple)

Voila, cette demo est ici juste pour familiariser le lecteur avec le cryptage simple d'un mot de passe.
Pour ne pas avoir à effectuer cette manip à chaque fois voici le petit programme bien pratique écrit pas mes soins qui automatise le tout:




en téléchargement sur ce site

Ce programme ne marche bien sûr que pour la version 2.2.22 ou la version portable 2.2.24 et dans le cas de l'utilisation du fichier XLM.
Cliquer sur le bouton 'Décrypter', aller cherche le fichier XML et voila.
Il est possible aussi d'exporter en fichier text l'ensemble des renseignements obtenus, le fichier est créé dans le dossier où a été ouvert le fichier XLM et nommé savezilla.txt.
De plus, ce logiciel est au stade expérimental donc livré tels que, il est évident que l'auteur, c'est à dire moi-même, ne pourra être tenu responsable de la manière dont il est utilisé.