En juillet 2018, nous avons découvert que la porte dérobée Plead était signée numériquement par un certificat de signature de code délivré à D-Link Corporation. Récemment, nous avons détecté une nouvelle activité impliquant le même logiciel malveillant et une possible connexion à un logiciel légitime développé par ASUS Cloud Corporation.

Le logiciel malveillant Plead est une porte dérobée qui, selon Trend Micro, est utilisée par le groupe BlackTech pour des attaques ciblées. Le groupe BlackTech se concentre principalement sur le cyberespionnage en Asie.

La nouvelle activité décrite dans ce billet a été détectée par ESET à Taiwan, où le logiciel malveillant Plead a toujours été très activement déployé.

Que s'est-il passé?

Fin avril 2019, des chercheurs d'ESET utilisant la télémétrie ESET ont observé de multiples tentatives de déploiement de logiciels malveillants Plead d'une manière inhabituelle. Plus précisément, la porte dérobée Plead a été créée et exécutée par un processus légitime nommé AsusWSPanel.exe. Ce processus appartient au client Windows pour un service de stockage en nuage appelé ASUS WebStorage. Comme on peut l’observer à la figure 1, le fichier exécutable est signé numériquement par ASUS Cloud Corporation.

Figure 1 - Le certificat de signature de code AsusWSPanel.exe

Tous les échantillons de plaidoyers observés avaient le nom de fichier suivant : Asus Webstorage Upate.exe [sic]. Notre recherche a confirmé que le module d'ASUS WebStorage AsusWSPanel.exe peut créer des fichiers avec de tels noms de fichiers pendant le processus de mise à jour du logiciel, comme le montre la figure 2.

Figure 2 - Code décompilé du client ASUS WebStorage

Il y a plusieurs explications possibles pouvant expliquer qu’un logiciel légitime déploie le malware Plead.

Scénario 1 - Attaque de la chaîne d'approvisionnement

Une chaîne d'approvisionnement ouvre des opportunités illimitées pour les attaquants de compromettre furtivement un grand nombre de cibles en même temps : c'est pourquoi le nombre d'attaques dans la chaîne d'approvisionnement augmente. Ces dernières années, les chercheurs d'ESET ont analysé des cas tels que M.E.Doc,  Elmedia PlayerVestaCPStatcounter et l'industrie du jeu.

Pour les chercheurs de logiciels malveillants, il n'est pas toujours facile de détecter et de confirmer une attaque spécifique de la chaîne d'approvisionnement. Parfois, il n'y a pas assez de preuves pour prouver que c’est le cas.

Lorsque nous pensons à la possibilité d'une attaque de la chaîne d'approvisionnement d'ASUS WebStorage, nous devons prendre en compte les points suivants :

  • Les binaires légitimes d'ASUS WebStorage ont été livrés via le même mécanisme de mise à jour.
  • Actuellement, nous ne savons pas si les serveurs ASUS WebStorage sont utilisés comme serveurs C&C ou ont servi des binaires malveillants.
  • Les attaquants utilisaient des fichiers malveillants autonomes au lieu d'incorporer des fonctionnalités malveillantes dans des logiciels légitimes.

Par conséquent, nous considérons que l'hypothèse d'une éventuelle attaque de la chaîne d'approvisionnement est un scénario moins probable, mais nous ne pouvons l'écarter complètement.

Scénario 2 - Attaque Man-in-the-middle

Le logiciel ASUS WebStorage est vulnérable à une attaque man-in-the-middle (MitM). A savoir, la mise à jour du logiciel est demandée et transférée via HTTP; une fois qu'une mise à jour est téléchargée et prête à être exécutée, le logiciel ne valide pas son authenticité avant son exécution. Ainsi, si le processus de mise à jour est intercepté par des attaquants, ils sont capables de pousser une mise à jour malveillante.

Les chercheurs d'ESET connaissent bien les cas où des logiciels malveillants ont été lancés à l'aide d'une attaque MitM au niveau du FAI, tels que FinFisherStrongPity2 et le cas de Turla mosquito.

Selon l'étude de Trend Micro, les attaquants à l'origine des logiciels malveillants Plead compromettent les routeurs vulnérables et les utilisent même comme serveurs C&C pour ces logiciels malveillants.

Notre enquête a révélé que la plupart des organisations concernées ont des routeurs fabriqués par le même producteur. De plus, les panneaux d'administration de ces routeurs sont accessibles sur Internet. Ainsi, nous pensons qu'une attaque MitM au niveau du routeur est le scénario le plus probable.

Comme mentionné ci-dessus, le logiciel ASUS WebStorage demande une mise à jour en utilisant HTTP. Plus précisément, il envoie une requête au serveur update.asuswebstorage.com, qui renvoie une réponse en format XML. Les éléments les plus importants de la réponse XML sont le guid et le link. L'élément guid contient la version actuellement disponible alors que l'élément link contient l'URL de téléchargement utilisée pour la mise à jour. Le processus de mise à jour est simple : le logiciel vérifie si la version installée est plus ancienne que la version la plus récente; si c'est le cas, il demande alors un binaire en utilisant l'URL fournie, comme le montre la Figure 3.

