web-dev-qa-db-fra.com

Vérifier que j'ai complètement supprimé un hack WordPress?

Mon blog WordPress amusant/ http://fakeplasticrock.com (sous WordPress 3.1.1) a été piraté - il affichait un <iframe> sur chaque page de la manière suivante:

<iframe src="http://evilsite.com/go/1"></iframe>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 

J'ai fait ce qui suit

  1. Mise à niveau vers 3.1.3 via le système de mise à niveau WordPress intégré
  2. Installé le Exploit Scanner (beaucoup d'avertissements critiques sur des fichiers inhabituels) et AntiVirus (tout était vert et propre, je l'ai donc désinstallé et supprimé après l'exécution)
  3. Changement du mot de passe MySQL.
  4. Changement de tous les mots de passe utilisateur WordPress.
  5. Connecté via FTP et téléchargé le système de fichiers complet (pas grand, c'est un hôte partagé Linux uniquement WordPress)
  6. Le système de fichiers diffé par un fichier Zip officiel de WordPress 3.1.3 et enlevé ou écrasé tout ce qui ne correspond pas.

Je suis bien sûr que

  • all les fichiers sur le disque sont des fichiers WordPress 3.1.3 officiels
  • il n'y a pas de fichiers "extra" sur le disque autres que mon seul /theme, le plugin Exploit Scanner (que je viens de télécharger), le dossier /uploads et une infime poignée d'autres fichiers attendus. Mon autre plugin, wp-recaptcha, correspond à la version téléchargée officielle actuelle.
  • J'ai aussi vérifié le fichier .htaccess et rien n'y a l'air mauvais

wordpress 3.1.3 file compare in Beyond Compare

Je n'ai pas touché à la base de données , mais j'ai du mal à comprendre comment un élément de la base de données pourrait être malveillant sans le code spécial PHP pour le faire fonctionner?

Mon blog WordPress semble OK et sans piratage maintenant (je pense), mais y at-il autre chose que je devrais vérifier?

104
Jeff Atwood

Avez-vous identifié le vecteur de l'exploit? Sinon, vous vous laissez peut-être ouvert à de futurs exploits.

Autres points à considérer:

  1. Changer les mots de passe des utilisateurs de l’administrateur WordPress - terminé
  2. Changer le mot de passe de l'utilisateur du compte d'hébergement
  3. Changer mots de passe FTP
  4. Changer le mot de passe utilisateur MySQL db - done
  5. Changer le préfixe de la table db
  6. Mettez à jour votre wp-config nonces/salt
  7. Vérifiez vos autorisations répertoire/fichier
  8. Bloquer l'accès à la navigation dans les répertoires via .htaccess
  9. Parcourez tout ce qui se trouve dans l'entrée Codex Durcissement WordPress
  10. Parcourir tout dans la FAQ Mon site a été piraté entrée du Codex
79
Chip Bennett

En regardant le message de "navigation sécurisée" de Google Chrome, vous obtenez le "bidouillage .cc iFrame" qui semble faire beaucoup de bruit récemment. Je pense que 3.1.3 va résoudre ce problème, mais vérifiez votre fichier index.php à la racine si votre site Web, c'est là qu'il a continué à me frapper jusqu'à ce que tout soit mis à jour et les mots de passe modifiés.

Il y a des choses très délicates que les gens peuvent faire avec des injections de post et de commentaires. Vous pouvez exécuter les requêtes suivantes sur votre base de données pour vous aider à en trouver. J'ai blogué le reste de mon "suivi" ici .

SELECT * FROM wp_posts WHERE post_content LIKE '%<iframe%'
UNION
SELECT * FROM wp_posts WHERE post_content LIKE '%<noscript%'
UNION
SELECT * FROM wp_posts WHERE post_content LIKE '%display:%'
UNION
SELECT * FROM wp_posts WHERE post_content LIKE '%<?%'
UNION
SELECT * FROM wp_posts WHERE post_content LIKE '%<?php%'
SELECT * FROM wp_comments WHERE comment_content LIKE '%<iframe%'
UNION
SELECT * FROM wp_comments WHERE comment_content LIKE '%<noscript%'
UNION
SELECT * FROM wp_comments WHERE comment_content LIKE '%display:%'
UNION
SELECT * FROM wp_comments WHERE comment_content LIKE '%<?%'
UNION
SELECT * FROM wp_comments WHERE comment_content LIKE '%<?php%'

J'espère que cela t'aides!

26
Dillie-O

La base de données peut également contenir du code malveillant: comptes d'utilisateurs cachés ou valeurs imprimées non échappées quelque part. Vérifiez également dans votre répertoire de téléchargement les fichiers qui n'y appartiennent pas.

Oh, et essayez de comprendre comment l'attaquant s'est frayé un chemin dans votre site. Sur les comptes partagés, c'est souvent le serveur entier. Consultez les autres sites sur le serveur pour rechercher des blogs piratés ou d’autres pages. Lisez votre journal FTP. Si vous ne savez pas comment cela s’est passé, vous ne pouvez pas empêcher la prochaine pause.

20
fuxia

Désolé de vous avoir piraté - on dirait que vous avez fait un bon travail de récupération!

Votre système de fichiers semble doré, je ne dirais pas que vous pouvez faire autre chose ici.

Je pense qu'Exploit Scanner émettrait un avertissement s’il trouvait des scripts, des iframes, PHP (bien que dangereux uniquement), ou d’autres codes inhabituels dans votre base de données.

Je ne sais pas s'il vérifie les tableaux autres que les posts et les commentaires. Vaut peut-être la peine de consulter /wp-admin/options.php pour un rapide coup d'œil et voir si vous trouvez quelque chose d'étrange.

Je vérifierais également votre table d'utilisateurs dans un client MySQL (les utilisateurs peuvent être dans la base de données mais ne sont pas visibles dans l'admin).

13
TheDeadMedic

Vérifiez les outils Google Webmaster pour deux choses:

  • vérifiez que votre site n'a pas été signalé comme compromis et demandez un réexamen s'il a
  • vérifiez votre site en tant que Googlebot et vérifiez qu'il n'y a pas de courrier indésirable visible par Googlebot; par exemple, le WP Pharma hack

En outre, je ré-implémenterais le thème ou le vérifierais avec la plus grande attention. Quelques lignes de PHP peuvent redéfinir les fonctions principales PHP afin qu'elles extraient du code malveillant de la base de données, en particulier des tables de magasin de clés/valeurs wp_options.

8
Jon Galloway

Recherchez "iframe" dans la base de données via phpmyadmin ou videz la base de données et recherchez le texte.

Et recherchez les utilisateurs invisibles dans la table users; J'ai vu des utilisateurs dans les tables ne figurant pas dans WP Admin >> Utilisateurs.

Options de nettoyage "Plugins WordPress montrera quel junk de vieux plugins potentiellement vulnérables reste dans la base de données.

La balise <head> manque également à votre thème. Par conséquent, je vérifierai si vous avez modifié le thème pour supprimer les mauvais liens.

Et l'habituel: et Comment trouver une porte dérobée dans un WordPress piraté et Durcir WordPress "WordPress Codex

6
markratledge

"Y a-t-il autre chose que je devrais vérifier?" Vous devez examiner votre processus et déterminer comment vous avez été piraté (presque certainement parce que vous n'avez pas corrigé à temps ou correctement) et y remédier également, pas seulement les symptômes.

5
Tom Chiverton

J'ai eu un bidon très similaire que j'ai dû réparer sur l'un de mes sites clients.

Il y avait des scripts malveillants dans le système de fichiers (php base64_decode). Cependant, les tables 'posts' et 'comments' de la base de données avaient été compromises et le code iframe était également dispersé dans ces données.

Je voudrais au moins faire quelques recherches sur la base de données, juste pour être en sécurité. :)

4
Eric Allison

Cela m'est arrivé une fois, à travers une fuite sur mediatemple. Je devais écrire un plugin pour vérifier la base de données pour les liens injectés. Vous pouvez le saisir ici comme un github Gist .

Il est assez convivial, comporte plusieurs étapes qui fournissent des commentaires et vérifient à nouveau votre base de données une fois que vous avez terminé.

Bonne chance!

4
kaiser

Vérifiez vos plugins!, Jusqu'à présent cette année, il y a eu 60 versions d'exploitation de plugins .org, je suppose que le nombre réel est bien plus élevé puisque personne ne le fait vraiment à plein temps.

Vous avez indiqué ne disposer que d'un seul plug-in, et bien il y avait une faille de sécurité (vous ne savez pas combien de temps il est sorti, et ce n'est peut-être pas le vecteur).

