La campagne Xworm montre une évolution vers des logiciels malveillants et des tactiques d’évasion en mémoire

Lucas Morel

L’attaque en plusieurs étapes utilise des charges Shellcode cryptées, de la stéganographie et des charges de DLL réfléchissantes pour déployer Xworm sans laisser de fichiers évidents.

Dans une campagne de menaces à plusieurs étapes nouvellement divulguée, les attaquants ont été vus sauter un disque et s’appuyer sur des astuces en mémoire pour livrer le Trojan d’accès à distance Xworm (rat).

Selon les résultats de Forcepoint Labs, la campagne utilise un shellcode crypté qui exécute un compte-gouttes .NET et charge de manière réfléchie de plusieurs DLL en mémoire. Le leurre initial était un attachement de bureau .xlam qui intègre un objet natif reliant et incorporer (OLE) un flux, déballage le code malveillant.

« La campagne est livrée par e-mail de phishing, en utilisant une fausse facture comme leurre », a déclaré le chercheur de la sécurité de Forcepoint, Prashant Kumar, dans un article de blog. «Le document malveillant (.xlam joint) a un fichier« oleObject1.bin »intégré, qui cache le code shellage intégré.»

Construit pour masquer, se déplacer et persister sur la cible, le rat Xworm a été déployé abusant des API de Windows légitimes pour récupérer et exécuter un téléchargeur, ainsi que des techniques anti-analyse en couches, y compris le hachage de l’API, les appels «décrochés», l’obfuscation lourde et le cryptage.

L’attaque à plusieurs étages cache le rat dans les feuilles de calcul

Le flux «ole10natif», extrait de l’archive .xlam dans l’e-mail d’infection, cache un blob Shellcode chiffré. Les analystes de ForcePoint ont utilisé Xorsearch et SCDBG pour trouver le décalage d’exécution de ShellCode et l’imiter, révélant les appels d’API qui ont téléchargé un exécutable .NET dans le dossier de données d’application de la victime.

«Lors de l’analyse des binaires compilés .NET, il est bon de se concentrer sur les classes / méthodes qui utilisent« dessin »», a souligné Kumar. «La raison en est que beaucoup de logiciels malveillants .NET chargeront un bitmap ou un objet à partir de sa section de ressources et chargeront de manière réfléchie la prochaine étape en mémoire.»

Cet exécutable .NET déballait ensuite un tableau d’octets et utilise une ressource d’image Steganographic pour charger une DLL de deuxième étape dans la mémoire, qui à son tour injecte de manière réfléchie un module de troisième étape – le rat Xworm lui-même. Chaque étape est chargée ou exécutée en mémoire, minimisant les artefacts sur disque et compliquant les efforts de détection.

Les résultats des vers XWE s’adaptent à un changement plus large des stratégies de cyberattaque, où les acteurs de la menace favorisent de plus en plus des méthodes de livraison sans fil pour contourner la détection traditionnelle. Récemment, une campagne a été signalée en utilisant des chargeurs basés sur PowerShell pour déployer Remcos Rat entièrement en mémoire.

Esquiver des bacs à sable et des scanners

Les attaquants se sont appuyés sur des techniques d’évasion bien connues dans toute la chaîne, y compris le hachage de l’API pour masquer l’intention, les appels d’API qui contournent les crochets en mode utilisateur installés par le logiciel de sécurité et plusieurs couches de chiffrement à l’intérieur de DLL.

« Le fichier DLL utilise plusieurs techniques de chiffrement pour l’analyse pour être difficiles, telles que le rsacryptor, la virtualisation, le faux.cctor, et bien d’autres », a noté Kumar.

L’analyse de ForcePoint a révélé que les échantillons de logiciels malveillants ont passé des appels d’API comme «UrldownloadTofile» et «LoadLibraryw» pour exécuter le code directement à partir de la mémoire dans le but de battre les scanners conventionnels. De plus, l’analyse a signalé une utilisation des charges utiles stéganographiques enracinées en ressources, une astuce .NET commune pour faire passer les octets dans un binaire à l’air bénin.

Les contrôles recommandés pour la protection contre les campagnes de type XWORD comprennent la surveillance des types d’attachement de bureau inhabituels (en particulier .xlam avec des flux natifs OLE), l’inspection des processus qui invoquent les règles de canalisation de la mémoire UrlMon / Urldown, suivie de règles en mémoire, et le déploiement de règles d’invocation de la mémoire de la mémoire. Le blog comprenait une liste d’indicateurs de compromis (IOC) pour définir la détection. Plus tôt ce mois-ci, les chercheurs ont signalé que des logiciels malveillants sans réserve ramassant une mise à niveau open source sous forme d’asyncrat qui dirigeait les commandes PowerShell pour récupérer et assembler des charges utiles .NET en mémoire.