Coyote : le tout premier logiciel malveillant qui exploite UI Automation

Tomer Peled

écrit par

Tomer Peled

July 22, 2025

Tomer Peled

écrit par

Tomer Peled

Tomer Peled est chercheur en sécurité chez Akamai. Dans son travail quotidien, il mène des recherches allant de la recherche sur les vulnérabilités aux systèmes d'exploitation internes. Pendant son temps libre, il aime cuisiner, faire du Krav-maga et jouer sur son PC.

Cet abus d'UIA est le dernier en date des agissements malveillants de Coyote dans son habitat digital depuis sa découverte en février 2024.
Cet abus d'UIA est le dernier en date des agissements malveillants de Coyote dans son habitat digital depuis sa découverte en février 2024.

Synthèse

  • Les chercheurs d'Akamai ont précédemment souligné le potentiel d'utilisation malveillante d'UIA. 

  • Les chercheurs d'Akamai ont analysé une nouvelle variante du logiciel malveillant Coyote, qui constitue le premier cas confirmé d'utilisation malveillante de l'infrastructure UI Automation (UIA) de Microsoft en conditions réelles.

  • La nouvelle variante Coyote cible les utilisateurs brésiliens et utilise UIA pour extraire les identifiants liés aux adresses Web de 75 établissements bancaires et plateformes d'échange de cryptomonnaies.

  • Afin de contribuer à prévenir les infections par Coyote et les abus liés à UIA de manière plus générale, nous avons inclus des indicateurs de compromission et des mesures de détection supplémentaires dans cet article de blog.

Introduction

En décembre 2024, nous avons publié un article de blog qui soulignait comment les pirates pouvaient exploiter l'infrastructure UIA de Microsoft pour voler des identifiants, exécuter du code, etc. Jusqu'à présent, l'exploitation n'était qu'une démonstration de faisabilité. 

Environ deux mois après la publication de cet article, nos inquiétudes se sont confirmées lorsqu'une variante du cheval de Troie bancaire Coyote a été observée en train d'utiliser UIA à mauvaise escient en conditions réelles, marquant ainsi le premier cas connu d'une telle exploitation. 

Cet abus d'UIA est le dernier en date des agissements malveillants de Coyote dans son habitat digital depuis sa découverte en février 2024. 

Dans cet article de blog, nous examinons de plus près cette variante afin de mieux comprendre comment UIA est exploitée à des fins malveillantes et ce que cela signifie pour les défenseurs.

Qu'est-ce que le logiciel malveillant Coyote ?

Coyote est une famille de logiciels malveillants bien connue qui a été découverte en février 2024 et qui a causé depuis lors des dommages importants dans la région d'Amérique latine. Coyote est un logiciel malveillant de type cheval de Troie qui utilise diverses techniques malveillantes, telles que l'enregistrement des frappes clavier et les superpositions d’hameçonnage, pour voler des informations bancaires. 

Il utilise le programme d'installation Squirrel pour se propager (d'où le nom « Coyote », qui rend hommage à la nature des coyotes, « squirrel » en anglais, qui chassent les écureuils). Au cours de l'une de ses campagnes les plus connues, Coyote a ciblé des entreprises brésiliennes dans le but de déployer un cheval de Troie d'accès à distance destiné à voler des informations au sein de leurs systèmes.

Après la découverte initiale de Coyote, de nombreux chercheurs en sécurité ont découvert des informations sur son fonctionnement et ont fourni des analyses techniques approfondies. L'une de ces analyses, publiée par Fortinet en janvier 2025, a mis en lumière le fonctionnement interne et la chaîne d'attaque de Coyote.

Abus de UIA

Nous avons développé ces analyses et découvert un nouveau détail clé : Coyote utilise désormais la technologie UIA dans le cadre de son fonctionnement. Comme tout autre cheval de Troie bancaire, Coyote recherche des informations bancaires, mais ce qui le distingue, c'est la manière dont il obtient ces informations, qui implique l'utilisation (abusive) d'UIA.

