Source et contexte: Mandiant (Google Threat Intelligence Group) publie une analyse technique montrant, pour la première fois selon GTIG, l’adoption d’EtherHiding par un acteur étatique, UNC5342 (Corée du Nord), dans une campagne active depuis février 2025 (liée à « Contagious Interview »). La chaîne d’infection s’appuie sur les malwares JADESNOW (downloader) et INVISIBLEFERRET.JAVASCRIPT (backdoor), avec des objectifs de vol de cryptomonnaies et espionnage.
Comment fonctionne EtherHiding 🧩: la technique consiste à stocker/récupérer des charges malveillantes via des blockchains publiques (BNB Smart Chain, Ethereum), utilisées comme C2 résilient.
- Étapes type: 1) compromission initiale par ingénierie sociale ou compromission de sites (WordPress) ; 2) injection d’un loader JavaScript ; 3) récupération furtive du payload via des appels read-only (p.ex. eth_call) évitant les frais et la traçabilité ; 4) exécution du payload (fausses pages, infostealers, ransomware possibles). Les avantages incluent la décentralisation, l’immutabilité, la furtivité et la flexibilité (mises à jour rapides des charges via le contrat).
Campagne DPRK 🎭: l’opération imite des process de recrutement pour viser des développeurs (crypto/tech) afin de dérober des crypto-actifs et de mener des actions d’espionnage.
- Leurre: faux recruteurs/entreprises (ex. « BlockNovas LLC », « Angeloper Agency », « SoftGlideLLC ») sur LinkedIn/boards ; bascule vers Telegram/Discord.
- Évaluation technique piégée: dépôt GitHub avec code malveillant ; variante ClickFix durant un faux entretien vidéo amenant à installer un « correctif » = malware.
- Chaîne multi-étapes: npm pour loaders (JADESNOW), second étage JS (BEAVERTAIL/JADESNOW) orienté exfiltration (wallets, extensions, creds), puis INVISIBLEFERRET pour persistance et contrôle.
Charges et infrastructure 🧪: JADESNOW récupère des payloads chiffrés (Base64 + XOR) depuis des smart contracts BNB/Ethereum, puis pivote côté Ethereum en lisant des calldata de transactions (y compris vers l’adresse « burn » 0x00…dEaD) comme Dead Drop Resolver. Le troisième étage, INVISIBLEFERRET.JAVASCRIPT, se connecte au C2 sur le port 3306 (MySQL), exécute des commandes, et exfiltre fichiers/répertoires. Des variantes scindent la charge, installent un Python portable et ajoutent un credential stealer visant Chrome/Edge, MetaMask/Phantom, et des gestionnaires de mots de passe (ex. 1Password), avec exfiltration vers un serveur des attaquants et un chat Telegram. Les acteurs interrogent plusieurs API d’explorateurs (Blockchair, Blockcypher, Ethplorer) pour fiabiliser la récupération.
Dépendances centralisées et mitigation 🧷: bien que la donnée soit on-chain, UNC5342 s’appuie sur des services API centralisés (ex. Binplorer) pour l’accès, permettant des actions de blocage par les fournisseurs réactifs. L’analyse rappelle des pistes de mitigation côté Chrome Enterprise (politiques DownloadRestrictions, mises à jour gérées, URLBlocklist, Safe Browsing).
IOC principaux 📌:
- BSC Smart Contract (JADESNOW): 0x8eac3198dd72f3e07108c4c7cff43108ad48a71c
- BSC adresse (contrôlée attaquant): 0x9bc1355344b54dedf3e44296916ed15653844509
- Tx hash (exemple historique BSC): 0x5c77567fcf00c317b8156df8e00838105f16fdd4fbbc6cd83d624225397d8856
- ETH tx (INVISIBLEFERRET.JAVASCRIPT payload): 0x86d1a21fd151e344ccc0778fd018c281db9d40b6ccd4bdd3588cb40fade1a33a
- ETH tx (INVISIBLEFERRET.JAVASCRIPT split): 0xc2da361c40279a4f2f84448791377652f2bf41f06d18f19941a96c720228cd0f
- ETH tx (credential stealer): 0xf9d432745ea15dbc00ff319417af3763f72fcf8a4debedbfceeef4246847ce41
- YARA: G_Downloader_JADESNOW_1 (règle fournie)
- Adresses/techniques on-chain additionnelles: lecture de calldata, transactions vers 0x00…dEaD, multi-API (Blockchair/Blockcypher/Ethplorer), Base64+XOR
TTPs observés 🧬:
- Ingénierie sociale ciblant développeurs (faux recruteurs/entreprises, tests techniques GitHub, ClickFix)
- Chaîne d’infection multi-étapes via npm (JADESNOW → BEAVERTAIL/JADESNOW → INVISIBLEFERRET.JS)
- C2 et hébergement via blockchain (EtherHiding), lecture read-only (eth_call), Dead Drop Resolver par transactions
- Exfiltration de credentials/wallets, zippage et envoi vers serveur et Telegram ; C2 sur port 3306
- Usage d’APIs centralisées de blockchain (Binplorer, Blockchair, Blockcypher, Ethplorer), bascule inter-chaînes (BNB ↔ Ethereum)
Il s’agit d’une analyse de menace visant à documenter l’adoption d’EtherHiding par un acteur étatique, détailler la chaîne d’attaque et partager des indicateurs/détections.
🧠 TTPs et IOCs détectés
TTP
[‘Ingénierie sociale ciblant développeurs (faux recruteurs/entreprises, tests techniques GitHub, ClickFix)’, ‘Chaîne d’infection multi-étapes via npm (JADESNOW → BEAVERTAIL/JADESNOW → INVISIBLEFERRET.JS)’, ‘C2 et hébergement via blockchain (EtherHiding), lecture read-only (eth_call), Dead Drop Resolver par transactions’, ‘Exfiltration de credentials/wallets, zippage et envoi vers serveur et Telegram ; C2 sur port 3306’, ‘Usage d’APIs centralisées de blockchain (Binplorer, Blockchair, Blockcypher, Ethplorer), bascule inter-chaînes (BNB ↔ Ethereum)’]
IOC
[‘BSC Smart Contract (JADESNOW): 0x8eac3198dd72f3e07108c4c7cff43108ad48a71c’, ‘BSC adresse (contrôlée attaquant): 0x9bc1355344b54dedf3e44296916ed15653844509’, ‘Tx hash (exemple historique BSC): 0x5c77567fcf00c317b8156df8e00838105f16fdd4fbbc6cd83d624225397d8856’, ‘ETH tx (INVISIBLEFERRET.JAVASCRIPT payload): 0x86d1a21fd151e344ccc0778fd018c281db9d40b6ccd4bdd3588cb40fade1a33a’, ‘ETH tx (INVISIBLEFERRET.JAVASCRIPT split): 0xc2da361c40279a4f2f84448791377652f2bf41f06d18f19941a96c720228cd0f’, ‘ETH tx (credential stealer): 0xf9d432745ea15dbc00ff319417af3763f72fcf8a4debedbfceeef4246847ce41’, ‘YARA: G_Downloader_JADESNOW_1’]
🔗 Source originale : https://cloud.google.com/blog/topics/threat-intelligence/dprk-adopts-etherhiding