🔍 Contexte
Publié le 3 avril 2026 par Ctrl-Alt-Intel, cet article constitue la partie 2 d’une analyse d’incident portant sur l’attaque supply chain ciblant BuddyBoss, éditeur de plugins et thèmes WordPress. L’ensemble des preuves provient du serveur C2 de l’attaquant laissé en open directory, contenant logs d’exfiltration, payloads décodés, transcripts Claude Code, templates de backdoors PHP et données de 246+ sites victimes.
⏱️ Kill-chain (17 mars 2026, UTC)
L’attaque complète s’est déroulée en 2h54 entre la première exfiltration CI/CD et le premier callback victime :
- Accès initial (heure inconnue) : workflow GitHub Actions malveillant (
platform-compat.yml) poussé sur la branche master protégée de 2+ dépôts privés BuddyBoss, sous l’identité du développeur légitimeKartikSuthar - 16:24–16:28 : Exfiltration de secrets CI/CD depuis 3 dépôts (
buddyboss-platform-pro,csr-tool, dépôt inconnu) vers le C2195.178.110.242:8443— tokens GitHub, clé SSH Ed25519,appcenter_key, credentials DB/Redis - 16:36 : Connexion SSH au serveur Hetzner
95.217.100.226:2525avec la clé volée (10 min après le vol) - 17:20–17:38 : Accès au serveur RunCloud, exfiltration du
.envde production ; accès SSH au serveur AWS44.241.213.212, escalade vers root via sudo, plantation de la clé persistantectf-pivot - 18:21 : Vol du PAT GitHub org-level, mot de passe FTP, token d’automatisation
- 18:54–19:16 : Utilisation de l’
appcenter_keypour s’authentifier sur le CDN Caseproof Mothership (licenses.caseproof.com), bypass Cloudflare via l’IP Heroku origin18.208.60.216, déploiement des versions backdoorées BuddyBoss Platform v2.20.3 et Theme v2.19.2 - 19:18+ : Premiers callbacks victimes, exploitation active (vol de credentials DB, clés Stripe, scan automatisé)
🎯 Backdoors déployées
Chaque fichier backdooré (bp-loader.php et functions.php) contient deux composants :
- Exfiltration automatique : hook
after_setup_theme(priorité 1), collecte URL, credentials DB, clés WordPress, variables d’environnement, liste de plugins — POST base64/JSON vers195.178.110.242:8443 - Backdoor interactive : reverse shell TCP port 4444 (
/bin/bashviaproc_open), exécution de commandes (shell_exec), lecture de fichiers arbitraires — déclenchés via paramètres GET authentifiés (bp_compat_check,bb_theme_compat) - v2.20.4 : ajout de 6 méthodes d’exécution shell, webshell standalone
bp-compatibility.php, modeeval
🏗️ Infrastructure C2
Serveur C2 unique : 195.178.110.242:8443 — serveur Python HTTP (receiver.py) avec logging structuré complet, hiérarchie loot/by_ip/, master.log, FLAG_CANDIDATES.txt, AUTO_SCAN_RESULTS.log. Utilisé à la fois pour la réception des exfiltrations CI/CD et comme listener reverse shell.
❓ Questions non résolues
- Méthode d’accès initial GitHub non confirmée (hypothèse : extraction de secrets depuis APK mobile BuddyBoss)
- Compromission du dépôt GitHub source non prouvée (bp-loader.php v2.14.0 public est propre)
- Rôle de Claude Code : utilisé documentairement pour la phase supply chain injection (Part 1) ; vraisemblablement aussi pour CI/CD exfiltration et mouvement latéral selon les auteurs
📋 Type d’article
Rapport d’incident technique détaillé avec reconstruction complète de kill-chain, analyse forensique de C2, extraction d’IOCs et mapping MITRE ATT&CK. But principal : documenter une attaque supply chain réelle ayant impacté 246+ sites WordPress clients de BuddyBoss.
🧠 TTPs et IOCs détectés
TTP
- T1195.002 — Supply Chain Compromise: Compromise Software Supply Chain (Initial Access)
- T1078.004 — Valid Accounts: Cloud Accounts (Initial Access)
- T1059.004 — Command and Scripting Interpreter: Unix Shell (Execution)
- T1098.004 — Account Manipulation: SSH Authorized Keys (Persistence)
- T1505.003 — Server Software Component: Web Shell (Persistence)
- T1548.003 — Abuse Elevation Control Mechanism: Sudo and Sudo Caching (Privilege Escalation)
- T1036.005 — Masquerading: Match Legitimate Name or Location (Defense Evasion)
- T1027 — Obfuscated Files or Information (Defense Evasion)
- T1552.001 — Unsecured Credentials: Credentials In Files (Credential Access)
- T1552.004 — Unsecured Credentials: Private Keys (Credential Access)
- T1528 — Steal Application Access Token (Credential Access)
- T1018 — Remote System Discovery (Discovery)
- T1087.001 — Account Discovery: Local Account (Discovery)
- T1021.004 — Remote Services: SSH (Lateral Movement)
- T1005 — Data from Local System (Collection)
- T1041 — Exfiltration Over C2 Channel (Exfiltration)
- T1020 — Automated Exfiltration (Exfiltration)
- T1071.001 — Application Layer Protocol: Web Protocols (Command and Control)
IOC
- IPv4 :
195.178.110.242— AbuseIPDB · VT · ThreatFox - IPv4 :
95.217.100.226— AbuseIPDB · VT · ThreatFox - IPv4 :
44.241.213.212— AbuseIPDB · VT · ThreatFox - IPv4 :
18.208.60.216— AbuseIPDB · VT · ThreatFox - Domaines :
licenses.caseproof.com— VT · URLhaus · ThreatFox - Domaines :
api-build.buddyboss.com— VT · URLhaus · ThreatFox - Domaines :
monitor.api-publish.buddyboss.com— VT · URLhaus · ThreatFox - Domaines :
download.api-publish.buddyboss.com— VT · URLhaus · ThreatFox - Domaines :
api-publish.buddyboss.com— VT · URLhaus · ThreatFox - Domaines :
appcenter.hz5.developbb.dev— VT · URLhaus · ThreatFox - Domaines :
bbapp-cert-services.hz5.developbb.dev— VT · URLhaus · ThreatFox - Domaines :
crm.hz5.developbb.dev— VT · URLhaus · ThreatFox - SHA256 :
ddda12b545a7b817883641421cf6a213f4c5100effa40cdb55018efce11bbe42— VT · MalwareBazaar - SHA256 :
5027a0e77eca13a5cc120d3e37262c4073452569ad341cd1558051b5a91ce144— VT · MalwareBazaar - Fichiers :
bp-loader.php - Fichiers :
functions.php - Fichiers :
bp-compatibility.php - Fichiers :
platform-compat.yml - Fichiers :
receiver.py - Fichiers :
buddyboss-platform-2.13.1-backdoored.zip - Fichiers :
buddyboss-theme-2.13.1-backdoored.zip - Fichiers :
AUTO_SCAN_RESULTS.log - Fichiers :
FLAG_CANDIDATES.txt - Chemins :
/root/.ssh/authorized_keys
Malware / Outils
- BuddyBoss Platform v2.20.3 backdoor (bp-loader.php) (backdoor)
- BuddyBoss Theme v2.19.2 backdoor (functions.php) (backdoor)
- bp-compatibility.php webshell (backdoor)
- receiver.py C2 HTTP listener (tool)
- Claude Code (tool)
🟢 Indice de vérification factuelle : 83/100 (haute)
- ✅ ctrlaltintel.com — source reconnue (Rösti community) (20pts)
- ✅ 25284 chars — texte complet (fulltext extrait) (15pts)
- ✅ 24 IOCs dont des hashes (15pts)
- ✅ 1/8 IOC(s) confirmé(s) (AbuseIPDB, MalwareBazaar, ThreatFox, URLhaus, VirusTotal) (8pts)
- ✅ 18 TTPs MITRE identifiées (15pts)
- ✅ date extraite du HTML source (10pts)
- ⬜ aucun acteur de menace nommé (0pts)
- ⬜ pas de CVE à vérifier (0pts)
IOCs confirmés externellement :
195.178.110.242(ip) → AbuseIPDB (81% confiance, 558 signalements) + VT (11/94 détections)
🔗 Source originale : https://ctrlaltintel.com/research/BuddyBoss-2/