Le coyote attrape la rage

Au cours de son processus d'infection, Coyote envoie au serveur de commande et de contrôle des informations détaillées sur chaque victime. Cela inclut le nom de l'ordinateur, le nom d'utilisateur et divers autres attributs du système. Cependant, les informations les plus importantes, celles que Coyote s'efforce d'obtenir, sont les services financiers utilisés par la victime.

Au départ, le logiciel malveillant utilisera une approche classique et très courante : Coyote appelle l'API Windows GetForegroundWindow() pour obtenir un descripteur vers la fenêtre actuellement active. Une fois qu'il a récupéré le descripteur de fenêtre, le logiciel malveillant compare le titre de la fenêtre à une liste d'adresses Web codées en dur appartenant à des banques et des plateformes d'échange de cryptomonnaies ciblées.

La logique intéressante d'UIA entre en jeu lorsque le titre ne correspond à aucune des adresses recherchées par Coyote. Si aucune correspondance n'est trouvée, Coyote utilisera alors UIA pour analyser les éléments enfants de l'interface utilisateur de la fenêtre afin d'identifier les onglets du navigateur ou les barres d'adresse. Le contenu de ces éléments de l'interface utilisateur sera ensuite recoupé avec la même liste d'adresses que celle utilisée lors de la première comparaison.

Pour ce faire, Coyote crée l'objet UIAutomation COM avec la fenêtre au premier plan comme élément supérieur (Figure 1).

To do this, Coyote creates the UIAutomation COM object with the foreground window as its top element (Figure 1). Fig. 1: UIA creation

Coyote va ensuite parcourir chaque sous-élément de l'application au premier plan pour trouver l'adresse Web d'un onglet (Figure 2).

Coyote will then iterate through each sub-element of the foreground application to find the web address of a tab (Figure 2). Fig. 2: UIA iterates through sub-elements

Une fois l'adresse Web trouvée, Coyote tentera de la faire correspondre à sa liste prédéfinie (Figure 3).

Once the web address has been found, Coyote will try and match it to its pre-defined list (Figure 3). Fig. 3: Coyote attempting to match bank names to its list

Le tableau montre comment Coyote classe les banques et les plateformes d'échange de cryptomonnaies à partir de leur nom ou de leur adresse Web. Dans chaque classe, Coyote recherche un certain nombre d'adresses différentes ; selon nos recherches, il existe 75 adresses différentes.

Nom

Type

Banco do Brasil

0

CaixaBank

1

Banco Bradesco

2

Cryptomonnaie (Binance, Electrum, Bitcoin, Foxbit et autres)

3

Santander

4

Application-routeur

5

Banque d'origine

6

Sicredi

7

Banco do Nordeste

8

Applications étendues

9

Banques et type de numéro correspondant pour les tentatives de correspondance de Coyote

Sans UIA, l'analyse des sous-éléments d'une autre application est une tâche complexe. Pour pouvoir lire efficacement le contenu des sous-éléments dans une autre application, un développeur doit avoir une très bonne compréhension de la structure spécifique de l'application cible.

Coyote peut effectuer des vérifications, que le logiciel malveillant soit en ligne ou hors ligne. Cela augmente les chances d'identifier avec succès la banque ou la plateforme d'échange cryptographique d'une victime et de voler ses identifiants.

UIA offre plusieurs possibilités aux attaquants, notamment une solution simple permettant aux développeurs de logiciels malveillants d'analyser les sous-éléments d'une autre application.

Tactiques, techniques et procédures supplémentaires d'UIA

C'est la première fois que nous voyons un logiciel malveillant utiliser UIA, ce qui montre à quelle vitesse les développeurs de logiciels malveillants intègrent de nouvelles techniques dans leurs créations. Remarque : ce n'est qu'un exemple de l'utilisation malveillante potentielle d'UIA.

