fermer
fermer
Le réseau de demain
Le réseau de demain
Planifiez votre chemin vers un réseau plus rapide, plus sûr et plus résilient, conçu pour les applications et les utilisateurs que vous prenez en charge.
          Essayez Netskope
          Get Hands-on With the Netskope Platform
          Here's your chance to experience the Netskope One single-cloud platform first-hand. Sign up for self-paced, hands-on labs, join us for monthly live product demos, take a free test drive of Netskope Private Access, or join us for a live, instructor-led workshops.
            Un leader sur SSE. Désormais leader en matière de SASE à fournisseur unique.
            Un leader sur SSE. Désormais leader en matière de SASE à fournisseur unique.
            Netskope fait ses débuts en tant que leader dans le Magic Quadrant™ de Gartner® pour le SASE à fournisseur unique.
              Sécuriser l’IA générative pour les nuls
              Sécuriser l’IA générative pour les nuls
              Learn how your organization can balance the innovative potential of generative AI with robust data security practices.
                Modern data loss prevention (DLP) for Dummies eBook
                La prévention moderne des pertes de données (DLP) pour les Nuls
                Get tips and tricks for transitioning to a cloud-delivered DLP.
                  Réseau SD-WAN moderne avec SASE pour les nuls
                  Modern SD-WAN for SASE Dummies
                  Cessez de rattraper votre retard en matière d'architecture de réseau
                    Identification des risques
                    Advanced Analytics transforms the way security operations teams apply data-driven insights to implement better policies. With Advanced Analytics, you can identify trends, zero in on areas of concern and use the data to take action.
                        Les 6 cas d'utilisation les plus convaincants pour le remplacement complet des anciens VPN
                        Les 6 cas d'utilisation les plus convaincants pour le remplacement complet des anciens VPN
                        Netskope One Private Access is the only solution that allows you to retire your VPN for good.
                          Colgate-Palmolive protège sa "propriété intellectuelle" "grâce à une protection des données intelligente et adaptable
                          Colgate-Palmolive protège sa "propriété intellectuelle" "grâce à une protection des données intelligente et adaptable
                            Netskope GovCloud
                            Netskope obtient l'autorisation FedRAMP High Authorization
                            Choisissez Netskope GovCloud pour accélérer la transformation de votre agence.
                              Let's Do Great Things Together
                              La stratégie de commercialisation de Netskope privilégie ses partenaires, ce qui leur permet de maximiser leur croissance et leur rentabilité, tout en transformant la sécurité des entreprises.
                                Solutions Netskope
                                Netskope Cloud Exchange
                                Netskope Cloud Exchange (CE) provides customers with powerful integration tools to leverage investments across their security posture.
                                  Support technique de Netskope
                                  Support technique de Netskope
                                  Nos ingénieurs d'assistance qualifiés sont répartis dans le monde entier et possèdent des expériences diverses dans les domaines de la sécurité du cloud, des réseaux, de la virtualisation, de la diffusion de contenu et du développement de logiciels, afin de garantir une assistance technique rapide et de qualité
                                    Vidéo Netskope
                                    Formation Netskope
                                    Grâce à Netskope, devenez un expert de la sécurité du cloud. Nous sommes là pour vous aider à achever votre transformation digitale en toute sécurité, pour que vous puissiez profiter pleinement de vos applications cloud, Web et privées.

                                      L'évolution rapide de Latrodectus se poursuit avec les dernières nouveautés en matière de charge utile

                                      29 août 2024

                                      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émoire allouée pour obtenir la charge utile finale. Un script permettant de décompresser/déobfusquer statiquement les charges utiles de Latrodectus à l'aide de Dave crypter est disponible ici.

                                      La charge utile finale est une DLL dont la fonction DllMain est appelée par le code du crypteur. L'étape suivante est l'exécution de la fonction exportée "AnselEnableCheck", qui est responsable de l'exécution de la charge utile finale. 

                                      En examinant la charge utile finale, nous remarquons qu'elle comporte plusieurs fonctions exportées, mais comme elles ont toutes la même RVA, l'appel à l'une d'entre elles n'a pas d'importance.

                                      Analyse de la DLL de Latrodectus

                                      Les caractéristiques générales de la charge utile principale ayant déjà été décrites par d'autres chercheurs, les sections suivantes se concentrent sur les mises à jour utilisées par la nouvelle version de Latrodectus.

                                      Obfuscation des chaînes de caractères

                                      Contrairement aux versions précédentes qui utilisaient une opération XOR pour désobfusquer ses chaînes, la version mise à jour utilise AES256 en mode CTR. La clé AES est codée en dur dans la fonction de désobfuscation elle-même et l'IV change pour chaque chaîne à décrypter. La clé utilisée dans les échantillons analysés est "d623b8ef6226cec3e24c55127de873e7839c776bb1a93b57b25fdbea0db68ea2".

                                      La fonction de désobfuscation reçoit deux paramètres. Le premier est un bloc de données et le second un tampon de sortie. Le bloc de données sert à stocker les informations utilisées pour décrypter la chaîne et suit le format ci-dessous :

                                      • Longueur de la chaîne : 2 octets
                                      • IV : 16 octets
                                      • Chaîne cryptée : Taille spécifiée dans le premier champ

                                      Il convient de noter qu'il y a parfois des octets supplémentaires après le contenu de la chaîne cryptée. L'image suivante est un exemple de ce bloc de données :

                                      ID de la campagne

                                      Dans la version actuelle du logiciel malveillant, la fonction de génération d'identifiants de campagne continue d'utiliser la même approche où une chaîne d'entrée est hachée à l'aide de l'algorithme FNV. Cependant, une nouvelle chaîne d'entrée "Wiski" a été utilisée, ce qui a donné le code 0x24e7ce9e comme identifiant de la campagne.

                                      C2 communication

                                      Pour sa communication initiale avec le serveur C2, Latrodectus recueille un grand nombre d'informations sur le système infecté, telles que le nom d'utilisateur, la version du système d'exploitation et l'adresse MAC. Les informations sont formatées à l'aide d'un modèle spécifique, cryptées à l'aide de l'algorithme RC4, encodées à l'aide de base64 et envoyées au C2.

                                      Les clés RC4 trouvées dans les échantillons analysés étaient "2sDbsEUXvhgLOO4Irt8AF6el3jJ0M1MowXyao00Nn6ZUjtjXwb" et "kcyBA7IbADOhw5ztcv09vmF8GYmR38eu7OGdfD7pyRelTPKH1G". 

                                      Pendant le formatage des données, nous pouvons signaler que le numéro de version 1.4 a été défini.

                                      Les informations sont envoyées dans le corps du message HTTP via une requête HTTP POST. Le point de terminaison utilisé dans les nouvelles variantes est "/test" au lieu de "/live" comme dans les versions précédentes. Bien qu'il s'agisse d'un indicateur très faible, l'utilisation de ce point d'accès spécifique pourrait indiquer qu'il s'agit d'une version test du logiciel malveillant.

                                      Commandes

                                      Dans la version 1.4, Latrodectus a introduit deux nouvelles commandes dans sa charge utile : les commandes ID 22 et 25.

                                      Commande 0x16

                                      Dans cette commande, le logiciel malveillant télécharge un shellcode à partir du serveur spécifié et l'exécute via un nouveau thread.

                                      La différence entre cette commande et la commande 14 est qu'une fonction qui effectue l'encodage base64 est passée en paramètre au shellcode lui-même. L'adresse de la fonction base64 est stockée dans une vue de fichier mappé nommée "12345".

                                      Commande 0x19

                                      Dans cette commande, le logiciel malveillant reçoit un nom de fichier et un emplacement distant à partir duquel télécharger le fichier. Le nom du fichier est alors ajouté à %AppData%, le fichier est téléchargé et son contenu est écrit dans le chemin mentionné.

                                      Compte tenu de ces ajouts, vous trouverez ci-dessous un tableau des commandes mises à jour prises en charge par le logiciel malveillant :

                                      ID de la commandeDescription
                                      2Collecte d'une liste de noms de fichiers de bureau
                                      3Collecte d'informations sur les processus en cours
                                      4Collecte d'informations sur le système
                                      12Téléchargez et exécutez un exécutable normal
                                      13Téléchargez et exécutez une DLL via rundll32
                                      14Télécharger et exécuter un shellcode
                                      15Auto-actualisation
                                      17S'éteindre soi-même
                                      18Téléchargez et exécutez la charge utile IcedID
                                      19Augmenter le délai de mise en veille
                                      20Remise à zéro du compteur de requêtes
                                      21Téléchargez et exécutez le module du voleur
                                      22Téléchargez et exécutez un shellcode en passant la fonction d'encodage base64 en paramètre.
                                      25Téléchargez un fichier dans le répertoire %AppData%.

                                      Netskope Detection

                                      • Netskope Threat Protection
                                        • Gen:Variant.Ulise.493872
                                        • Trojan.Generic.36724146
                                      • Netskope Advanced Threat Protection offre une protection proactive contre cette menace.
                                        • Win64.Trojan.ShellCoExec

                                      Conclusions

                                      Latrodectus a évolué assez rapidement, ajoutant de nouvelles fonctionnalités à sa charge utile. La compréhension des mises à jour appliquées à la charge utile permet aux défenseurs de maintenir les pipelines automatisés correctement paramétrés et d'utiliser les informations pour poursuivre la recherche de nouvelles variantes. Netskope Threat Labs continuera à suivre l'évolution de Latrodectus et de son TTP.

                                      CIO

                                      Tous les IOC et les scripts relatifs à ce malware se trouvent dans notre dépôt GitHub.

                                      author image
                                      Leandro Fróes
                                      Leandro Fróes est ingénieur principal de recherche sur les menaces chez Netskope, où il se concentre sur la recherche de logiciels malveillants, la rétro-ingénierie, l'automatisation et l'amélioration des produits.
                                      Leandro Fróes est ingénieur principal de recherche sur les menaces chez Netskope, où il se concentre sur la recherche de logiciels malveillants, la rétro-ingénierie, l'automatisation et l'amélioration des produits.

                                      Restez informé !

                                      Abonnez-vous pour recevoir les dernières nouvelles du blog de Netskope