Préambule
Dans le monde de la cyber-criminalité, un étrange jeu du chat et de la souris se déroule en permanence. Les chercheurs en cybersécurité traquent sans relâche les infrastructures des cyber-attaquants. Dès que certains de leurs composants sont découverts et exposés au grand jour, ceux-ci deviennent rapidement obsolètes, car ils rejoignent les longues listes d'indicateurs de compromission (IOC) qui garnissent les équipements de sécurité informatique. Les cyber-attaquants doivent donc être en mesure de s'adapter continuellement.
On peut y voir une analogie avec un espion : lorsqu'il est percé à jour, il devient inutile. Pour les acteurs malveillants, il y a donc deux grands besoins à assouvir :
- Opérer discrètement afin de retarder au maximum le moment de leur détection. Les plus gros impacts des campagnes étant principalement attendus les premiers jours.
- Faire preuve de résilience afin de conserver une capacité de frappe malgré les réactions adverses. Les serveurs de Command and Control (C2) doivent rester actifs le plus longtemps possible. Les cyber-attaquants doivent pouvoir être suffisamment souples pour rebondir si certains d'entre eux se font bloquer. Et le tout, en économisant si possible les ressources humaines et matérielles engagées.
C'est en réponse à ces points qu'est apparue la technique du "EtherHiding" (ou "EtherHide"). Le principe pour le cyber-attaquant consiste à exploiter la technologie de la blockchain pour y stocker certains composants de son infrastructure. Les nœuds impliqués sont sur des emplacements géographiques différents, sans gestion par une entité ou une organisation unique, ce qui rend les blocs impossibles à supprimer via une demande externe. De plus, ceci complique toute détection puisque le trafic est dirigé vers des nœuds légitimes, plutôt que vers un C2. Et enfin, puisque la blockchain constitue un intermédiaire immuable entre les victimes et le groupe cyber-criminel, ce dernier peut remodeler ses serveurs plus facilement, sans devoir modifier quoi que ce soit du côté de ses victimes.
Cette technique, théorisée à la fin des années 2010, a commencé à apparaître de façon retentissante en 2023 avec une campagne du groupe UNC5142. Depuis son apparition la même année, celui-ci a adopté ce mode d'action afin de déployer des infostealers sur des victimes. Des opérations similaires sont également fréquemment observées depuis. Si la blockchain utilisée et le mode opératoire peuvent varier, la stratégie demeure la même pour le moment.
Il faut cependant noter que cette nouvelle technique n'est pas sans inconvénient pour les cyber-attaquants. Elle ouvre de nouvelles opportunités de suivis aux analystes, ainsi que des possibilités de contre-attaques. Enfin, même si la dissimulation du trafic permet d'échapper à la détection, il existe des parades pour s'en protéger.
La technique EtherHiding
Le smart contract
Le cœur de la technique de l'EtherHiding consiste pour l'attaquant à placer certaines données dans un smart contract. Dans le monde de la blockchain, un smart contract est un programme informatique qui vérifie et exécute un accord. Il comporte une adresse, un code source immuable et un espace de données différentiel qui évolue via les futurs blocs ajoutés issus des transactions intégrées à la blockchain. C'est principalement dans cet espace de stockage que les attaquants déploient des informations comme :
- Une adresse de C2.
- Un payload à injecter.
Le fait que l'on puisse faire évoluer ces données sur de nouveaux blocs permet ainsi aux groupes cyber-criminels de ré-articuler leur attaque à tout moment. Il leur suffit pour cela de réaliser des transactions qui font évoluer l'espace de stockage sur leurs smart contracts.
À présent, comment la victime interagit-elle avec ce contrat ? Dans les campagnes observées jusqu'ici, cela s'opère principalement par le biais de pages web légitimes altérés par les cyber-attaquants. Ceux-ci y injectent un script supplémentaire qui lance une requête vers le smart contract afin de récupérer les données. Pour y parvenir, les cyber-attaquants font appels à des services de Blockchain Infrastructure Platform (BIP). Il s'agit d'entités qui hébergent des nœuds de diverses blockchains et qui proposent à leurs clients d’interagir avec elles via un ensemble de fonctions. Parmi ces services, on retrouve par exemple Alchemy, Ankr ou encore Quicknode. Ils sont donc parfaitement légitimes. Ils se rémunèrent souvent en facturant à leurs clients les transactions opérées sur les blocs, ainsi que sur les appels de fonctions vers les smart contracts.
L'une d'entre-elles est d'ailleurs massivement utilisée dans le cas de la technique de l'EtherHiding, il s'agit de eth_call. Celle-ci permet d'appeler un contrat afin d'en collecter des informations. Cette fonction est utilisable depuis un script javascript par une simple requête POST. On peut ainsi contacter directement le contrat via son adresse. Dans la plupart des cas, il faut également joindre une clé API en paramètre afin que le BIP authentifie la demande du client.
Exemple d'appel eth_call dans un script Javascript
const body = {
jsonrpc: "2.0",
method: "eth_call",
params: [{
to: CONTRACT,
data: DATA
}, "latest"],
id: 1
};
const r = await fetch(RPC_URL, {
method: "POST",
body: JSON.stringify(body)
});
La fonction eth_call est également embarquée dans certaines librairies, comme ethers.js, viem, web3.js. Celles-ci peuvent donc parfois se retrouver dans le script injecté. Les données collectées sont ensuite exploitées par le script. Plusieurs cas d'usages sont alors observés, parfois complémentaires.
Cas d'usage de liaison avec un C2
Dans ce cas de figure, la révision la plus récente des données consommées par le smart contract contient la configuration nécessaire pour joindre un serveur de Command and Control des criminels. L'appel au contrat peut retourner entre-autre un URL, un port, une clé de chiffrement, une configuration... Une fois récupéré par le script, celui-ci lance des requêtes vers le C2 qui sera utilisé pour la suite de l'attaque. Ici, le smart contract fait donc office d'annuaire, permettant à l'attaquant d'aiguiller la victime vers son C2. Si cela ne rend pas l'attaquant indétectable, cela renforce sa résilience. Même si les IP et URL de son C2 se font bloquer, le contrat, lui, est toujours opérationnel. Et il suffit de faire évoluer ses données pour que l'attaquant relance son opération.

