🔍 Contexte

PubliĂ© le 22 septembre 2026 par Aikido Security, cet article prĂ©sente une analyse technique dĂ©taillĂ©e d’une extension de la campagne Graphalgo, initialement rapportĂ©e par ReversingLabs en fĂ©vrier 2026. C’est la premiĂšre fois que des malwares sont distribuĂ©s via des providers Terraform.

📩 Vecteurs de distribution

L’acteur malveillant a utilisĂ© quatre packages compromis :

Providers Terraform :

  • gocommunity-io/dockerd
  • kreuzwenker/docker (typosquat de kreuzwerker/docker, 56 millions de tĂ©lĂ©chargements)

Modules Go :

  • gocommunity.io/orderedbtree (publiĂ© le 11 aoĂ»t 2026)
  • gogets.dev/btreex (publiĂ© le 8 septembre 2026, avec commits backdatĂ©s Ă  novembre 2025)

⚙ MĂ©canisme d’activation

Les providers Terraform contiennent des points d’entrĂ©e cachĂ©s dans resource_docker_container_funcs.go, activĂ©s uniquement lorsque le hash SHA256 de la concatĂ©nation des variables containerName et networkID correspond Ă  une valeur spĂ©cifique (b9966e3762e9a0d5d263b8cb3cca07294f81af9714d40ddf4628cb85d74e8ad5). Ce hash sert de clĂ© AES pour dĂ©chiffrer un chemin de fichier ZIP (import-resource.sqlite3), dĂ©compresser et exĂ©cuter du code Go via go run ..

Le module gogets.dev/btreex utilise une logique similaire, activée par une valeur entiÚre de prix spécifique dans un objet traité.

đŸ€– RAT second stage

Le RAT Go de second niveau dispose de deux canaux C2 :

  1. Slack : collecte d’informations systĂšme (OS, hostname, username, prĂ©sence de node) envoyĂ©es au canal frontend-devs du workspace portfolio-devs.slack.com. Les communications ultĂ©rieures transitent vers portfolio-testers.slack.com dans le canal qa-announcements.
  2. Blockchain : utilisation d’un smart contract Ethereum sur le testnet Arbitrum Sepolia (0xAD02b5cDE693529d3bdA0266299501ad0193036C) pour rĂ©cupĂ©rer et Ă©mettre des commandes chiffrĂ©es via les mĂ©thodes setCPubKey, serviceData1 et serviceData2.

Le malware génÚre une paire de clés éphémÚres et utilise la clé publique hardcodée 302a300506032b656e032100bad013df6eec5d686f4cc8551e0a5c87a0135164bdd1dafb1c75141d1b526702 pour chiffrer les communications. Il interroge la blockchain toutes les 3 secondes et Slack toutes les 10 secondes.

🌐 Infrastructure et faux Ă©cosystĂšmes Go

L’acteur a créé deux faux Ă©cosystĂšmes Go (gogets[.]dev et gocommunity[.]io) avec des sites web associĂ©s, enregistrĂ©s dans les jours suivant la crĂ©ation des organisations GitHub contrĂŽlĂ©es. Ces domaines servent Ă  lĂ©gitimiser les packages malveillants.

Comptes GitHub impliqués : gocommunity-io, go-pack-tech, kreuzwenker, victormmpp, gogets-dev, markcary3, steveb082, go-community-admin.

📊 Victimologie

L’analyse des messages Slack rĂ©vĂšle 18 hostnames uniques sur 725 messages : 3 victimes sous Windows, 5 sous Linux, 10 sous macOS. Les tests initiaux ont Ă©tĂ© effectuĂ©s depuis un appareil Windows avec le hostname Frank et l’utilisateur Frank1 Ă  partir du 16 juillet 2026.

📰 Nature de l’article

Il s’agit d’une analyse technique approfondie publiĂ©e par Aikido Security, visant Ă  documenter une campagne de supply chain active, fournir des IoCs exploitables et alerter la communautĂ© DevOps/Go sur un nouveau vecteur d’attaque via Terraform.

🧠 TTPs et IOCs dĂ©tectĂ©s

TTP

  • T1195.001 — Supply Chain Compromise: Compromise Software Dependencies and Development Tools (Initial Access)
  • T1204.002 — User Execution: Malicious File (Execution)
  • T1027 — Obfuscated Files or Information (Defense Evasion)
  • T1573.001 — Encrypted Channel: Symmetric Cryptography (Command and Control)
  • T1102.001 — Web Service: Dead Drop Resolver (Command and Control)
  • T1102 — Web Service (Command and Control)
  • T1082 — System Information Discovery (Discovery)
  • T1036.005 — Masquerading: Match Legitimate Name or Location (Defense Evasion)
  • T1553 — Subvert Trust Controls (Defense Evasion)
  • T1059.004 — Command and Scripting Interpreter: Unix Shell (Execution)

IOC

  • Domaines : gocommunity.io — VT · URLhaus · ThreatFox
  • Domaines : gogets.dev — VT · URLhaus · ThreatFox
  • Domaines : portfolio-devs.slack.com — VT · URLhaus · ThreatFox
  • Domaines : portfolio-testers.slack.com — VT · URLhaus · ThreatFox
  • Domaines : mediumstar.slack.com — VT · URLhaus · ThreatFox
  • SHA256 : b9966e3762e9a0d5d263b8cb3cca07294f81af9714d40ddf4628cb85d74e8ad5 — VT · MalwareBazaar
  • SHA256 : 5f892a5424e88a21a3eb3d7f82ebf04d8ac31cdb19ada25153be4165df977d0f — VT · MalwareBazaar
  • SHA256 : ab01686d87565250fc4989faddb877d793667b07ec217a61cbd798f5695d62f5 — VT · MalwareBazaar
  • Fichiers : import-resource.sqlite3
  • Fichiers : btreex.sql
  • Fichiers : resource_docker_container_funcs.go
  • Chemins : /internal/provider/resource_docker_container_funcs.go
  • Chemins : examples/resources/docker_container/import-resource.sqlite3

⚠ À propos de ces IOC — ils sont extraits automatiquement de l’article original le 23 septembre 2026 et n’ont pas fait l’objet d’une vĂ©rification externe. Un indicateur peut avoir Ă©tĂ© rĂ©attribuĂ© depuis : une IP de C2 peut redevenir un service lĂ©gitime, un domaine sinkholĂ© peut changer de propriĂ©taire. Aucune garantie d’exactitude ni d’actualitĂ© — contrĂŽlez leur validitĂ© avant tout usage opĂ©rationnel, en particulier avant de les injecter dans une blocklist ou un SIEM.

Malware / Outils

  • Graphalgo RAT (rat)

🟱 Indice de vĂ©rification factuelle : 87/100 (haute)

  • ✅ aikido.dev — source reconnue (Rösti community) (20pts)
  • ✅ 15355 chars — texte complet (fulltext extrait) (15pts)
  • ✅ 13 IOCs dont des hashes (15pts)
  • ✅ 2/6 IOCs confirmĂ©s (MalwareBazaar, ThreatFox, URLhaus, VirusTotal) (12pts)
  • ✅ 10 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 :

  • gocommunity.io (domain) → VT (3/89 dĂ©tections)
  • gogets.dev (domain) → VT (3/89 dĂ©tections)

🔗 Source originale : https://www.aikido.dev/blog/graphalgo-terraform-go-modules