Hi all,
Vous aussi vous aves installé le plugin « wp-db-ajax-made »? Faites vite! supprimez le et nettoyez votre site avant que ça soit trop tard!
Récemment j’ai eu deux retour sur deux sites que j’ai développé à l’époque utilisant wordpress. Les deux sites ont été infecté par un trojan! et il a fallut tout vérifier et nettoyer.
Pour le premier site, je ne me suis pas rendu compte de l’origine de l’infection. L’important était de nettoyer le site et le rendre de nouveau disponible. J’ai donc nettoyé le code et supprimer tous les scripts injectés. Mais malheureusement, ce n’était pas suffisant! J’ai de nouveau reçu une alerte et l’hébergeur a de nouveau bloqué le site pour cause de scripts malveillants.
J’ai été très débordé et je n’ai pas eu le temps d’analyser. Mais cette fois j’ai aussi vérifié les dossier wp-admin et wp-includes, il s’est avéré que des codes malveillants ont été injectés partout! Nouveau nettoyage! cette fois c’est plus facile: mettre a jour wordpress va permettre d’avoir une version clean.
Pour la troisième fois le site est bloqué! Il faut vraiment analyser, vérifier et nettoyer le site une fois pour toutes.
Pour vérifier l’origine de l’attaque, il faut toujours par analyser les logs. J’ai découvert que ça vient du plugin « wp-db-ajax-made ».
Maintenant, il faut jeter un coup d’oeil sur ce qu’il y a dedans et voilà ce qu’on trouve dans le fichier wp-ajax.php :
Il s’agit d’un code « crypté » si vous voulez. Mais pour un expert, c’est facile a déchiffrer. (J’ai fait exprès de mettre une image et pas le code source tel qu’il est parce que c’est un code très dangereux ).
Chose faite, j’ai maintenant le code source clair du code dans l’image ci-haut. Je n’étais pas étonné par ce que j’ai trouvé: il s’agit bel et bien d’une interface qui donne accès à toute la partie accessible de votre serveur: pour un hébergement mutualisé les dégâts sont limités puisque seul votre dossier est accessible. Mais si vous hébergez votre site sur un serveur dédié mal sécurisé, tadadada! le pirate a bien accès à tout le serveur!
Voilà une partie du code source « décrypté »:
C’est tout un explorateur de fichiers avec un accès total au serveur avec la possibilité de créer, envoyer des fichiers/dossiers/exécutables pour windows/des shell linux…etc mais aussi un accès à la console, un accès aux bases SQL, un outils de scan du réseau, un outil pour pirater l’accès FTP en brute force, et plusieurs autres trucs.
Pour comprendre à quel point ce script est dangereux, voici une capture d’écran de ce que ça donne comme interface:
Il s’agit du web shell « WSO » dans sa version 2.5
Comment corriger le problème et désinfecter mon site?
Maintenant, vient la partie de « désinfection »:
- D’abord il faut rendre le site inaccessible (offline) si ce n’est pas encore le cas. (En ajoutant un fichier htpasswd par exemple, ou en bloquant tous les IP à part le votre)
- Ensuite, évidemment, supprimer le dossier « wp-content/plugins/wp-db-ajax-made »
- Télécharger la dernière version de wordpress
- Faire une sauvegarde de vos fichiers.
- Supprimer les dossiers « wp-admin », « wp-includes » et tous les fichiers sur la racine à l’exception du fichier « index.php », « .htaccess » et « wp-config.php »
- Remplacer les dossiers/fichiers que vous avez supprimé par celles dans le dossier wordpress que vous avez téléchargé.
- supprimer tous les plugins et les télécharger un par un depuis le site officiel des plugins wordpress.
- Dans votre dossier thème, de préférence supprimer les thèmes que vous n’utilisez pas et garder uniquement le thème actif.
- Dans le dossier de votre thème, vous devez vérifier tous les fichiers avec l’extension « .php » et supprimer tous les codes dont la forme est un peu bizarre: trop de caractères codés,…etc
Exemple de code:
Généralement ces codes se trouvent soit tout au début soit à la fin du fichier (c’est un script qui les insère, il ouvre le fichier et place son code soit tout au début soit à la fin du fichier pour qu’il n’y ait pas d’erreur d’exécution) - Pour être sur que vous avez tout nettoyé, faites une recherche dans tous les fichiers de votre site en utilisant le mot clé « eval(« , si vous ne trouvez aucun code suspect c’est que vous avez tout nettoyé.
- Maintenant, il faut changer les mots de passe FTP et MySQL (n’oubliez pas de modifier le mot de passe SQL dans le fichier wp-config.php)
- Connectez-vous en FTP sur votre hébergement et supprimez tous les fichiers du site, ensuite envoyer la copie locale que vous avez nettoyé.
Si le problème persiste toujours ou que vous n’avez pas les compétences pour nettoyer votre site, je vous propose mon expertise en prestation, n’hésitez pas à me contacter.
Catégorie: PHP, Sécurité informatique, virus, wordpress
Tags: backdoor, solution, trojan, virus, wordpress.
6 commentaires
Dis donc je viens de récupérer un site touché par cette attaque, c’est du sérieux ! thème d’origine supprimé, plus d’accès au back-office, plus de htaccess, tous les fichiers .php vérolés… ça fait rêver ! sympa ce plugin « wp-db-ajax »!
merci pour l’article, ça rassure de voir qu’on est pas seul 🙂
J’ai également déjà eu ce problème…merci pour l’aide mais à l’époque j’ai du contacter un spécialise, ce qui m’avait coûté une fortune…j’aurais du connaitre votre blog plus tôt …
Purée je vais vérifier car je l’ai installé sur plusieurs sites.
C’est chaud!!
Bonjour,
Ce plugin n’est pas installé sur mes sites mais « on » le cherche.
J’ai trouvé votre page pour savoir ce que cherchait cet internaute
Oulà, je viens à peine de m’en apercevoir, mieux vaut tard que jamais ! Merci !
Et voila pourquoi je suis passé sous Prestashop… Trop de galère sur WordPress :/
Dommage, je suis bien plus limité sur cette plate-forme (bon, je fais du e-commerce donc ce n’est pas non plus super grave…) mais deux fois « piraté » via un site fait sur WordPress… Les templates gratuits sont trop souvent peu sécurisés in fine sans parler de certains plug-in…
Snif !