Figure 1 : Exemple d'un smart contract retournant l'adresse d'un C2
Cas d'usage de modification de la page web
Dans ce cas, les données du smart contract retournent du code HTML/javascript que le script affiche dans une fenêtre superposée à la page initiale (un iframe). Celle-ci indique aux victimes de faux messages d'erreurs, ou bien de faux Captcha, dans le but de leur faire à entrer des commandes malveillantes (la fameuse technique du Clickfix) pour la suite de l'attaque. Il est à noter que, soit le smart contract retourne le code lui-même, soit il redirige vers un C2 qui contient lui-même la page, comme indiqué dans la section précédente.

Figure 2 : Exemple d'un Smart Contract retournant directement un payload
Cas d'usage du proxy pattern
Dans les infrastructures de type blockchain, ce que l'on appelle le proxy pattern est un modèle permettant de séparer le routage et la logique. Concrètement, il s'agit de disposer d'un smart contract vitrine qui fait office de point de contact initial avec l'extérieur. Son rôle est de rediriger les demandes vers d'autres smart contracts qui, eux, exécutent les fonctions logiques.
Pour les attaquants, l'intérêt de cette technique est de pouvoir moduler dynamiquement leurs opérations en créant de nouveaux contrats qui seront utilisés à la place des anciens. De plus, il est possible de créer plusieurs contrats, avec, pour chacun d'entre eux, une fonction précise. Le cas de la campagne de UNC5142 en novembre 2024 est d'ailleurs intéressant à ce niveau.
Son fonctionnement était le suivant :
- Le javascript injecté se connecte au premier contrat proxy. Ce dernier renvoie l'adresse d'un deuxième contrat.
- Le script contacte le deuxième contrat en lui envoyant des données du système. Ces dernières sont utilisées pour effectuer de la télémétrie, ainsi que pour obtenir l'adresse d'un troisième smart contract, en fonction du profil de la victime.
- Le dernier contrat est contacté. Il renvoie le payload à la victime, personnalisé selon son profil.

