🔍 Contexte
Publié le 1er octobre 2026 sur le blog Sucuri, cet article présente une analyse technique approfondie d’une compromission WordPress persistante, baptisée famille SC (d’après les marqueurs SC_ dans le code injecté). L’analyse est issue de travaux de nettoyage de sites web réels.
🧩 Architecture de persistance circulaire
Le malware SC se distingue par sa capacité à survivre à toute suppression partielle grâce à 8 composants redondants qui se régénèrent mutuellement :
.user.ini: définitauto_prepend_filepour exécuter un loader avant chaque requête PHP- Shim PHP (
wp-content/c1b12371.php) : inclut le fichier caché si présent - Loader à table de chaînes (
wp-content/.c1b12371.php) : reconstruit le mu-plugin depuis 3 sources - Drop-in
db.php: contient le payload complet en blob gzip+base64, redéploie le plugin si absent - Drop-in
advanced-cache.php: reconstruit le plugin depuis 5 sources indépendantes (mu-plugin, plugin, mémoire partagée SysV, ZIP, base de données) - Injection dans
functions.phpdu thème actif : jumeau du drop-indb.php - Backdoor en mu-plugin (
wp-content/mu-plugins/hyper-engine-kit.php) : payload principal - Copie en plugin normal (
wp-content/plugins/hyper-engine-kit/hyper-engine-kit.php) : redondance
💾 Persistance hors fichiers
Trois vecteurs de persistance non-fichiers ont été identifiés :
- Base de données : payload stocké dans une option WordPress sous nom aléatoire (gzip+base64)
- Mémoire partagée System V : segment identifié par une clé numérique fixe, survit aux suppressions de fichiers et de BDD, potentiellement partagé entre comptes
- Tâches planifiées : hooks cron enregistrés (noms aléatoires + hook
fetchconnu) pour redéploiement périodique - Triggers de base de données : recréent un administrateur à chaque insertion dans la table users
⚙️ Capacités de la backdoor
- Auto-dissimulation : filtre la liste des plugins, les vues admin, les mises à jour ; injection JS pour effacer l’entrée du tableau
- C2 via blockchain : utilise ~20 passerelles RPC Ethereum publiques et des sélecteurs de méthodes de smart contracts pour recevoir des instructions
- Fingerprinting et exfiltration : collecte URL, versions WordPress/plugins, hashes de chemins, thèmes actifs, tokens de session administrateur, chiffre et envoie le tout au C2
- Injection de JavaScript : peut activer du skimming de paiement sur les boutiques en ligne
- Gestion de plugins de sécurité : peut désactiver, supprimer des plugins de sécurité et élever des comptes
- Administrateur caché : crée ou adopte un compte admin invisible, forge des cookies d’authentification valides
- Beacon : paramètre magique de requête permettant de vérifier la présence du malware
- Reconstruction complète : hooks sur de nombreuses actions/filtres WordPress pour réécrire tous les composants
🔎 Indicateurs de compromission notables
- Blocs PHP dans
db.phpouadvanced-cache.phpavec marqueursSC_ - Bloc délimité en bas de
functions.phpdu thème actif - Directive
auto_prepend_filepointant vers un fichier PHP à préfixe point - Faux plugin présent dans
mu-pluginsETpluginsavec page de paramètres factice - Bundle ZIP de restauration avec nom hexadécimal aléatoire
- Option WordPress avec blob gzip+base64 de grande taille, préfixes
sc_ - Segment de mémoire partagée contenant du PHP
- Administrateur privilégié absent de la liste des utilisateurs
- Requêtes sortantes vers des passerelles RPC Ethereum publiques
📄 Nature de l’article
Il s’agit d’une analyse technique détaillée publiée par Sucuri, visant à documenter le fonctionnement interne de la famille SC, ses mécanismes de persistance multi-couches et la procédure de nettoyage ordonnée nécessaire pour l’éradiquer complètement.
🧠 TTPs et IOCs détectés
TTP
- T1505.001 — Server Software Component: SQL Stored Procedures (Persistence)
- T1505.004 — Server Software Component: IIS Components (Persistence)
- T1027 — Obfuscated Files or Information (Defense Evasion)
- T1027.002 — Obfuscated Files or Information: Software Packing (Defense Evasion)
- T1053.005 — Scheduled Task/Job: Scheduled Task (Persistence)
- T1564.001 — Hide Artifacts: Hidden Files and Directories (Defense Evasion)
- T1564.003 — Hide Artifacts: Hidden Window (Defense Evasion)
- T1136.001 — Create Account: Local Account (Persistence)
- T1078.003 — Valid Accounts: Local Accounts (Defense Evasion)
- T1071 — Application Layer Protocol (Command and Control)
- T1102 — Web Service (Command and Control)
- T1041 — Exfiltration Over C2 Channel (Exfiltration)
- T1539 — Steal Web Session Cookie (Credential Access)
- T1112 — Modify Registry (Defense Evasion)
- T1176 — Browser Extensions (Persistence)
- T1059.004 — Command and Scripting Interpreter: Unix Shell (Execution)
- T1562.001 — Impair Defenses: Disable or Modify Tools (Defense Evasion)
- T1608.001 — Stage Capabilities: Upload Malware (Resource Development)
IOC
- Fichiers :
c1b12371.php - Fichiers :
.c1b12371.php - Fichiers :
db.php - Fichiers :
advanced-cache.php - Fichiers :
hyper-engine-kit.php - Chemins :
wp-content/c1b12371.php - Chemins :
wp-content/.c1b12371.php - Chemins :
wp-content/db.php - Chemins :
wp-content/advanced-cache.php - Chemins :
wp-content/themes/khorshidi/functions.php - Chemins :
wp-content/mu-plugins/hyper-engine-kit.php - Chemins :
wp-content/plugins/hyper-engine-kit/hyper-engine-kit.php
⚠️ À propos de ces IOC — ils sont extraits automatiquement de l’article original le 1 octobre 2026 et n’ont pas fait l’objet d’une vérification externe. Un indicateur peut avoir été réattribué depuis : une IP de C2 peut redevenir un service légitime, un domaine sinkholé peut changer de propriétaire. Aucune garantie d’exactitude ni d’actualité — contrôlez leur validité avant tout usage opérationnel, en particulier avant de les injecter dans une blocklist ou un SIEM.
Malware / Outils
- SC malware family (backdoor)
🟡 Indice de vérification factuelle : 40/100 (moyenne)
- ⬜ blog.sucuri.net — source non référencée (0pts)
- ✅ 15647 chars — texte complet (15pts)
- ✅ 12 IOCs (IPs/domaines/CVEs) (10pts)
- ⬜ pas d’IOC vérifié (0pts)
- ✅ 18 TTPs MITRE identifiées (15pts)
- ⬜ date RSS ou approximée (0pts)
- ⬜ aucun acteur de menace nommé (0pts)
- ⬜ pas de CVE à vérifier (0pts)
🔗 Source originale : https://blog.sucuri.net/2026/09/sc-wordpress-malware-a-self-healing-mesh-of-loaders-drop-ins-and-a-blockchain-controlled-backdoor.html