Le malware Pingback utilise ICMP pour cacher ses communications

Des chercheurs ont découvert un nouveau malware de Windows nommé Pingback qui utilise le protocole ICMP pour cacher ses activités de commande et de contrôle.

Ce malware cible les systèmes Windows 64-bit, et utilise le détournement de DLL pour gagner en persistance.

Abuse d’un service de Windows pour charger des fichiers DLL malveillants

Lloyd Macrohon, architecte de Trustwave, et le chercheur Rodel Mendrez, ont publié leurs conclusions sur un nouveau malware de Windows qui existe en tant que fichier DLL 64 bits.

Il convient de noter le choix du protocole de communication ICMP par l’échantillon de logiciels malveillants, qui est également utilisé par la commande ping et l’utilitaire traceroute de Windows.

Le fichier malveillant en question est un simple fichier DLL appelé oci.dll, et est généralement déposé dans le dossier « système » de Windows par un autre processus malveillant ou vecteur d’attaque.

Les chercheurs se sont vite rendu compte que ce fichier DLL n’était pas chargé par l’application Windows familière rundll32.exe, mais s’est plutôt appuyé sur le détournement DLL.

pingback dll

« Nous savions que le fichier était suspect lors de notre triage initial, mais nous ne pouvions pas comprendre comment il a été chargé dans le système parce que le fichier DLL n’a pas été chargé par le traditionnel rundll32.exe », affirment Macrohon et Mendrez.

Le détournement de DLL est une technique utilisée par les attaquants sur les systèmes Windows qui consiste à placer un fichier DLL malveillant dans l’un des dossiers approuvés par le système d’exploitation Windows, de sorte qu’une application système légitime exécute le fichier DLL malveillant.

De cette façon, les attaquants peuvent exploiter un processus Windows fiable pour exécuter leur code malveillant arbitraire.

L’année dernière, environ 300 exécutables de Windows pouvaient être abusés pour un détournement de DLL.

Dans ce cas, les chercheurs de Trustwave ont identifié qu’il s’agissait du service Microsoft Distributed Transaction Control (msdtc) qui avait été abusé pour charger oci.dll.

En fait, msdtc.exe est présent sur la liste de plus de 300 exécutables Windows qui font des candidats parfaits pour le détournement de DLL, tel que compilé par Wietze Beukema, chercheur chez PwC.

Au lancement, le service msdtc de Windows recherche 3 fichiers DLL à charger : oci.dll, SqlLib80.dll et xa80.dll.

Le fichier oci.dll représente une bibliothèque Oracle (Oracle Call Interface) qui existe pour soutenir et interagir avec les bases de données Oracle. Mais, voici le problème:

« Par défaut, les trois fichiers DLL d’Oracle n’existent pas dans l’annuaire de système de Windows. »

« Ainsi, en théorie, un attaquant avec des privilèges système peut déposer un fichier DLL malveillant et l’enregistrer en utilisant l’un des noms de fichiers DLL que MTxOCI charge », expliquent les chercheurs.

Bien que les chercheurs aient expérimenté l’utilisation de 3 noms de fichiers DLL sur Windows, ils ont constaté que seuls les fichiers oci.dll pouvaient être chargés de façon transparente par le service msdtc.

Mais d’où viennent les fichiers oci.dll?

Alors que le vecteur d’entrée initial est encore à l’étude, les chercheurs soupçonnent qu’un autre échantillon de logiciels malveillants, updata.exe est à la fois derrière la propagation du fichier malveillant oci.dll dans le dossier Système de Windows et la configuration de msdtc pour s’exécuter à chaque démarrage.

Updata.exe exécute en effet une séquence de commandes pour configurer msdtc pour qu’il s’exécute de manière persistante et propage le fichier oci.dll:

sc stop msdtc
sc config msdtc obj= Localsystem start= auto
sc start msdtc

pingback icmp

Utilise le tunneling ICMP pour la communication secrète

Le malware oci.dll une fois lancé par msdtc, utilise ICMP pour recevoir furtivement des commandes à partir de son serveur de commande et de contrôle.

Les chercheurs de Trustwave qui ont nommé ce malware « Pingback », affirment que l’avantage d’utiliser ICMP pour les communications est que Pingback reste effectivement caché à un utilisateur.

C’est parce que l’ICMP n’a pas de concept de « ports » et n’utilise ni TCP ni UDP. En tant que tel, oci.dll peut ne pas être ramassé par des outils de diagnostic comme netstat.

Chaque paquet ICMP, cependant, contient un champ de « données » avec suffisamment d’espace pour se faufiler dans les données personnalisées dans le champ et de le transmettre dans les deux sens entre deux systèmes:

icmp

« La section de données d’ICMP est l’endroit où un attaquant peut greffer une donnée arbitraire à envoyer à un hôte distant. L’hôte distant répond de la même manière, en attachant une réponse dans un autre paquet ICMP et le renvoyer », expliquent Macrohon et Mendrez.

Le malware Pingback(oci.dll) écoute simplement tous les paquets ICMP entrants sur un système infecté et analyse sélectivement les paquets avec des numéros de séquence: 1234, 1235, ou 1236.

Un paquet ICMP entrant avec numéro de séquence de 1234 indique au processus malveillant que cette requête contient une charge utile ou des commandes, tandis que 1235 et 1236 sont la méthode que Pingback utilise pour garder une trace et reconnaître si une requête a été reçue à chaque extrémité.

Les données reçues peuvent contenir des commandes de serveurs C2 comme shell, télécharger, envoyer, exec, etc.

Essentiellement, ces commandes sont utilisées pour transmettre des données dans les deux sens entre le serveur contrôlé par l’attaquant et le système infecté et permettre à un attaquant distant d’exécuter d’autres commandes arbitraires sur le système infecté.

Nous avons également remarqué, oci.dll a référencé un chemin de fichiers fictif nommé d’après Visual Studio 2008 qui peut sembler contenir des données légitimes du projet à un observateur occasionnel, mais est probablement utilisé par le malware Pingback pour ses activités infâmes, telles que le stockage de données:

c:\Users\XL\Documents\Visual Studio 2008\Projects\PingBackService0509\x64\Release\PingBackService0509.pdb

« Le tunneling ICMP n’est pas nouveau, mais cet échantillon particulier a piqué notre intérêt comme un exemple réel de logiciels malveillants utilisant cette technique pour échapper à la détection », affirment les chercheurs.

Mais, étant donné que l’ICMP dispose également de cas d’utilisation légitimes comme outil de diagnostic, l’avis des chercheurs n’est pas de le désactiver, mais plutôt de mettre en place des mécanismes de surveillance pour détecter tout trafic suspect utilisant le protocole ICMP.

Les trouvailles techniques détaillés de Trustwave sont fournis dans un article de blog. Les chercheurs ont également créé un bot C2 comme preuve de concept pour démontrer certaines commandes de Pingback.

Les indicateurs de compromis associés au malware Pingback sont fournis ci-dessous:

Fichier: oci.dll 
SHA256: E50943D9F361830502DCFDB00971CBEE76877AA73665245427D817047523667F
SHA1: 0190495D0C3BE6C0EDBAB0D4DBD5A7E122EFBB3F
MD5: 264C2EDE235DC7232D673D4748437969

Réseau:
ICMP Type=8
Sequence Number: 1234|1235|1236
Data size: 788 bytes

Vous pourriez aussi aimer
Laisser un commentaire