Site icon Astra Security Blog

Correction d’un site Web Drupal piraté – Suppression de logiciels malveillants Drupal

Un site Web Drupal piraté peut être extrêmement douloureux. Maintenant, il pourrait y avoir de nombreuses raisons pour le piratage. Mais les plus courants sont les logiciels malveillants, l’injection de code, le spam, etc. Si vous recherchez des techniques de suppression de logiciels malveillants Drupal, vous avez frappé au bon endroit. Ce guide contient des instructions pas à pas pour nettoyer les fichiers Drupal et la base de données d’un site Web piraté. La détection des logiciels malveillants et des portes dérobées est également mentionnée. Cet article est conçu de manière à être facilement applicable par un utilisateur moyen.

Drupal est l’un des CMS les plus anciens et les plus sécurisés parmi les plus populaires utilisés aujourd’hui. Il s’adresse à plus d’un million de sites Web. cependant, multiples vulnérabilités ont été découverts à Drupal cette année. Tout comme une série de Vulnérabilités RCE surnommé Drupalgeddon. Cela a entraîné plusieurs installations piratées de Drupal en quelques mois, dont la plupart étaient utilisé pour miner la crypto-monnaie. Cependant, l’équipe de sécurité de Drupal a été assez rapide pour publier les mises à jour nécessaires.

Drupal Hacked: Résultats possibles du Drupal Hack

Drupal Hacked: Exemples de Drupal Hack

Lorsque les sites Drupal sont piratés, les utilisateurs concernés peuvent être trouvés en train de prendre l’aide des forums de la communauté. Un tel exemple de Drupal piraté est donné dans l’image ci-dessous.

Inquiet du site piraté par Drupal? Envoyez-nous un message sur le widget de chat et nous serons heureux de vous aider à le résoudre. Sécurisez mon site Web Drupal maintenant.

Causes possibles du piratage de Drupal

Drupal piraté: injection SQL Drupal

Les vulnérabilités Drupal SQLi peuvent souvent être trouvées dans modules mal codés. Cependant, un SQLi dans le noyau est assez rare et dangereux. Une faille aussi dangereuse a été trouvée dans le noyau de Drupal et a été appelée “ Drupalgeddon ”, bien que Drupal ait utiliséAOP (PHP Data Object) pour séparer entre une requête SQL statique et les valeurs dynamiques.

$ query = $ db-> prepare ("SELECT * FROM utilisateurs WHERE utilisateur =: utilisateur ET mot de passe =: mot de passe");
$ account = $ query-> execute (array (':utilisateur' => $ _POST ['utilisateur'], ':mot de passe' => $ _POST ['mot de passe']));

Tout semble bien car l’entrée est correctement nettoyée avant d’atteindre la base de données. Cependant, la pomme de discorde résidait dans les tableaux d’espace réservé de Drupal. Celles-ci visaient à donner de la flexibilité aux développeurs de modules, car elles permettaient de modifier dynamiquement la structure des requêtes de base de données.

db_query ("SELECT * FROM {node} WHERE nid IN (: nids)", tableau (': nids' => tableau (13, 42, 144)));

Par la suite, le : nidsl’espace réservé correspondrait au nombre d’arguments fournis. Comme ça:

SELECT * FROM {node} WHERE nid IN (: nids_0, : nids_1, : nids_2)

