🔍 Contexte
Publié le 5 août 2026 sur le blog Calif.io, cet article présente wp2root, une chaîne post-exploitation développée par l’équipe Calif pour faire suite à wp2shell (RCE pré-authentifiée WordPress Core d’AssetNote). L’article est accompagné d’un dépôt PoC public.
🎯 Objectif de la chaîne
La chaîne wp2root part d’une exécution PHP contrainte (obtenue via wp2shell) et aboutit à un accès root sur le système Linux hôte, en contournant les restrictions PHP (disable_functions, filesystem read-only) et les protections noyau.
🔗 Étapes de la chaîne d’exploitation
- Exécution PHP contrainte via wp2shell (REST desync → SQL injection pré-auth → upload plugin → RCE PHP)
- UAF Serializable PHP : bug dans le chemin
Serializable::unserialize()— appel récursif sans verrou de sérialisation → resize de table de propriétés → buckets libérés → zvals contrôlés par l’attaquant - Lecture arbitraire via réinterprétation des zvals corrompus
- ROP auto-résolvant : fuite d’un pointeur de code live → localisation de l’image PHP en mémoire → résolution dynamique des gadgets → pivot de pile via destruction de tableau PHP corrompu
- Exécution de code natif : buffer marqué exécutable, saut vers le launcher PIC
- Copy Fail (LPE 2026) : écrasement du cache de pages noyau de
/usr/bin/su(setuid-root) sans modifier le fichier disque → exécution du stub en tant que root - Shell root fileless : helper ELF chargé via
memfd_create+execveat(AT_EMPTY_PATH), aucun fichier écrit sur disque
⚙️ Techniques notables
- Fileless execution : utilisation de
memfd_createetexecveatpour exécuter le helper en mémoire - Contournement FIM : le fichier
/usr/bin/susur disque n’est jamais modifié - ROP sans profil fixe : résolution dynamique des adresses à l’exécution
- Accélération par IA : chaîne développée en moins d’une heure avec OpenAI Codex
📦 Artefacts publiés
- Dépôt
wp2rootavec PoC complet, lab local, et write-ups détaillés - Composants :
root_payload_launcher.asm,root_payload_helper.c
📰 Nature de l’article
Article de recherche offensive / publication technique avec PoC, visant à démontrer l’état de l’art de l’exploitation WordPress post-2026 et l’impact de l’IA sur la vitesse de développement d’exploits.
🧠 TTPs et IOCs détectés
TTP
- T1190 — Exploit Public-Facing Application (Initial Access)
- T1059.004 — Command and Scripting Interpreter: Unix Shell (Execution)
- T1068 — Exploitation for Privilege Escalation (Privilege Escalation)
- T1055 — Process Injection (Defense Evasion)
- T1620 — Reflective Code Loading (Defense Evasion)
- T1027 — Obfuscated Files or Information (Defense Evasion)
- T1548.001 — Abuse Elevation Control Mechanism: Setuid and Setgid (Privilege Escalation)
- T1505.003 — Server Software Component: Web Shell (Persistence)
- T1601 — Modify System Image (Defense Evasion)
- T1610 — Deploy Container (Defense Evasion)
IOC
- CVEs :
CVE-2009-2854— NVD · CIRCL - Fichiers :
root_payload_launcher.asm - Fichiers :
root_payload_helper.c - Chemins :
/usr/bin/su - Chemins :
wp-login.php
Malware / Outils
- wp2shell (tool)
- wp2root (framework)
🟢 Indice de vérification factuelle : 70/100 (haute)
- ✅ blog.calif.io — source reconnue (Rösti community) (20pts)
- ✅ 11701 chars — texte complet (fulltext extrait) (15pts)
- ✅ 5 IOCs (IPs/domaines/CVEs) (10pts)
- ⬜ pas d’IOC vérifié (0pts)
- ✅ 10 TTPs MITRE identifiées (15pts)
- ✅ date extraite du HTML source (10pts)
- ⬜ aucun acteur de menace nommé (0pts)
- ⬜ 0/1 CVE(s) confirmée(s) (0pts)
🔗 Source originale : https://blog.calif.io/p/the-wordpress-chain-massacre