C'est quelque peu obscurci, mais je l'ai désobscurci. La fonction flnftovr prend une chaîne et un tableau comme arguments. Il crée une nouvelle chaîne $ggy en utilisant la formule
isset($array[$string[$i]]) ? $array[$string[$i]] : $string[$i];}
Il ajoute ensuite base64_decode à la chaîne.
La chaîne est $s, le tableau est $koicev. Il évalue ensuite le résultat de cette manipulation. Donc, finalement, une chaîne est créée :
base64_decode(QGluaV9zZXQoJ2Vycm9yX2xvZycsIE5VTEwpOwpAaW5pX3NldCgnbG9nX2Vycm9ycycsIDApOwpAaW5pX3NldCgnbWF4X2V4ZWN1dGlvbl90aW1lJywgMCk7CkBzZXRfdGltZV9saW1pdCgwKTsKCmlmKGlzc2V0KCRfU0VSVkVSKfZW5jb2RlKHNlcmlhbGl6ZSgkcmVzKSk7Cn0=)
Donc, ce qui s'exécute réellement sur votre serveur est :
@ini_set('error_log', NULL);
@ini_set('log_errors', 0);
@ini_set('max_execution_time', 0);
@set_time_limit(0);
if(isset($_SERVER)
encode(serialize($res));
}
Si vous ne l'avez pas créé et que vous pensez que votre site a été piraté, je vous suggère de nettoyer le serveur et de créer une nouvelle installation de toutes les applications en cours d'exécution sur votre serveur.
Renommer les fichiers php en php.suspected est généralement prévu et réalisé par le script du pirate. Ils modifient l'extension du fichier pour donner l'impression que le fichier a été vérifié par un logiciel antimalware, qu'il est sécurisé et qu'il ne peut pas être exécuté. Mais, en fait, ce n'est pas le cas. Ils changent l'extension en "php" chaque fois qu'ils veulent invoquer le script et après cela, ils changent l'extension en "suspect". Vous pouvez lire à ce sujet sur Securi Research Labs
Peut-être que ce post est ancien mais le sujet est toujours d'actualité. Surtout selon la campagne de malwares de juin 2019 ciblant les plugins WordPress. J'ai trouvé quelques fichiers "suspects" dans les sous-répertoires WordPress de mon client (par exemple wp-content)
Le changement de nom de .php
fichiers en .php.suspected
continue de se produire aujourd'hui. Les commandes suivantes ne devraient pas donner quelque chose :
find <web site root> -name '*.suspected' -print
find <web site root> -name '.*.ico' -print
Dans mon cas, les fichiers infectés pourraient être localisés avec les commandes suivantes :
cd <web site root>
egrep -Rl '\$GLOBALS.*\\x'
egrep -Rl -Ezo '/\*(\w+)\*/\s*@include\s*[^;]+;\s*/\*'
egrep -Rl -E '^.+(\$_COOKIE|\$_POST).+eval.+$'
J'ai préparé une description plus longue du problème et de la manière de le résoudre sur GitHub.