Cette fonctionnalité combinée aux tableaux d’index PHP pourrait être utilisée pour passer des paramètres tels que (GET, POST et cookies). Les tableaux d’espace réservé Drupal supposeraient par défaut$ _POST [‘utilisateur’]paramètre pour être un tableau. Par la suite, il utiliserait les index de chaîne de tableau bruts pour générer les nouveaux noms d’espace réservé. En conséquence, l’attaquant peut fournir des valeurs malveillantes telles que Parameter:utilisateur [0 #], valeur: foo. La requête résultante serait:

SÉLECTIONNER * FROM {utilisateurs} WHERE utilisateur =: utilisateur_0 #

Ainsi, l’attaquant contourne avec succès l’authentification de connexion. De plus, l’attaquant peut même créer de nouveaux utilisateurs en éditant le paramètre en tant qu’utilisateur [0; INSERT INTO users VALUES ‘MalUser’, ‘Passw0rd!’, ‘Administrators’; #]. C’était une faille très critique car elle affectait le cœur de Drupal. Ce qui est plus alarmant, c’est qu’un Module Metasploit a également été publié pour exploiter cela!

Drupal piraté: dérivation d’accès Drupal

UNE Contournement d’accès Drupalpeut amener les utilisateurs à accéder aux ressources qui ne leur sont pas destinées. La dernière vulnérabilité de ce type a été baptisée SA-CONTRIB-2018-081. La cause en est un module Drupal nommé JSON: module API 8.x-1.x pour Drupal 8.x. Il est principalement utilisé pour:

Dans ce cas, il ne vérifie pas soigneusement les autorisations tout en répondant à certaines demandes. Cela peut permettre à des acteurs malveillants disposant d’une autorisation insuffisante d’obtenir des informations sensibles. Par conséquent, seules les requêtes GET peuvent être utilisées pour ce type d’attaque.

Drupal piraté: Drupal Cross-Site Scripting

Des vulnérabilités telles que XSS et SQLi sont assez courantes dans les modules Drupal. Le dernier de cette série est SA-CONTRIB-2018-080. Le module E-Sign s’est révélé vulnérable à XSS. Le module E-Sign permet essentiellement d’intégrer Signature Pad dans Drupal. Au moment de la rédaction de cet article, environ 875 sites utilisaient ce module. La vulnérabilité est due à un manque de nettoyage des entrées lorsqu’une signature est affichée. Ainsi, l’attaquant peut tester XSS en utilisant le code <script> alert ('XSS Found!') </script>. Le champ de signature vulnérable cracherait alors le message «XSS Found!». Cette vulnérabilité peut ensuite être utilisée par l’attaquant pour:

Drupal piraté: exécution de code à distance Drupal

La sécurité Drupal a été hantée par une série de bogues Drupalgeddon. Drupalgeddon 3 est le dernier trouvé cette année. Cela permet aux utilisateurs non authentifiés d’exécuter du code sur les sites Drupal. Bien que Drupalgeddon 2 autorise également RCE. Cependant, pour exploiter cela, l’attaquant avait besoin de la possibilité de supprimer un nœud. L’URL complète ressemblait à ceci:

POST /? Q = node / 99 / delete & destination = node? Q [% 2523] [] = passthru% 26q [% 2523type] = markup% 26q [% 2523markup] = whoami HTTP / 1.1 [...] form_id = node_delete_confirm & _triggering_element_name = form_id & form_token = [CSRF-TOKEN]

Ici, sous prétexte de supprimer un nœud, l’attaquant a injecté la commande whoami. La deuxième ligne de code est de vérifier le jeton CSRF. Un jeton CSRF vérifie essentiellement si la demande a été générée sur le même serveur. Par la suite, l’attaquant récupère le form_build_id de la réponse comme indiqué dans le code ci-dessous:

PUBLIER / drupal /? q = fichier/ ajax / actions / annuler /%23options/chemin/[FORM_BUILD_ID] HTTP /1.1 [...] form_build_id = [FORM_BUILD_ID]

Cela déclenche enfin l’exploit et la sortie de la commande Whoami est affichée. Par conséquent, l’attaquant peut exécuter toutes sortes de commandes pour manipuler le serveur. Ce qui rend ce bogue RCE plus grave, c’est que exploit car cela a déjà été publié!

Besoin d’une aide professionnelle pour nettoyer le site piraté Drupal? Envoyez-nous un message sur le widget de chat et nous serons heureux de vous aider.Réparer mon site Web Drupal maintenant.

Nettoyage du site Web Drupal piraté: étapes pour nettoyer les logiciels malveillants Drupal

Détecter l’infection

Utilisez Google Diagnostics

Lorsque votre site Drupal est piraté, il arrive souvent que des moteurs de recherche comme Google le mettent sur liste noire. Par conséquent, les outils de diagnostic de Google peuvent être utilisés pour identifier le type et la cause de l’infection. Le rapport de transparence Google est utile dans de tels cas. Pour vérifier cela:

  1. Visitez le site Web de l’état du site de navigation sécurisée à partir de ce qui suit lien.
  2. Sur cette page, recherchez l’option «Vérifier l’état du site».
  3. Enfin, entrez l’URL de votre site en dessous et cliquez sur le bouton “Rechercher”.
  4. Cela donnera les informations concernant les redirections de spam, etc. au cas où votre site serait infecté. Identifiez la cause de l’infection Drupal et travaillez à son élimination.

Analysez votre site

Afin de détecter les pages infectées, scannez votre site. Il existe de nombreuses options gratuites comme VirusTotal. Ou, vous pouvez compresser le fichier entier dans un fichier .zip et le télécharger pour l’analyse. Cependant, les solutions de sécurité gratuites peuvent ne pas vous donner les résultats escomptés, il est donc recommandé de contacter des experts pour la suppression des logiciels malveillants.

Vérifier les fichiers modifiés

Souvent, les portes dérobées infectant votre site Drupal peuvent modifier les fichiers principaux de Drupal. La modification du fichier du site Drupal peut être vérifiée par les étapes suivantes:

  1. Connectez-vous à votre site Drupal via SSH.
  2. Créez un nouveau répertoire en utilisant cette commande: mkdir drupal-yx Remplacez ‘y’ par votre série Drupal ie 7,8,9. et remplacez ‘x’ par votre version de Drupal, c’est-à-dire 4.7.1, 2.1.3, etc.
  3. Accédez à ce répertoire à l’aide de la commande:
    cd drupal-yx
  4. Téléchargez une nouvelle copie de votre version Drupal par la commande:
    wget https://github.com/drupal/core/archive/yxtar.gz
  5. Maintenant, extrayez le fichier tar.gz en utilisant la commande:
    tar -zxvf core-yxtar.gz
  6. Enfin, comparez la différence entre les fichiers core par la commande:
    diff -r core-yx ./public_html
    Vous pouvez également le faire en vous connectant au site via SSH et en exécutant la commande suivante:
    find ./ -type f -mtime -20

Cette commande listera tous les fichiers modifiés au cours des 20 derniers jours. Vérifiez les dates de modification des fichiers et s’il y a quelque chose de suspect, analysez ce fichier à la recherche de logiciels malveillants.

Vérifier les journaux des utilisateurs

Les journaux des utilisateurs peuvent vous aider à identifier toute connexion suspecte à votre site par les pirates. Faire cela:

  1. Connectez-vous à la page administrative de votre site Drupal.
  2. Dans le menu, cliquez sur l’option ‘Personnes’
  3. Passez en revue les utilisateurs présents dans cette liste et voyez également le «dernier accès temps» de chaque utilisateur. Si vous trouvez des connexions suspectes, recherchez la vulnérabilité dans votre site.

Nettoyer les fichiers infectés et supprimer le code masqué

Une fois que les pages infectées ont été identifiées, l’infection peut être partielle (du code dans un fichier principal) ou un fichier entier. Si le fichier contient des caractères charabiaques, cela peut être dû au fait que la plupart du temps, les attaquants ont tendance à masquer le code dans un format illisible pour les humains. Format Base64 est très populaire parmi les attaquants. Pour supprimer ce code:

  1. Connectez-vous à votre site via SSH.
  2. Ensuite, vérifiez le code base64 à l’aide de la commande:
    trouver . -nom “* .php” -exec grep “base64” ‘{}’; -print &> hiddencode.txt.
    Ce code recherche le code encodé en base64 et l’enregistre dans hiddencode.txt.
  3. Téléchargez le texte de hiddencode.txt vers des services en ligne comme celui de ce lien pour une analyse plus approfondie.
  4. Cliquez sur l’option «Décoder» sur ce site. Cela afficherait le code d’origine.
  5. D’autres obfuscations comme FOPO peuvent également être décodées en utilisant services en ligne.
  6. Au cas où l’infection se trouve dans un fichier entier qui ne fait pas partie du package principal. Supprimez le fichier.
  7. En cas d’infection partielle dans un fichier core, si vous parvenez à identifier le code malveillant, supprimez-le. Sinon, commentez-le et obtenez de l’aide

Désactiver les portes dérobées Drupal

Les portes dérobées Drupal peuvent être trouvées cachées dans des dossiers tels que: / modules, / themes, / sites / all / modules et / sites / all / themes. Les détecter n’est pas facile car le code peut souvent être obscurci. Pour trouver ce code, suivez les étapes mentionnées ci-dessus dans «Nettoyer les fichiers infectés et supprimer le code masqué». De plus, ces portes dérobées utilisent certaines fonctions PHP.

Pour désactiver ces fonctions, procédez comme suit:

  1. Connectez-vous à votre site et ouvrez le gestionnaire de fichiers.
  2. Parcourez et ouvrez le fichier php.ini.
  3. Ajoutez le code suivant à ce fichier:
    disable_functions = “show_source, system, shell_exec, passthru, exec, popen, proc_open, allow_url_fopen, eval”

Nettoyer la base de données Drupal

La base de données Drupal est souvent ciblée par des logiciels malveillants. Pour nettoyer la base de données de votre site Drupal infecté, procédez comme suit:

  1. Connectez-vous à votre site Drupal via le panneau Administrateur.
  2. Accédez à Accès aux données> Base de données Drupal
  3. Ici, dans la barre de recherche, recherchez les liens ou contenus suspects visibles lors des analyses de logiciels malveillants.
  4. Ouvrez le tableau qui contient ces contenus et liens de spam. Ensuite, supprimez manuellement le contenu.
  5. Une fois terminé, vérifiez si le site fonctionne toujours et supprimez tous les autres outils de gestion de base de données.

Drupal Security: bloquer les attaquants

Assurez-vous qu’aucune information d’identification de connexion n’a été compromise. Réinitialisez le mot de passe de votre site Drupal une fois le nettoyage des logiciels malveillants terminé. Pour changer vos mots de passe, connectez-vous à votre site Drupal.

Utilisation de phpMyAdmin

  1. Si vous utilisez phpMyAdmin installé, accédez à cPanel> Boîte de bases de données> phpMyAdmin.
  2. Ensuite, sélectionnez la base de données Drupal et cliquez sur l’onglet SQL.
  3. Maintenant, dans le champ de texte, entrez la commande suivante:
    mettre à jour les utilisateurs set pass = md5 (‘YOURPASS’) where uid = 1;
  4. Remplacez «YOURPASS» par le mot de passe que vous souhaitez définir et enfin cliquez sur Go!

Utiliser Drush

  1. Pour gérer votre site via Drush, assurez-vous que le Le module Drush est installé.
  2. Pour utiliser Drush, connectez-vous à votre site via SSH.
  3.  Maintenant, pour les utilisateurs de Drupal-8, exécutez la commande suivante:
    drush user-password UserName –password = “votre-nouveau-mot de passe”.
  4. Pour Drupal-9, exécutez la commande suivante:
    utilisateur drush: mot de passe UserName “votre-nouveau-mot de passe”
    Ici, remplacez le ‘UserName par l’utilisateur de votre site Drupal et’ your-new-password ‘par le mot de passe que vous souhaitez définir. Assurez-vous que le mot de passe est sécurisé et qu’il contient une bonne combinaison d’alphabets, de chiffres et de caractères.

Drupal Security: Restauration de fichiers

Restaurez les pages infectées à partir d’une sauvegarde. Si la sauvegarde n’est pas disponible, utilisez un copie fraîche. Une fois les fichiers nettoyés, effacez votre cache de la manière suivante:

  1. Connectez-vous à votre site Drupal via SSH.
  2. Depuis le terminal, exécutez la commande suivante:
    reconstruction du cache drush (pour Drupal 8) ou
    effacer tout le cache (pour Drupal 7).

Si votre site Drupal est mis sur liste noire par Google ou votre fournisseur d’hébergement, soumettez le site pour examen.

Atténuation piratée par Drupal

Protéger les dossiers sensibles

Il est important de bloquer l’accès aux dossiers sensibles. Cela peut être fait en suivant les étapes suivantes:

  1. Connectez-vous à votre site et ouvrez le gestionnaire de fichiers.
  2. Créez un nouveau fichier intitulé .htaccess dans les dossiers que vous souhaitez protéger.
  3. Dans ce fichier, insérez le code suivant:
    Commander Refuser, Autoriser
    Refuser de tous
    Autoriser à partir de 22.33.44.55
    Cet extrait de code refuserait l’accès aux visiteurs de ces dossiers particuliers. Ici, la dernière ligne de code spécifie les adresses IP à autoriser. Regardez également à l’intérieur des fichiers .htaccess modifiés. Dans le cas où un tel fichier est trouvé, faites-en une priorité pour le nettoyer en premier.

Mise à jour et sauvegarde

Assurez-vous que vous utilisez la dernière version de Drupal. le Sécurité Drupal l’équipe met à jour les failles critiques à chaque nouvelle mise à jour. Cela peut être vérifié en utilisant le changelog. De plus, évitez d’utiliser des plugins non réputés car ils sont susceptibles de contenir du code bogué. Assurez-vous de créer une copie du site. Cela pourrait être utile pour restaurer le site après une attaque. Les mises à jour et les sauvegardes sont les méthodes les moins chères et les plus efficaces pour sécuriser un site Drupal.

Audit de sécurité

Un audit de sécurité peut révéler des failles critiques au sein du site Drupal. Tous les administrateurs Web ne peuvent pas être des experts en sécurité. Par conséquent, des services commeAstra peut prendre en charge la sécurité des administrateurs Web. Audit de sécurité Astra et les tests au stylo peuvent révéler de manière responsable les menaces graves sur le site.

Cela peut permettre aux administrateurs Web de prendre des mesures de précaution pour empêcher le piratage des sites Drupal. L’audit de sécurité Astra simule des attaques en temps réel dans un environnement sécurisé afin qu’aucun dommage ne soit causé au site et en même temps, des vulnérabilités critiques puissent être trouvées. Les audits de sécurité comme celui d’Astra peuvent trouver des vulnérabilités courantes telles que OWASP Top 10 sur le site Drupal.

Scanner et pare-feu Drupal Malware

De nouvelles vulnérabilités sont découvertes dans Drupal chaque mois. Cependant, cela n’implique pas que les sites Drupal resteront non sécurisés. Un pare-feu peut empêcher les attaquants d’exploiter ces failles même si le site Drupal est vulnérable. Cependant, il est important de choisir le bon pare-feu parmi les multiples disponibles sur le marché. Pare-feu Astra est celui qui se démarque sur tous les paramètres. Il est hautement robuste et évolutif. Cela signifie que, qu’il s’agisse de petits blogs ou de grands sites de commerce électronique, Astra peut tous les sécuriser. De plus, Astra peut honeypot les attaquants et bloquer les attaques courantes.

Nettoyer et réparer les sites piratés par Drupal est une tâche laborieuse. Cependant, l’automatisation peut venir à la rescousse. le Scanner de logiciels malveillants Astra Drupal peut détecter les logiciels malveillants des sites piratés en quelques minutes. Il récupérera également pour vous les différences de fichiers que vous pouvez supprimer d’un simple clic sur un bouton si elles sont malveillantes.

Exit mobile version