🔍 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égitime KartikSuthar
  • 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 C2 195.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:2525 avec la clé volée (10 min après le vol)
  • 17:20–17:38 : Accès au serveur RunCloud, exfiltration du .env de production ; accès SSH au serveur AWS 44.241.213.212, escalade vers root via sudo, plantation de la clé persistante ctf-pivot
  • 18:21 : Vol du PAT GitHub org-level, mot de passe FTP, token d’automatisation
  • 18:54–19:16 : Utilisation de l’appcenter_key pour s’authentifier sur le CDN Caseproof Mothership (licenses.caseproof.com), bypass Cloudflare via l’IP Heroku origin 18.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 vers 195.178.110.242:8443
  • Backdoor interactive : reverse shell TCP port 4444 (/bin/bash via proc_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, mode eval

🏗️ 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.242AbuseIPDB · VT · ThreatFox
  • IPv4 : 95.217.100.226AbuseIPDB · VT · ThreatFox
  • IPv4 : 44.241.213.212AbuseIPDB · VT · ThreatFox
  • IPv4 : 18.208.60.216AbuseIPDB · VT · ThreatFox
  • Domaines : licenses.caseproof.comVT · URLhaus · ThreatFox
  • Domaines : api-build.buddyboss.comVT · URLhaus · ThreatFox
  • Domaines : monitor.api-publish.buddyboss.comVT · URLhaus · ThreatFox
  • Domaines : download.api-publish.buddyboss.comVT · URLhaus · ThreatFox
  • Domaines : api-publish.buddyboss.comVT · URLhaus · ThreatFox
  • Domaines : appcenter.hz5.developbb.devVT · URLhaus · ThreatFox
  • Domaines : bbapp-cert-services.hz5.developbb.devVT · URLhaus · ThreatFox
  • Domaines : crm.hz5.developbb.devVT · URLhaus · ThreatFox
  • SHA256 : ddda12b545a7b817883641421cf6a213f4c5100effa40cdb55018efce11bbe42VT · MalwareBazaar
  • SHA256 : 5027a0e77eca13a5cc120d3e37262c4073452569ad341cd1558051b5a91ce144VT · 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/