Résumé
Latrodectus est un téléchargeur découvert pour la première fois par Walmart en octobre 2023. Le logiciel malveillant est devenu très célèbre en raison de ses similitudes avec le célèbre logiciel malveillant IcedID, non seulement dans le code lui-même, mais aussi dans l'infrastructure, comme l'ont signalé précédemment Proofpoint et Team Cymru S2.
Le logiciel malveillant est généralement diffusé par le biais de campagnes de spam par courrier électronique menées par deux acteurs de menace spécifiques : TA577 et TA578. Parmi les nombreuses fonctionnalités qu'il contient, on trouve la capacité de télécharger et d'exécuter des charges utiles supplémentaires, de collecter et d'envoyer des informations système au C2, de mettre fin à des processus, et bien d'autres choses encore. En juillet 2024, Latrodectus a également été observé en train d'être mis au monde par un blaireau BRC4.
Au cours des activités de chasse de Threat Labs, nous avons découvert une nouvelle version de la charge utile Latrodectus, la version 1.4. Les mises à jour du logiciel malveillant comprennent une approche différente de la désobfuscation des chaînes de caractères, un nouveau point de terminaison C2, deux nouvelles commandes de porte dérobée, et bien plus encore.
Dans ce blog, nous nous concentrerons sur les fonctionnalités ajoutées/mises à jour dans cette nouvelle version.
Analyse des fichiers JavaScript
La première charge utile de la chaîne d'infection est un fichier JavaScript obscurci à l'aide d'une approche similaire à celle utilisée par d'autres campagnes de Latrodectus. La technique d'obscurcissement est employée en ajoutant plusieurs commentaires dans le fichier, ce qui le rend plus difficile à analyser et augmente considérablement la taille du fichier.
Le code pertinent est présent entre les commentaires indésirables et, une fois retiré du fichier, nous pouvons voir le code qui sera exécuté.
Le logiciel malveillant recherche les lignes commençant par la chaîne "/////", les place dans une mémoire tampon et les exécute en tant que fonction JS. La fonction exécutée télécharge ensuite un fichier MSI à partir d'un serveur distant et l'exécute/installe.
Analyse des fichiers MSI
Une fois exécuté/installé, le fichier MSI utilise l'outil Windows rundll32.exe pour charger une DLL nommée "nvidia.dll" et appelle une fonction nommée "AnselEnableCheck" exportée par cette DLL. La DLL malveillante est stockée dans un fichier CAB nommé "disk1", présent dans le fichier MSI lui-même :
Analyse des cryptomonnaies
Pour tenter d'obscurcir la charge utile principale, le fichier "nvidia.dll", le fichier "nvidia.dll" et le fichier "nvidia.dll" ont été ajoutés. utilise un crypteur nommé Dave. Ce crypteur existe depuis longtemps et a été utilisé dans le passé par d'autres logiciels malveillants tels que Emotet, BlackBasta et les versions précédentes de Latrodectus.
Le crypteur stocke la charge utile à exécuter soit dans une ressource, soit dans une section. Dans l'échantillon analysé, la charge utile est stockée dans une section appelée "V+N".
Les étapes utilisées pour désobfusquer, charger et exécuter la charge utile finale sont assez simples. Le logiciel malveillant déplace une clé dans la pile et résout les fonctions VirtualAlloc, LoadLibrary et GetProcAddress de l'API Windows.
Il alloue ensuite de la mémoire à l'aide de la fonction VirtualAlloc et effectue une opération XOR sur plusieurs octets par rapport aux données de la section mentionnée à l'aide de la clé définie précédemment, le résultat de l'opération étant la charge utile finale. Les étapes suivantes consistent à aligner la charge utile dans la mémoire et à appeler sa fonction principale.
Étant donné que le crypteur copie d'abord la charge utile originale dans la mémoire allouée avant que les autres étapes ne soient exécutées, il suffirait de vider le contenu de la première mé