ClickFix : L'abus de la blockchain Polygon pour masquer les C2
Les attaquants redoublent d'ingéniosité pour contourner les défenses modernes. En détournant la technologie de la blockchain Polygon comme annuaire dynamique pour leurs serveurs de Command and Control (C2), ils rendent la détection par signature quasi impossible. Cette technique, qualifiée de « EtherHiding », a déjà compromis 31 organisations et illustre une évolution majeure vers une infrastructure persistante et résiliente.
En bref
- Nouvelle technique C2 : Utilisation de la blockchain Polygon pour stocker les adresses IP ou domaines des serveurs de commande, évitant ainsi les listes noires DNS statiques.
- Mécanisme « EtherHiding » : Les malwares interrogent un contrat intelligent ou un compte spécifique sur la chaîne pour récupérer la configuration actuelle du C2.
- Impact : 31 organisations compromises, démontrant que les défenses traditionnelles basées sur le DNS et les IP bloquées sont insuffisantes.
- Vecteur d'infection : Campagnes de phishing sophistiquées (ClickFix) exploitant la confiance des utilisateurs.
- Défi de détection : Le trafic légitime vers les nœuds de la blockchain masque les requêtes malveillantes, rendant l'analyse réseau complexe.
Anatomie de la menace : Le ClickFix et le piégeage utilisateur
Le terme « ClickFix » fait référence à un mode opératoire spécifique où l'attaquant ne fournit pas directement un exécutable, mais incite la victime à effectuer une action qui déclenche l'infection. Dans le contexte de cette campagne, cela se manifeste souvent sous forme de faux alertes de sécurité ou de demandes de support technique. L'utilisateur est invité à exécuter une commande PowerShell, un script Python ou à modifier une clé de registre pour « réparer » un problème fictif.
La nouveauté réside dans ce qui se passe après l'exécution initiale. Traditionnellement, le malware se connecte à un serveur C2 statique. Ici, le code malveillant embarqué contient une logique de résolution dynamique basée sur la blockchain. Au lieu de hard-coder une adresse IP, le malware lit une transaction ou un état de compte sur le réseau Polygon.
Cette approche exploite un angle mort des systèmes de défense : la blockchain est perçue comme un environnement de confiance pour les transactions financières ou de preuve d'identité. Les filtres de sortie réseau autorisent souvent le trafic vers les nœuds de validation des blockchains (ports 8545 pour Polygon, par exemple), car ce trafic est nécessaire pour le fonctionnement normal des applications Web3 ou des services de cryptographie.
Le mécanisme technique : EtherHiding et les contrats intelligents
Le cœur de la technique « EtherHiding » repose sur la lecture d'états immuables sur la chaîne. L'attaquant utilise un compte Ethereum/Polygon spécifique comme « annuaire ». Voici le flux logique simplifié :
- L'exécution initiale : Le malware s'exécute sur la machine de la victime.
- La requête blockchain : Le binaire interroge le nœud Polygon pour récupérer l'état d'un compte spécifique (l'adresse du « C2 Manager »).
- L'extraction de la configuration : L'adresse C2 réelle (IP ou domaine) est encodée dans les métadonnées d'une transaction récente ou dans le solde/état du compte. Par exemple, les 8 premiers octets de l'adresse publique du compte peuvent coder l'IP du serveur C2.
- La mise à jour dynamique : Si l'attaquant veut changer de serveur C2 (pour éviter le blocage par les SOC ou les fournisseurs d'accès), il n'a pas besoin de distribuer une nouvelle version du malware. Il suffit de mettre à jour l'état du compte sur la blockchain. Le prochain exécution du malware récupérera automatiquement la nouvelle adresse C2.
Ce mécanisme offre une persistence sans distribution. Le malware reste le même sur disque, mais sa cible réseau change. C'est un contournement élégant des listes de blocage IP (IP Blacklists) et des systèmes de détection d'intrusion (IDS) qui surveillent les connexions DNS ou TCP vers des domaines suspectés.
# Pseudocode illustrant la logique de résolution C2 via blockchain
# Note : Ceci est une représentation logique, pas du code fonctionnel complet.
def get_c2_address():
# 1. Interroger le nœud Polygon pour l'état du compte attaquant
# L'adresse "0xATTACKER_ACCOUNT" est connue du malware
chain_state = query_blockchain_state("Polygon", "0xATTACKER_ACCOUNT")
# 2. Extraire les données cachées dans l'état ou la dernière transaction
# Exemple : Les 8 premiers caractères de l'adresse publique encodent l'IP
raw_data = chain_state['latest_tx_from']
c2_ip_encoded = raw_data[:8]
# 3. Décoder l'IP (ex: hex to decimal)
c2_ip = hex_to_ip(c2_ip_encoded)
return c2_ip
def connect_to_c2():
c2_ip = get_c2_address()
# Établir la connexion C2 vers l'IP dynamique
establish_connection(c2_ip, port=443, protocol="HTTPS")
Pourquoi la blockchain est un vecteur idéal pour les APT
L'utilisation de la blockchain comme infrastructure de C2 répond à trois besoins critiques des groupes d'attaques persistants avancés (APT) :
- Résilience au blocage : Bloquer un domaine ou une IP signifie souvent bloquer un service légitime si celui-ci est hébergé sur une infrastructure partagée ou si le C2 utilise des résolveurs DNS légitimes. En revanche, bloquer un compte blockchain spécifique est techniquement possible mais difficile à mettre en œuvre à l'échelle réseau car le trafic vers les nœuds de validation est générique.
- Anonymat et décentralisation : Les adresses blockchain sont pseudonymes. L'attaquant peut créer de nouveaux comptes « annuaires » à moindre coût. Il n'y a pas de serveur physique centralisé à faire tomber.
- Intégrité des données : Les données sur la blockchain sont immuables et vérifiables. Le malware peut vérifier l'authenticité de la configuration C2 qu'il reçoit, réduisant le risque d'attaques de type « Man-in-the-Middle » (MitM) où un adversaire interdirait la communication pour rediriger le trafic vers un faux C2.
Cette technique s'inspire de concepts déjà vus dans le monde des ransomwares, où des canaux de communication alternatifs (Telegram, Discord, ou services de stockage cloud) étaient utilisés. Ici, la blockchain offre une couche de fiabilité supérieure grâce à la cryptographie de preuve.
Détection et mitigation pour les environnements IT
Déecter ce type de menace est complexe car le trafic sortant vers les nœuds de la blockchain ressemble à du trafic légitime. Cependant, des signaux faibles existent.
1. Surveillance du comportement réseau
Les malwares doivent interroger les nœuds de la blockchain. Surveillez les connexions sortantes vers les ports standard des nœuds (8545 pour Polygon, 8546 pour Arbitrum, etc.) depuis des hôtes qui ne sont pas des serveurs de trading ou des applications Web3.
# Exemple de commande pour identifier les connexions sortantes vers les ports de nœuds blockchain
# Sur Linux avec nmap (si autorisé) ou tcpdump
sudo tcpdump -i any 'tcp[tcpflags] & (tcp-syn) != 0 and (tcp[12] & 0x3f) = 0' | grep -E ':8545|:8546'
# Sur Windows, utiliser PowerShell pour lister les connexions actives
Get-NetTCPConnection -State Established | Where-Object {$_.RemotePort -in 8545, 8546} | Select-Object -Property LocalAddress, LocalPort, RemoteAddress, RemotePort, OwningProcess
2. Analyse des processus et des appels système
Le malware doit utiliser des bibliothèques ou des appels système pour interagir avec la blockchain. Surveillez les appels à des fonctions de hachage SHA-3 (utilisé par Ethereum/Polygon) ou les appels réseau non standard initiés par des processus non autorisés (comme powershell.exe, cmd.exe, ou des exécutables inconnus).
3. Filtrage de sortie granulaire
Contrairement au blocage de domaines, le filtrage doit se faire par destination IP des nœuds de validation. Maintenez une liste blanche des nœuds de validation légitimes utilisés par vos applications métier. Tout trafic vers d'autres adresses IP sur ces ports doit être bloqué ou alerté.
4. Éducation utilisateur contre le ClickFix
La première ligne de défense reste humaine. Les campagnes ClickFix exploitent l'urgence et la confiance.
- Règle d'or : Ne jamais exécuter de commandes PowerShell ou de scripts fournis par un e-mail ou un ticket de support non vérifié.
- Vérification : Toujours appeler le service d'assistance interne via un canal connu (téléphone, intranet) pour confirmer la légitimité d'une demande de modification système.
- Formation : Sensibiliser les équipes IT et les utilisateurs avancés à la technique du « faux support technique » qui utilise le jargon technique pour impressionner.
Bonnes pratiques pour consultants IT
En tant que consultant, vous devez intégrer ces nouvelles menaces dans vos audits de sécurité et vos configurations de défense.
-
Audit des flux de sortie (Egress Filtering) : Révisez vos règles de pare-feu. Si votre infrastructure n'a pas besoin de communiquer avec des nœuds de blockchain externes, bloquez les ports associés (8545, 8546, 8547, etc.) sur toutes les interfaces. C'est une mesure de sécurité par défaut (deny by default).
-
Surveillance des API Web3 : Si vos applications utilisent des API de blockchain, surveillez les volumes de requêtes. Un pic anormal de requêtes
eth_getBalanceoueth_getTransactionReceiptdepuis un hôte de travail standard peut indiquer une activité malveillante. -
Intégration des logs de nœuds : Si vous hébergez vos propres nœuds de validation, corréléz les logs de ces nœuds avec les logs de sécurité de vos postes de travail. Identifiez les clients (IPs internes) qui effectuent des requêtes inhabituelles.
-
Hunting proactif : Utilisez des outils de hunting pour rechercher des processus qui ouvrent des sockets TCP vers des IP publiques inconnues sur des ports non standards. Combinez cela avec la recherche de fichiers temporaires contenant des chaînes de caractères hexadécimales longues (adresses de compte).
-
Réponse à incident : En cas de détection, ne supprimez pas immédiatement le malware. Capturez la mémoire et l'état du disque pour analyser comment il résout son C2. Identifiez l'adresse du compte « annuaire » sur la blockchain pour la suivre et potentiellement identifier d'autres victimes.
Points clés
La campagne ClickFix exploitant la blockchain Polygon marque un tournant dans la sophistication des infrastructures C2. En utilisant la blockchain comme annuaire dynamique, les attaquants neutralisent les défenses basées sur le DNS et les listes d'IP statiques.
Pour les consultants IT, la réponse ne se limite pas à une simple mise à jour de signatures antivirus. Elle nécessite :
- Une restriction stricte du trafic sortant vers les ports de nœuds blockchain non autorisés.
- Une surveillance comportementale des processus qui interagissent avec des APIs de blockchain.
- Une vigilance accrue contre les ingénieries sociales de type ClickFix.
La résilience de cette technique repose sur la décentralisation et l'immuabilité de la blockchain. La seule défense efficace est une hygiène réseau rigoureuse qui limite la capacité des hôtes compromis à communiquer avec le monde extérieur, quelle que soit la méthode de résolution d'adresse utilisée par l'attaquant.
Source : Dark Reading