Source : Darktrace — Analyse d’une campagne émergente baptisée ShadowV2, conçue comme une plateforme DDoS-as-a-service, mêlant outils cloud-native et malware classique.

• Le cœur de l’opération repose sur un C2 Python hébergé sur GitHub CodeSpaces, un spreader Python utilisant Docker comme vecteur d’accès initial, et un binaire Go jouant le rôle de RAT avec API REST pour l’enregistrement, le polling et l’exécution de commandes. L’infrastructure expose une spécification OpenAPI via FastAPI/Pydantic et un panneau opérateur complet, illustrant un modèle de DDoS-as-a-service.

• Vecteur d’intrusion : la campagne cible des daemons Docker exposés, observés sur des AWS EC2. Les traces incluent un User-Agent docker-sdk-python/7.1.0 et un en-tête X-Meta-Source-Client: github/codespaces, avec des connexions issues d’IPs Microsoft (Singapour). Le procédé est atypique : déploiement d’un conteneur « setup », installation d’outils, puis image et lancement d’un conteneur final avec paramètres transmis par variables d’environnement.

• Comportement du malware (Go) : enregistrement via MASTER_ADDR et VPS_NAME, génération d’un VPS_ID, heartbeat chaque seconde et polling toutes les 5 secondes vers le C2. Les commandes incluent méthode HTTP, ID d’attaque, URL de reporting, cible/port, durée, threads, et proxy optionnel. L’attaque s’appuie sur la librairie fasthttp pour des floods HTTP et propose des drapeaux pour des bypasses (Cloudflare UAM via ChromeDP, HTTP/2 Rapid Reset, entêtes X-Forwarded aléatoires, requêtes avec query strings aléatoires). Un test d’observation a relevé une attaque HTTP/2 Rapid Reset multi-threads contre chache08[.]werkecdn[.]me.

• C2 & interface opérateur : le backend HTTP derrière Cloudflare révèle l’usage de FastAPI/Pydantic (erreurs Pydantic, Swagger/OpenAPI brièvement exposé). L’API suggère un service multi-tenant avec authentification, rôles (admin/utilisateur), limites par utilisateur, endpoint de lancement d’attaque nécessitant une liste de « zombies », et gestion d’une blacklist. Le domaine C2 affiche un faux avis de saisie, mais le panneau de connexion (UI Tailwind) demeure accessible.

• IoCs et TTPs

  • IoCs (hashes SHA256) :
    • 2462467c89b4a62619d0b2957b21876dc4871db41b5d5fe230aa7ad107504c99
    • 1b552d19a3083572bc433714dfbc2b75eb6930a644696dedd600f9bd755042f6
    • 1f70c78c018175a3e4fa2b3822f1a3bd48a3b923d1fbdeaa5446960ca8133e9c
  • Domaine C2 : shadow.aurozacloud[.]xyz
  • IPs du spreader : 23.97.62[.]139, 23.97.62[.]136
  • Règle YARA fournie pour détecter l’implant ShadowV2

• TTPs observés

  • Exploitation de daemons Docker exposés sur AWS EC2 comme accès initial
  • Déploiement multi-étapes via Docker (conteneur setup, imaging, exécution finale)
  • C2 REST (FastAPI/Pydantic), Swagger/OpenAPI, polling/heartbeat
  • RAT en Go utilisant fasthttp pour floods HTTP
  • HTTP/2 Rapid Reset et contournement Cloudflare UAM (ChromeDP)
  • Options de camouflage: en-têtes X-Forwarded-IP aléatoires, query strings aléatoires, proxy optionnel
  • Panneau opérateur avec rôles, limites, blacklist et lancement sur liste de « zombies »

Conclusion : Il s’agit d’une analyse de menace détaillant une campagne DDoS-as-a-service (ShadowV2) et publiant des IoCs ainsi qu’une règle YARA pour la détection.

🧠 TTPs et IOCs détectés

TTP

Exploitation de daemons Docker exposés sur AWS EC2 comme accès initial, Déploiement multi-étapes via Docker (conteneur setup, imaging, exécution finale), C2 REST (FastAPI/Pydantic), Swagger/OpenAPI, polling/heartbeat, RAT en Go utilisant fasthttp pour floods HTTP, HTTP/2 Rapid Reset et contournement Cloudflare UAM (ChromeDP), Options de camouflage: en-têtes X-Forwarded-IP aléatoires, query strings aléatoires, proxy optionnel, Panneau opérateur avec rôles, limites, blacklist et lancement sur liste de « zombies »

IOC

Hashes SHA256: 2462467c89b4a62619d0b2957b21876dc4871db41b5d5fe230aa7ad107504c99, 1b552d19a3083572bc433714dfbc2b75eb6930a644696dedd600f9bd755042f6, 1f70c78c018175a3e4fa2b3822f1a3bd48a3b923d1fbdeaa5446960ca8133e9c; Domaine C2: shadow.aurozacloud[.]xyz; IPs du spreader: 23.97.62[.]139, 23.97.62[.]136


🔗 Source originale : https://www.darktrace.com/blog/shadowv2-an-emerging-ddos-for-hire-botnet