🚨 🔐 🛡️
Situation Professionnelle 3 — Stage 2 · SIA BDE INSA Lyon
SP3 SIA — Réponse à Incident : Compromission WordPress (ClickFix)
Cybersécurité · Forensique · Remédiation · 14 Décembre 2025
⚠️
Incident critique détecté le 14 Décembre 2025 — Le site WordPress de l'intégration BDE INSA Lyon a été compromis via un plugin vulnérable. Plusieurs backdoors, comptes administrateurs frauduleux et malwares ont été découverts. Cette page présente l'intégralité de l'investigation et de la remédiation.
Contexte

Lors de mon stage au SIA BDE INSA Lyon, le site WordPress de l'intégration des nouvelles promotions a été victime d'une attaque par compromission de plugin. L'incident a été détecté le 14 décembre 2025, lorsque des membres de l'équipe IT ont remarqué une page de phishing imitant le human checker de Cloudflare.

La page malveillante invitait les visiteurs Windows à copier et exécuter un script PowerShell effectuant un memory dump. L'attaque était suffisamment sophistiquée pour ne s'activer que sur Windows, passant inaperçue sur Mac et Linux.

J'ai participé activement à l'investigation en collaboration avec les membres de l'équipe SIA (Yassine, Valentin, Clément), en analysant les logs, les plugins compromis, la base de données et les fichiers modifiés.

Environnement technique
  • Cible : Site WordPress de l'intégration BDE INSA Lyon (wp-inte)
  • Infrastructure : Container Docker sur serveur Bitnami, derrière VPN Twingate
  • Outils d'investigation : Portainer, accès VPS, dump MariaDB, analyse de fichiers PHP
  • Vecteur initial : Plugin WordPress vulnérable installé le 18 octobre 2025
  • Collaboration : Investigation collective via canal Discord sécurisé, en temps réel
Chronologie de l'incident
🔓
18 Octobre 2025
Point d'entrée — Installation du plugin vulnérable
Installation du plugin One User Avatar (one_images_user), contenant une backdoor PHP obfusquée créant silencieusement un compte administrateur caché (admlnlx).
⚙️
18 – 20 Octobre 2025
Propagation — Installation de plugins malveillants
Depuis le compte admin compromis : faux reCAPTCHA (content-recaptcha), faux WAF (__waffance.php) et module de backlinks cachés (__secwaf.php).
👥
Octobre – Décembre 2025
Persistance — Comptes administrateurs frauduleux
5 comptes créés : admlnlx, root, admins, adminbackup, HostingManager. Tous avec le rôle administrateur WordPress complet.
🎣
Décembre 2025
Attaque active — Page de phishing Cloudflare
Fausse page "Human Verification" ciblant uniquement les visiteurs Windows. La page demande d'exécuter un script PowerShell (memory dump) via technique ClickFix.
🔍
14 Décembre 2025 — 18h
Détection & Investigation
Détection par l'équipe SIA. Shutdown du container, dump des logs, redéploiement derrière VPN. Investigation collaborative sur Discord.
14 Décembre 2025 — 22h17
Remédiation — Site restauré
Suppression de tous les plugins malveillants, nettoyage de la BDD, restauration complète du site.
Découvertes forensiques
🔴 Critique
Plugin backdoor — One User Avatar
Crée un compte admin caché (admlnlx) et réinitialise les mots de passe des autres admins. Code PHP masqué par obfuscation.
🔴 Critique
5 comptes administrateurs frauduleux
Tous avec rôle administrator. Emails liés à des domaines suspects (fexpost.com). Créés entre le 18 et 19 octobre 2025.
🔴 Critique
MU-Plugin WAF malveillant
__waffance.php intercepte les requêtes et redirige les visiteurs Windows vers la page de phishing Cloudflare.
🟠 Élevé
Plugin reCAPTCHA avec injections SQL
Dossier content-recaptcha : fichier PHP obfusqué réalisant des injections SQL pour maintenir la persistance.
🟠 Élevé
MU-Plugin backlinks cachés
__secwaf.php injecte des liens cachés (display:none) en footer via l'API aiobacklinks.com. SEO poisoning.
🟡 Moyen
Script PowerShell ClickFix
Page imitant le "Human Checker" Cloudflare, ciblant Windows uniquement. Invite l'utilisateur à exécuter un script via presse-papier.
Preuves & captures d'investigation
Script PHP obfusqué dans content-recaptcha

Script PHP fortement obfusqué — plugin content-recaptcha

Comptes utilisateurs frauduleux dans la BDD

Comptes admin frauduleux découverts dans la base de données

Tous les comptes ont le rôle administrateur

Tous les comptes frauduleux ont le rôle administrator

Avertissement script dangereux

Avertissement intégré au script — s'auto-supprime après exécution

Plugin One User backdoor PHP

Backdoor dans one_images_user — point d'entrée initial

Origine turque du script

Commentaires en turc dans le code — origine identifiée

Faux WAF mu-plugin

Faux WAF (__waffance.php) — redirection phishing

Web shell dans le file manager

Web shell récupéré dans /tmp

Commande forensique utilisée :

# Fichiers modifiés entre le 18 et le 20 octobre 2025
find . -type f -newermt "2025-10-18 00:00:00" ! -newermt "2025-10-20 00:00:00"
Plan de remédiation appliqué
  • Suppression de tous les plugins compromis (/plugins et /mu-plugins)
  • Analyse et nettoyage des fichiers modifiés entre le 18 et le 20 octobre
  • Nettoyage de la base de données — suppression des 5 comptes admin frauduleux
  • Rotation des mots de passe : BDD, compte SIA, comptes WordPress légitimes
  • Redéploiement depuis une image propre — réinstallation des fichiers core WordPress
  • Activation des mises à jour automatiques des plugins
  • Mise en place d'une image Docker sécurisée (Chainguard WordPress)
  • Sensibilisation de l'équipe intégration sur la maintenance des plugins
Outils & technologies utilisés
WordPress Forensics PHP Analysis Docker / Portainer Twingate VPN MariaDB Bash / Linux CLI Git Chainguard Images