Google et visibilité · 10 min · publié le 2 septembre 2024

Search Console signale un logiciel malveillant : quoi nettoyer

Search Console dit « logiciel malveillant » : Google a téléchargé une ressource dangereuse. Il faut cette URL exacte. Tant qu'elle répond 200, le réexamen échoue. On teste comme un robot, pas comme un admin logué, et on ne se fie pas à « chez moi ça télécharge une image ».

Réponse directe

Google a téléchargé une ressource dangereuse. Trouvez cette URL exacte. Tant qu'elle répond 200, le réexamen échoue. Testez comme un robot, pas comme un admin.

malware search console logiciel malveillant google GSC malware

Malware dans GSC ≠ virus sur votre PC

Google a classé une ressource de votre site (ou servie via votre site) comme dangereuse pour ceux qui la téléchargent. Votre Windows peut être sain. Inversement, un Wordfence vert ne dit rien de cette URL. Le rapport pointe un fetch.

Ce n'est pas forcément un `.exe`. Un `.js`, un `.pdf` piégé, un `.php` qui sert un payload, un `.apk`. L'extension ment. Google classe le comportement au téléchargement (en-têtes, hash, sandbox), pas le nom que vous voyez dans le FTP. Un `photo.jpg` qui part en `Content-Type: application/octet-stream` avec un PE en corps, c'est le dossier.

Ne formatez pas le PC de la compta comme premier geste. Isolez l'URL.

Trouver l'URL citée, toutes les variantes

Le rapport liste des exemples. Exportez. Ajoutez www, http, les query strings (`?f=1`). Un CDN hostname. Un `uploads/2024/08/invoice.php.jpg`.

Si GSC est vague, les logs : `GET` vers des binaires, user-agent Google. `access.log` autour de la date du mail.

`site:votre-domaine.fr filetype:exe` et cousins. Imparfait, parfois utile. Cherchez aussi `filetype:apk`, `filetype:zip`, et les URL avec `download`, `setup`, `update`. Un rapport GSC ne liste souvent qu'un exemple : le dossier frère (`/files/`, `/dl/`) en contient dix. Listing par date sur tout le webroot, pas seulement `uploads`.

  • Export du rapport.
  • Hôtes et schémas.
  • Logs autour de la date GSC.

Ce que Google a pu prendre pour un binaire

Un `Content-Disposition: attachment` sur un HTML. Un faux codec. Un « update Flash » — encore. Un zip de backup `wp-config` n'est pas un malware classique mais peut être classé dangereux / sensible. Sortez les zips du webroot.

Les `.svg` / `.html` en téléchargement forcé : téléchargement forcé.

Un skimmer n'est pas toujours « malware GSC » ; parfois seulement un JS. Si GSC dit malware, cherchez le drop, pas seulement le formulaire carte.

200, 302, et le fichier qui « n'est plus là »

Vous avez effacé le fichier, l'URL 302 vers un miroir, ou un `.htaccess` la ressert. Le fetch voit encore un corps dangereux. Suivez les redirects jusqu'au bout (5 sauts).

Un 200 avec un corps vide ou un 403 « qui avoue que ça existe » : moins bon qu'un 404/410 franc.

Le CDN : 200 ancien. Purge par URL, pas seulement « everything » oublié sur un préfixe.

JS, iframe, et téléchargement forcé

La home 200 propre, un JS charge `malware.dat`. GSC a fetche le `.dat`. Cherchez tous les `src` / `iframe` / `window.open`. HAR.

Un iframe caché : iframe.

Cloaking : le robot reçoit le binaire, vous une image. Inspection directe. cloaking.

Tester sans être admin, sans cookie de cache

Privé, 4G, curl sans cookies. Inspection GSC. Si vous êtes logué, un WAF vous montre une image, Google le PHP.

Ne téléchargez pas le malware sur le PC de prod « pour analyser ». Copie isolée, ou hash, ou prestataire.

Le type MIME : `application/x-msdownload` sur une URL `.jpg` est un aveu. `curl -I` sur l'URL citée, depuis un réseau qui n'est pas le bureau, montre ces en-têtes sans ouvrir le fichier. Notez `Content-Length` : un « jpg » de 3 Mo n'est pas votre favicon. Cette ligne va dans le constat, à côté de la date GSC.

Retirer, 410, bloquer la réécriture

Fichier hors web, 410, règle qui interdit ce path. Cron / shell qui le repose : tournée habituelle. PHP uploads.

Les backups publics du même binaire : `old/malware.exe`. Cherchez le nom de fichier sur tout le compte.

Porte : sinon GSC reviendra. Admins, FTP.

Réexamen malware, pas le texte phishing

Bouton du rapport malware. « Ressource X retirée le [date], 410, plus de 200. » Pas un roman sur les impôts si le type est malware. demande.

SB peut se lever en 24-72 h ; le rapport malware GSC peut suivre ou précéder. Deux checks.

Trop tôt = refus. Live 410 d'abord. Si le rapport cite encore l'URL 24 h après votre 410, purge CDN puis re-test en direct. Un objet Cloudflare non invalidé a déjà fait échouer des réexamens malware alors que le disque était propre. Le délai Safe Browsing (24 à 72 h) ne démarre pas tant que ce 200 de cache existe.

Après : postes clients et listes antivirus

Si des clients ont téléchargé, dites-leur de scanner / changer les mots de passe selon le payload (vous ne le savez pas toujours). Factuel, pas panique.

Norton et proxies : autres files. proxy.

Vous pouvez déclarer. L'URL exacte du rapport, c'est le brief idéal. Ne téléchargez pas le binaire sur le PC de la compta « pour nous l'envoyer ». Hash, path, en-têtes `curl -I` suffisent à démarrer. Le réexamen attend un 410, pas une analyse reverse du payload.

  • URL exacte, fetch anonyme.
  • Chaîne de redirects jusqu'au corps.
  • 410 + écrivain mort.
  • Réexamen du type malware.

Questions fréquentes

GSC cite une URL, je la 404, une autre apparaît.

+
Grappe de fichiers ou générateur. Cherchez le dossier et le cron, pas une URL à la fois indéfiniment.

C'est un faux positif sur un APK que nous publions.

+
Signez, servez en HTTPS, documentez. Un recours « c'est notre app » après un fetch propre. Si l'APK est vraiment le vôtre, le process est un appeal, pas un déni. Méfiance si vous n'avez jamais publié d'APK.

Wordfence n'a rien vu sur cette URL.

+
Fichier hors signatures, ou conditionnel. Le fetch GSC prime. Un one-liner écrit pour votre boutique passe Wordfence et échoue au sandbox Google. L'URL citée, `curl -I`, le corps : c'est le diagnostic, pas le bandeau du plugin.

Je dois formater le serveur ?

+
Mutualisé : non, vous n'avez pas l'OS. VPS : seulement si le binaire a quitté le webroot vers le système. Le rapport GSC, lui, se cale sur l'URL web.

Le malware est sur un CDN tiers que j'appelle.

+
Retirez l'appel, changez de CDN / version. Vous ne « 410 » pas leur hôte. GSC peut encore vous lier si vous servez le loader. CDN JS. Inspection : le HTML de votre page ne doit plus citer cette URL. Puis réexamen malware. Un 200 chez le tiers, hors votre domaine, se traite chez eux ; votre job est de ne plus l'inclure.
À lire ensuite
Problème de sécurité GSC Lever Safe Browsing Téléchargement forcé Site trompeur Déclarer mon site