« Une nouvelle technique d’anti-analyse des shellcodes tente de déjouer les chercheurs et les environnements hostiles en analysant l’ensemble de la mémoire du processus à la recherche de toute chaîne liée à la machine virtuelle (VM) », ont déclaré les chercheurs de CrowdStrike Sarang Sonawane et Donato Onofri dans un article technique publié la semaine dernière.
GuLoader, également appelé CloudEyE, est un téléchargeur de script Visual Basic (VBS) utilisé pour distribuer des chevaux de Troie d’accès à distance tels que Remcos sur les machines infectées. Il a été détecté pour la première fois dans la nature en 2019.
En novembre 2021, une souche de malware JavaScript surnommée RATDispenser est apparue comme un moyen de déposer GuLoader au moyen d’un dropper VBScript codé en Base64.
Un échantillon récent de GuLoader découvert par CrowdStrike présente un processus en trois étapes dans lequel le VBScript est conçu pour délivrer une étape suivante qui effectue des vérifications anti-analyse avant d’injecter en mémoire un shellcode intégré au VBScript.
Le shellcode, en plus d’incorporer les mêmes méthodes d’anti-analyse, télécharge une charge utile finale du choix de l’attaquant depuis un serveur distant et l’exécute sur l’hôte compromis.
« Le shellcode utilise plusieurs astuces d’anti-analyse et d’anti-débogage à chaque étape de l’exécution, lançant un message d’erreur si le shellcode détecte une analyse connue ou des mécanismes de débogage », soulignent les chercheurs.
Cela inclut des contrôles anti-débogage et anti-désassemblage pour détecter la présence d’un débogueur distant et de points d’arrêt, et s’ils sont trouvés, mettre fin au shellcode. Le shellcode comporte également des analyses pour les logiciels de virtualisation.
Une capacité supplémentaire est ce que l’entreprise de cybersécurité appelle un « mécanisme d’injection de code redondant » pour éviter les crochets NTDLL.dll mis en œuvre par les solutions de détection et de réponse aux points finaux (EDR).
Le hooking de l’API NTDLL.dll est une technique utilisée par les moteurs anti-malware pour détecter et signaler les processus suspects sur Windows en surveillant les API connues pour être utilisées de manière abusive par les acteurs de la menace.
En bref, la méthode consiste à utiliser des instructions d’assemblage pour invoquer la fonction nécessaire de l’API Windows afin d’allouer de la mémoire (c’est-à-dire NtAllocateVirtualMemory) et d’injecter un shellcode arbitraire à cet emplacement via le process hollowing.
Les conclusions de CrowdStrike interviennent également alors que la société de cybersécurité Cymulate a démontré une technique de contournement de l’EDR connue sous le nom de Blindside, qui permet d’exécuter du code arbitraire en utilisant des points d’arrêt matériels pour créer un « processus avec uniquement la NTDLL dans un état autonome et non accroché ».
« GuLoader reste une menace dangereuse qui évolue constamment avec de nouvelles méthodes pour échapper à la détection », concluent les chercheurs.