Une campagne de malvertising détourne une page de résultats Bing et un artifact Claude légitime pour distribuer SectopRAT, en s'appuyant sur du DLL sideloading, un déchiffrement par shaders GPU et un C2 caché dans la blockchain Ethereum.
- Des pubs sponsorisées sur Bing pour « Claude Desktop » renvoyaient vers un artifact Claude.ai légitime transformé en faux installeur (7 100 vues avant retrait).
- Le
ClaudeDesktop.exetéléchargé est en réalité un binaire JetBrains signé détourné par DLL sideloading via unlibcef.dllmalveillant. - La charge utile est déchiffrée sur le GPU (shaders DirectX) pour échapper aux outils d'analyse classiques, avec anti-VM matériel.
- Le serveur de commande (C2) est stocké dans des contrats Ethereum (« EtherHiding ») : une infrastructure résistante aux takedowns.
- Charge finale : SectopRAT, un voleur .NET (identifiants navigateurs, cookies, cartes bancaires, HVNC). Au moins 29 organisations touchées les 21–22 juillet 2026.
Le 22 juillet 2026, les équipes de Huntress ont publié l'analyse d'une campagne qu'elles nomment FakeAgent. Le scénario coche à peu près toutes les cases d'une opération soignée : abus de confiance autour d'un outil d'IA populaire, détournement d'un domaine parfaitement légitime, et une chaîne technique pensée pour glisser entre les mailles des solutions de détection et des analystes. Voici le décorticage, section par section.
01Le leurre : du malvertising sur une marque de confiance
Le point d'entrée est d'une banalité redoutable. Un utilisateur cherche « CLAUDE DESKTOP APP » sur Bing. En haut des résultats, une annonce sponsorisée. Le lien, lui, ne pointe pas vers un site douteux : il mène vers un artifact hébergé sur claude.ai — le domaine officiel d'Anthropic. La page imite la page de téléchargement de l'application, et l'artifact malveillant a été consulté 7 100 fois avant d'être retiré.
C'est toute la finesse de l'opération : le premier maillon inspire confiance parce qu'il est légitime. On n'exploite pas une faille du domaine, on abuse d'une fonctionnalité (l'hébergement public d'artifacts) pour lui faire porter un contenu piégé.
02La livraison : un binaire signé, une DLL vérolée
En cliquant sur « télécharger », la victime est redirigée à travers claude.ai.download-app[.]us puis downloading-api.it[.]com, pour finalement récupérer un ClaudeDesktop.exe. Surprise : ce fichier n'a rien d'un exécutable maison. C'est un binaire JetBrains parfaitement signé (jcef_helper.exe, le composant Chromium Embedded Framework), livré aux côtés d'un libcef.dll malveillant.
C'est la technique classique du DLL sideloading : l'exécutable légitime, lancé par la victime, charge sans broncher la DLL malveillante posée à côté de lui. La signature JetBrains rassure l'antivirus, et le code hostile s'exécute sous le couvert d'un processus de confiance. La persistance rejoue le même tour avec un sslconf.exe signé IBM SPSS et un tempdir.dll trojanisé.
03L'évasion : déchiffrer sa charge utile sur le GPU
C'est ici que la campagne devient réellement inhabituelle. Plutôt que de déchiffrer sa charge utile avec du code CPU classique — trivialement observable par un analyste — le malware confie l'opération au GPU, via des shaders DirectX. Le déchiffrement (AES-256-CTR, avec une fonction MixColumns non standard) est encodé dans du bytecode SM5 embarqué dans un conteneur DXBC de 26 536 octets. Résultat : la logique cryptographique est abstraite des outils d'analyse habituels, qui ne « regardent » pas ce qui se passe côté carte graphique.
Le tout est empaqueté sous VMProtect et complété par une détection anti-machine-virtuelle matérielle : le malware interroge les adaptateurs DXGI pour repérer des signatures de VM (QEMU 0x1234, VMware 0x15AD), vérifie que la VRAM dépasse 1 Go et effectue des mesures de timing sur des compute shaders. Sur un bac à sable sans vrai GPU, la chaîne se bloque.
« We set Claude to task, which immediately began by extracting the DirectX Binary Container (DXBC) file. »
— Huntress, sur l'usage d'un LLM pour reconstruire la crypto embarquée dans les shaders.
Détail savoureux relevé par les analystes : une seule erreur de transcription d'octet (0x68 au lieu de 0x6b) suffisait à empêcher le déchiffrement — un rappel que même assisté par IA, l'analyste humain reste dans la boucle.
04EtherHiding : un C2 dans la blockchain
Pour piloter les machines infectées, les attaquants n'utilisent pas un serveur classique — trop facile à saisir. Ils stockent les informations de commande dans des contrats Ethereum, une technique surnommée « EtherHiding ». Deux contrats ont été identifiés : l'un servant de stager pour libcef.dll, l'autre pour SectopRAT. Impossible de « débrancher » un contrat sur la blockchain : l'infrastructure devient résistante aux takedowns traditionnels.
L'analyse des transactions montre une activité étalée dans le temps : une première remontant au 30 mai 2025, une activité récente au 12 juin 2026, et 18 adresses C2 distinctes en rotation sur plus d'un an.
05La charge finale : SectopRAT
Au bout de la chaîne, une fois tout déballé, on trouve un assembly .NET fortement obfusqué implémentant SectopRAT. Ce cheval de Troie d'accès distant vise l'essentiel de ce qui se monnaie :
Concrètement, SectopRAT dérobe les identifiants et cookies des navigateurs, les données d'autofill et de cartes bancaires, les clés Chromium, les identifiants FTP, les données Discord et messageries, et embarque une capacité HVNC (Hidden VNC) pour piloter un bureau caché à l'insu de la victime.
06Attribution : un opérateur, plusieurs campagnes
L'enquête relie la campagne à un acteur unique via les enregistrements WHOIS et la plateforme Validin. L'adresse e-mail ayant servi à enregistrer download-app[.]us apparaît sur 10 domaines malveillants distincts remontant à décembre 2025. L'un d'eux, polse[.]us, avait été saisi par Microsoft lors de l'Opération Endgame pour hébergement du stealer StealC.
Mieux : le recoupement avec le suivi interne de Huntress identifie le même opérateur distribuant de faux installeurs Docker Desktop en avril 2026, avec exactement le même sideloading via libcef.dll. Une signature opérationnelle constante.
07Indicateurs de compromission (IOC)
| Indicateur | Type | Description |
|---|---|---|
| 2.24.131[.]246 | IP | C2 SectopRAT (actuel) |
| download-app[.]us | Domaine | Redirection ClaudeDesktop.exe |
| downloading-api.it[.]com | Domaine | Hébergement du payload |
| 26bae4d7…d21394a | SHA-256 | libcef.dll (sideloading) |
| 1cd58cfb…3f4e3bb | SHA-256 | tempdir.dll (persistance) |
| 0xc1907d…d9228 | Contrat ETH | Stager libcef.dll (EtherHiding) |
| 0xe012d0…b92228 | Contrat ETH | SectopRAT (EtherHiding) |
08Recommandations
Quelques réflexes concrets qui ressortent de l'analyse :
- Se méfier des résultats sponsorisés. Pour un outil connu, tapez l'URL officielle directement ou passez par un signet — pas par la première annonce venue.
- Surveiller les schémas de DLL sideloading. Un binaire signé qui charge une DLL depuis un dossier utilisateur inhabituel est un signal, indépendamment de la signature.
- Ne pas faire confiance à un domaine légitime sur son seul nom. Un lien
claude.ai/…peut héberger du contenu tiers piégé : c'est le contenu, pas le domaine, qui compte. - Détection comportementale. Requêtes DXGI/GPU inhabituelles, VMProtect, création de persistance via binaires signés détournés : autant de comportements à corréler.
- Intégrer les IOC ci-dessus et surveiller les communications vers des endpoints blockchain depuis le parc.