Figure 3 - Une communication légitime lors d'un contrôle de mise à jour du logiciel ASUS WebStorage

Par conséquent, les attaquants pourraient déclencher la mise à jour en remplaçant ces deux éléments par leurs propres données. C'est exactement le scénario que nous avons observé dans la nature. Comme le montre la figure 4, les attaquants ont inséré une nouvelle URL, qui pointe vers un fichier malveillant sur un domaine gov.tw compromis.

Figure 4 - Une communication capturée lors d'une mise à jour malveillante du logiciel ASUS WebStorage

L'illustration à la figure 5 présente le scénario le plus probable utilisé pour livrer des charges utiles malveillantes à des cibles par l'intermédiaire de routeurs compromis.

Figure 5 - Scénario d'attaque MitM

Backdoor Plead

L'échantillon Plead déployé est un téléchargeur de première étape. Une fois exécuté, il télécharge le fichier fav.ico à partir d'un serveur dont le nom imite le serveur officiel ASUS WebStorage : update.asuswebstorage.com.ssmailer[.]com.

Le fichier téléchargé contient une image au format PNG et les données utilisées par le malware, qui se trouve juste après les données PNG. La Figure 6 représente la séquence d'octets spécifique (octets de contrôle) que le logiciel malveillant recherche, puis utilise les 512 octets suivants comme clé de cryptage RC4 afin de déchiffrer le reste des données.

Figure 6 - Les données utilisées par le logiciel malveillant Plead dans le fichier PNG téléchargé

Les données déchiffrées contiennent un binaire Windows PE, qui peut être déposé et exécuté en utilisant l'un des noms de fichiers et chemins absolus :

  • %APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup\slui.exe
  • %APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup\ctfmon.exe
  • %TEMP%\DEV[4_random_chars].TMP

En s'écrivant dans le dossier de démarrage du menu Démarrer, le logiciel malveillant gagne en persistance. En effet, ceci lui permet d’être chargé chaque fois que l'utilisateur actuel se connectera au système.

L'exécutable déposé est un chargeur de deuxième étape, dont le but est de décrypter le shellcode de sa ressource PE et de l'exécuter en mémoire. Ce shellcode charge une DLL de troisième niveau, dont le but est d'obtenir un module supplémentaire d'un serveur C&C et de l'exécuter. La DLL de troisième étape et le module téléchargé sont analysés en profondeur par JPCERT et publiés sur leur blog (appelé ici « TSCookie »).

Conclusion

Les attaquants sont constamment à la recherche de nouvelles façons de diffuser leurs logiciels malveillants de manière plus furtive. Nous constatons que les attaques de la chaîne d'approvisionnement et de l'homme du milieu sont de plus en plus souvent utilisées par divers attaquants partout dans le monde.

C'est pourquoi il est très important pour les développeurs de logiciels non seulement de surveiller minutieusement leur environnement pour détecter d'éventuelles intrusions, mais aussi de mettre en œuvre des mécanismes de mise à jour appropriés dans leurs produits qui sont résistants aux attaques MitM.

Les chercheurs d'ESET ont avisé ASUS Cloud Corporation avant la publication de cet article.

Pour toute demande de renseignements ou pour soumettre des exemples d'articles sur ce sujet, veuillez communiquer avec nous à l'adresse threatintel@eset.com.

Indicateurs de compromission (IoC)

ESET detection names
Win32/Plead.AP trojan
Win32/Plead.AC trojan

Plead samples (SHA-1)
77F785613AAA41E4BF5D8702D8DFBD315E784F3E
322719458BC5DFFEC99C9EF96B2E84397285CD73
F597B3130E26F184028B1BA6B624CF2E2DECAA67

C&C servers
update.asuswebstorage.com.ssmailer[.]com
www.google.com.dns-report[.]com

Techniques MITRE ATT&CK

Tactic ID Name Description
Execution T1203 Exploitation for Client Execution BlackTech group exploits a vulnerable update mechanism in ASUS WebStorage software in order to deploy Plead malware in some networks.
Persistence T1060 Registry Run Keys / Startup Folder Plead malware might drop a second stage loader in the Start Menu's startup folder.
Defense Evasion T1116 Code Signing Some Plead malware samples are signed with stolen certificates.
T1027 Obfuscated Files or Information Plead malware encrypts its payloads with the RC4 algorithm.
Credential Access T1081 Credentials in Files BlackTech can deploy a module that steals credentials from the victim's browser and email clients.
Discovery T1083 File and Directory Discovery Plead malware allows attackers to obtain a list of files.
T1057 Process Discovery Plead malware allows attackers to obtain a list of running processes on a system.
Command And Control T1105 Remote File Copy Plead malware allows attackers to upload and download files from its C&C.
T1071 Standard Application Layer Protocol Plead malware uses HTTP for communication with its C&C.
Exfiltration T1041 Exfiltration Over Command and Control Channel Data exfiltration is done using the already opened channel with the C&C server.