wp-recaptcha-plugin
L'exploit est sorti: 2011-03-18
Exploit version: 2.9.8

L'auteur a déclaré avoir réécrit avec la version 3.0, mais le correctif de sécurité n'est pas mentionné.

http://www.wpsecure.net/2011/03/wp-recaptcha-plugin/

Journal des modifications: http://wordpress.org/extend/plugins/wp-recaptcha/changelog/

3
Wyck

J'utilise un serveur de nuage et ai des numéros de port sack loufoques et aléatoires, pas de ftp du tout. Les mots de passe sont extrêmement difficiles à pirater. Tout accès root est complètement refusé. Je suis d'accord que WordPress ne va pas être votre coupable. Une autre chose à vérifier est les sessions ftp non fermantes, les virus sur votre ordinateur personnel (rappelez-vous que vous pouvez charger un fichier sur votre site et qui charge jamais ce fichier peut obtenir le même virus), ne conservez pas vos mots de passe sur des sites publics ou privés. les sites les mettent toujours sur papier, jamais sur un document Word ou un bloc-notes.

Enfin, demandez à votre hôte s’il a récemment eu une brèche car il devrait avoir une configuration de pare-feu.

2
xLRDxREVENGEx

Vérifiez la date de vos fichiers. Aucun fichier ne doit avoir une donnée de changement plus récente que votre dernière modification/installation!

Mais cela peut aussi être simulé. Le moyen le plus sûr d’être sûr serait de comparer (par exemple, une comparaison de hachage) tous les fichiers avec les fichiers d’installation d’origine.

2
powtac