web-dev-qa-db-fra.com

Analyse de la base de données à la recherche de données malveillantes

Après le piratage du site d'un ami, je lui ai dit qu'il devrait juste nettoyer le désordre et le redémarrer à partir de zéro afin qu'il sache qu'aucun fichier n'a été modifié.

Je pourrais scanner le site pour lui avec des outils tels que grep et ainsi de suite (pour commencer: Grep and Friends ), mais je me demandais comment, comment analyser la base de données? Que se passe-t-il si un pirate informatique a placé des données utiles dans la base de données? Peut être quelque chose de simple comme XSS ou même le code PHP au cas où il y aurait encore des évaluations en cours (ou était au moment du piratage).

Aucune suggestion? J'ai pensé utiliser SQL-Queries avec la fonction de comparaison LIKE ou même quelques REGEX sont possibles. Mais peut-être que quelqu'un l'a déjà fait ou veut le faire et qu'il a des idées à partager.

4
hakre

J'ai lu que vider la base de données sous forme de texte et y effectuer des recherches est une bonne façon de procéder. Vous pouvez chercher avec phpmyadmin, mais c'est limité. Dépend de la taille de la base de données et d'un bon éditeur de texte, mais vous pouvez supprimer les révisions de publication/page avant de vider la base de données pour la réduire. Ou vider quelques tables à la fois.

6
markratledge

Mes sites d'un compte ont tous été infectés par un script Decode_Base64 qui infectait de nombreux fichiers php. Malgré le nettoyage d'un site qui a pris des heures, il a été réinfecté quelques heures plus tard.

J'ai fini par télécharger le dossier wp-content/uploads et tous les autres fichiers mis à jour manuellement à l'aide d'une connexion FTP sécurisée.

J'ai également pris des notes/sauvegardes des thèmes, des plugins et autres personnalisations qu'il me faudrait réappliquer.

Ensuite, j'ai changé tous les mots de passe de compte/ftp, manuellement les mots de passe de base de données/utilisateur à l'aide de phpMyAdmin, pour refuser l'accès lorsque les sites ont été restaurés.

Ensuite, j'ai supprimé TOUT le code Wordpress de TOUS les sites et chargé à la place un simple fichier index.html indiquant que les sites étaient en maintenance.

J'ai vérifié les dossiers WP-content/uploads pour tout ce qui n'était pas une image ou mon propre contenu, en particulier pour les scripts (qui ne devraient pas être là).

Ensuite, téléchargez la dernière version de WP, configurez-la pour la base de données existante avec un nouveau mot de passe et téléchargez-la sur le serveur.

Accédez au site sur lequel Akismet ne sera actif que pour le moment. Recherchez et supprimez tout ce qui ne devrait pas être là (pages, publications, liens, etc.).

Installez un plug-in de sauvegarde pour vous assurer que vous avez des sauvegardes de la base de données/dossiers.

Installez le plugin Bulletproof-Security (ou similaire) qui crée pour vous des fichiers .htaccess verrouillés et vous indique comment sécuriser vos fichiers/dossiers. Se conformer à ses recommandations.

Enfin, appliquez de nouveau progressivement vos personnalisations.

Si vous avez plusieurs domaines, recommencez si nécessaire.

Dans ma situation, je prévoyais en fait de passer à un nouvel hôte. Après cela, j’ai tout sauvegardé, site par site, puis je les ai recréés sur le nouvel hôte, une fois que j’étais sûr que l’ancienne version reconstruite était propre.

Bonne chance et j'espère que cela aide.

4
Tony