[Résolu] Comment supprimer "HEUR:Trojan.Script.Iframer" d'un site sous Drupal 6.20 ?

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

Bonjour à tous,

En me connectant cette semaine sur le site associatif que j'administre (sous Drupal 6.20), mon antivirus Kaspersky me detecte un trojan: HEUR:Trojan.Script.Iframer

Visiblement, et je ne sais pas comment, je pense qu'un code malicieux a été mis dans toutes les pages qui sont générées.

Voici un courte description de HEUR:Trojan.Script.Iframer "is a heuristic detection used to
identify malicious links injected by hackers and malware into the code of compromised sites. These links cause the browser to stealthily contact other sites, which generally contain exploit bundles designed to target browser or application vulnerabilities"

A priori d'après le site http://linuxsysadminblog.com/2009/03/heurtrojanscriptiframe/
voici la procédure à suivre pour supprimer ce Trojan:

Virus Removal
You can remove the virus by just deleting the code (sample above) on the affected files. If you need to cleanup hundred of infected files (in our case more than 800) you can do the following:

  • Get the list of infected files. You can use grep to search for them
    grep -Z -R "eval(String.fromCharCode(118,97,114" /path/to/site/* >> affected_file_list.txt
  • Delete the codes by using perl/sed commands. Repeat the commands for every files.
    perl -pi -e 's/\eval(String.fromCharCode(118,97,114...51,51))\<\/script>//' /path/to/affected/file.htm
    perl -pi -e "s/\<\?php echo ''; \?>\<\?php echo ''; \?>//" /path/to/affected/file.php

Or create a bash/shell script to do the cleanup at once:

while read line
do
perl -pi -e 's/\eval(String.fromCharCode(118,97,114...51,51))\<\/script>//' $line
perl -pi -e "s/\<\?php echo ''; \?>\<\?php echo ''; \?>//" $line
done < affected_file_list.txt

Question: comment puis je appliquer cette solution sous Drupal sachant que mon site est hébergé sur un serveur mutualisé (OVH) ?

Merci par avance pour votre aide.

Sylvain

PS: En parallèle j'ai changé les mots de passes FTP & Admin.

Version de Drupal : 

Bonjour,
C'est toujours embêtant ce genre de problème. Je conseillerai d'abord de faire une sauvegarde du site infecté, et de la base de données.

Une méthode plus facile mais pas forcément aussi efficace. Généralement ce code malicieux s'installe dans les thèmes. Donc regardez déjà si dans les fichiers \themes\nomdutheme\page.tpl.php et éventuellement les autres tpl, le code n'y est pas du virus n'y est pas. Si il y a du code bizarre voir s'il y a aussi des includes avec d'autres fichiers.

Pour localiser les fichiers plus rapidement vous pouvez regarder les dates de modification des répertoires et trouver ainsi les fichiers contaminés.

Ne pas oublier de changer le mot de passe ftp, car il y a de grandes chances qu'ils soient passés par là. Modifier aussi les codes drupal pour plus de sécurité, et prendre l'habitude de ne pas sauver les mots de passe dans les navigateurs et logiciels... car c'est ainsi que les virus et autres chevaux de troie les trouvent.

Bon courage.

Bonjour Car0l et merci pour ce retour.

Effectivement j'ai trouvé le fameux code malicieux dans les thèmes, et après avoir supprimé et réinstallé les thèmes: le code a disparu ;-) (méthode radicale mais efficace !).

J'avais déjà changé le code FTP mais je vais maintenant changer les codes sous Drupal, on ne sait jamais.

A noter que Kaspersky m'avait détecté ce Trojan mais que à partir d'autres postes (avec d'autres antivirus) cela ne se "voyait" pas. En cas de doute, regardez dans le code source de la page, en bas j'avais un code très bizarre.

Merci beaucoup, je clôture le sujet ! ;-)

Re,

En fait il arrive souvent que ce genre de code ne soit visible que par les robots grâce aux user agent. Pour les repérer, il n'y a que les mots clés dans google webmaster ou dans les stats de l'hébergeur, et le très pratique addon pour firefox user agent switcher.

Voilà.
Mais l'essentiel c'est que tu ais éradiqué le problème, par sécurité regarde de temps en temps ton site avec le useragent googlebot et ira bien.

A+