Figure 3 : Exemple d'un proxy pattern
Chronologie
Depuis son apparition fin 2023, plusieurs campagnes exploitant la technique de l'EtherHiding ont été découvertes. Les modèles de celles-ci varient selon les opérations mais le principe demeure le même. Nous observons cependant des marqueurs temporels sur les plus grandes opérations et sur les variations de techniques employées :
- Septembre 2023 : Début de la campagne ClearFake par le groupe UNC5142.
- Il s'agit du premier emploi massif observé de cette technique.
- Il s'agit initialement de faire télécharger à la victime une fausse mise à jour de navigateur.
- La campagne se base sur la BlockChain Binance Smart Chain (BSC).
- Mai 2024 : Première variation de ClearFake qui opère à présent du ClickFix via de faux messages d'erreurs dans le navigateur.
- Novembre 2024 : ClearFake se réarticule en utilisant un proxy pattern. Il s'agit du système à trois contrats présenté dans la section précédente.
- Décembre 2024 : Nouveau leurre repéré dans ClearFake : un faux reCAPTCHA, avec encore une intention d'effectuer du ClickFix.
- Février 2025 : Le groupe nord-coréen UNC5342 lance une campagne utilisant le malware Jadesnow.
- Le payload renvoyé par le smart contract est un variant de InvisibleFerret, dont l'un des objectifs est de voler des cryptomonnaies.
Une technique avec des inconvénients
Cette technique présente, comme on l'a vu, des avantages très intéressants pour les attaquants. En effet, les blocs décentralisés sont impossibles à supprimer. Il y a également le cas des Blockchain Infrastructure Plarforms, que les groupes criminels emploient pour l'interaction entre les victimes et les smart contracts. Les autorités pourraient en théorie entreprendre des actions contre ces services pour qu'elles suppriment les comptes des cyber-malveillants. Mais ces procédures seront probablement très longues et bien incertaines, en fonction du pays d'implantation de ces fameux services BIP. Il y a fort à parier que leurs niveaux de coopération seront très variables.
En revanche, l'EtherHiding n'est pas sans inconvénient pour les criminels. De par sa nature, les informations stockées sur les blocs sont publics et immuables. Via les outils de recherches sur les blockchains, les analystes peuvent accéder à leur contenu, ainsi qu'à des marquants identifiant les attaquants. Il est donc possible d'observer en temps réels leurs transactions et leurs activités.
De plus, le code et les données stockées dans les smart contract sont accessibles après déchiffrement. Ainsi, s'il y a des C2 employés, ils peuvent être localisés ici. De même, les éventuels payloads peuvent être examinés, et les données de télémétrie des victimes sont lisibles. Dans le cas du code du contrat, il est même possible de l'employer en tant que pivot pour dénicher les smart contracts similaires. Ainsi, de larges morceaux d'infrastructure des attaquants peuvent être découverts.
Enfin, pour réaliser les appels vers les fonctions du smart contract, la plupart des services BIP nécessitent une clé d'API permettant d'identifier et authentifier le client. Ainsi, dans certains scripts injectés à l'intérieur des pages web altérées, on peut retrouver les clés d'API des attaquants dans l'appel à la fonction eth_call. Pour rappel, la plupart des services BIP facturent à leurs clients ces appels, ou bien ne leur en attribuent qu'un stock limité. Une fois en possession de ces fameuses clés, il devient ainsi théoriquement possible de consommer tout le crédit des attaquants. Si des restrictions légales s'appliquent sur de telles opérations, tout le monde n'a pas autant de scrupules...
Comment se protéger ?
Le problème principal pour la détection de ces attaques est constitué par la nature entièrement légitime des connexions vers les nœuds de blockchain. Dès lors, comment faire ?
Pour les organisations, cela commence par la question suivante : "Est-ce que dans le cadre de nos activités, nos employés sont amenés à utiliser les fonctions d’interaction avec la blockchain ?". Si ce n'est pas le cas, il peut dès lors être intéressant de tenter de les détecter et bloquer côté réseau, si l'une d'entre-elles se trouve dans un script.
Pour interagir avec un smart contract, on pense évidemment à eth_call. Mais une autre fonction existe, permettant de lire le stockage d'un contrat : eth_getStorageAt. En revanche, ces fonctions peuvent ne pas apparaître directement dans le script, mais dans une librairie tierse importée comme ethers.js ou viem. Leur présence peut donc être considérée comme suspecte dans ce contexte. Enfin, la librairie web3.js permet d'interagir avec un contrat via l'objet eth.Contract.
Sur les pare-feux Stormshield Network Security (SNS), une protection IPS dédiée vous aide à détecter les sites web faisant appel à un smart contract : http:javascript:stack.519 - Web : Tentative de récupération de données d'un smart contract par une page web
Par défaut, cette règle n'est activée en mode bloquant que sur le profil "High" du SNS. Nous vous recommandons de ne l'activer que si votre organisation n'a aucun rapport particulier avec l'Univers de la Blockchain.
Enfin, puisqu'un grand nombre de ces campagnes incluent une partie liée au ClickFix, il est toujours utile de former les employés sur ce risque, afin qu'ils ne se transforment pas en futures victimes.
MITRE ATT&CK
Tactics | Technique | Description |
Resource Development | Acquire Infrastructure | |
Initial Access | Drive-By Compromise | |
Execution | Command and Scription Interpreter | |
Command and Control | Web Protocols | |
Command and Control | Hide Infrastructure | |
Exfiltration | Exfiltration Over Alternative Protocol |

Conclusion
Cette technique de l'EtherHiding est un bon exemple de tentative d'adaptation des attaquants pour améliorer leur résilience : des éléments d'infrastructures légitimes et impossibles à détruire. Elle s'intègre donc parfaitement dans un scénario d'attaque avancé. De nouvelles campagnes appliquant cette stratégie sont ponctuellement repérées par les chercheurs en cybersécurité. Et il est fort probable que cela continue, avec de nouvelles organisations dans la façon dont les criminels établissent leurs smart contracts. Mais elle n'est pas invisible non plus. La nature même de la blockchain permet de suivre l'activité des groupes et de les analyser.