La figure 4 montre comment UIA peut être utilisé non seulement pour identifier les composants stratégiques de l'interface utilisateur, mais aussi pour en extraire les données sensibles.

Figure 4 shows how UIA can be used not only to identify critical UI components, but also to extract sensitive data from them. Fig. 4: PoC of UIA abuse to extract sensitive information

Dans la figure 5, nous montrons comment les attaquants peuvent manipuler les composants de l'interface utilisateur pour mener des attaques d'ingénierie sociale furtives. L'attaquant modifie la barre d'adresse du navigateur et simule un clic, redirigeant ainsi la victime vers un serveur malveillant, le tout avec un minimum d'indications visuelles.

In Figure 5, we demonstrate how attackers can manipulate UI components to carry out stealthy social engineering attacks. Fig. 5: PoC of abusing UIA for social engineering

Pour plus de détails, consultez notre article de blog original sur UIA.

Détecter une utilisation anormale d'UIA

En ce qui concerne la détection d'UIA, les administrateurs peuvent surveiller l'utilisation du fichier UIAutomationCore.dll. Le chargement de ce fichier dans un processus inconnu devrait susciter des inquiétudes légitimes.

De même, les administrateurs réseau peuvent surveiller les canaux nommés ouverts sur un point de terminaison par UIA comme autre indicateur de son utilisation. Les figures 6 et 7 sont des requêtes qui peuvent être utilisées pour détecter ce type d'activité.

  SELECT DISTINCT pid, name, proc.path FROM process_memory_map AS pmm JOIN processes AS proc USING(pid) WHERE pmm.path LIKE '%uiautomationcore.dll'

Fig. 6 : processus qui chargent UIAutomationCore.dll

  WITH uia_pipes AS (SELECT name AS pipe_name, SUBSTR(name, 10, INSTR(SUBSTR(name, 10), '_')-1) AS pid FROM pipes WHERE name LIKE 'UIA_PIPE_%' ) SELECT DISTINCT pid, name AS process_name, path, pipe_name FROM uia_pipes JOIN processes USING(pid)

Fig. 7 : processus qui ont ouvert le canal nommé UIA

Akamai Hunt, le service géré de recherche de menaces d'Akamai, offre à ses clients une protection sous la forme d'un vaste ensemble de techniques de détection des anomalies qui surveillent constamment l'environnement pour tenter de détecter l'activité malveillante. Les clients d'Akamai Hunt ont été analysés afin d'identifier toute utilisation anormale d'UIA et ont été alertés en cas d'activité suspecte.

Conclusion

Les logiciels malveillants évoluent constamment, et dans ce jeu du chat et de la souris (ou, dans ce cas, du coyote et de l'écureuil), il est crucial pour les défenseurs comme pour les attaquants de garder une longueur d'avance en suivant de près les menaces nouvelles et émergentes.

Bien qu'UIA semble être un outil inoffensif, comme nous l'avons souligné dans notre précédent article de blog, l'utilisation abusive de ses fonctionnalités peut avoir des conséquences graves pour les organisations. En dévoilant les tactiques de Coyote, nous espérons que les défenseurs seront mieux équipés pour détecter et répondre à cette menace de multiples façons.

Nous pensons qu'UIA représente un vecteur d'attaque viable et dangereux qui mérite une attention particulière, et dont l'utilisation abusive devrait s'intensifier à l'avenir.

Nous remercions tout particulièrement @johnk3r d'avoir attiré notre attention sur ce logiciel malveillant.



Tomer Peled

écrit par

Tomer Peled

July 22, 2025

Tomer Peled

écrit par

Tomer Peled

Tomer Peled est chercheur en sécurité chez Akamai. Dans son travail quotidien, il mène des recherches allant de la recherche sur les vulnérabilités aux systèmes d'exploitation internes. Pendant son temps libre, il aime cuisiner, faire du Krav-maga et jouer sur son PC.