Turla, un acteur de menace bien connu, cible ses victimes avec des menaces persistantes avancées (APT). L'analyse d'un exemple sophistiqué de ce logiciel malveillant à l'aide de MetaDefender Sandbox nous permet de comprendre en profondeur la méthodologie utilisée pour disséquer et comprendre ces menaces, ce qui est essentiel pour les professionnels de la cybersécurité qui cherchent à se défendre contre elles.
Ce logiciel malveillant est KopiLuwak, un outil de reconnaissance basé sur JavaScript largement utilisé pour le profilage des victimes et la communication C2. Ses techniques d'obscurcissement et la conception relativement simple de sa porte dérobée lui permettent d'opérer discrètement et d'échapper à la détection.
Profil de l'acteur de la menace
Turla, un groupe de menace de cyberespionnage soupçonné d'être lié au Service fédéral de sécurité (FSB) russe, est actif depuis au moins 2004. Au fil des ans, Turla a réussi à compromettre des victimes dans plus de 50 pays, infiltrant divers secteurs tels que les gouvernements, les ambassades, l'armée, l'éducation, la recherche et les entreprises pharmaceutiques.
Le groupe fait preuve d'un modus operandi sophistiqué, employant souvent des tactiques telles que l'utilisation de points d'eau et de campagnes d'hameçonnage (spear phishing). Malgré sa notoriété, l'activité de Turla s'est intensifiée ces dernières années, mettant en évidence la résilience et l'adaptabilité du groupe dans le paysage en constante évolution des cybermenaces.
Aperçu de l'échantillon
L'échantillon examiné est un document Microsoft Word qui, après un premier examen de son contenu intégré (par exemple avec oletools de Didier Steven), contient une série d'artefacts suspects, tels que
Macro avec les mots-clés AutoOpen et AutoClose, indiquant une exécution VBA automatisée.
- "mailform.js" et "WScript.Shell", ce qui indique que du JavaScript intégré est présent et sera exécuté.
- Un objet intégré qui se fait passer pour un fichier JPEG, incluant une très longue chaîne suspecte (code JS crypté).
Emulation multicouche
Alors qu'à ce stade, une analyse manuelle nécessiterait l'application d'un décryptage/message de code avancé (par exemple, en utilisant Binary Refinery, en reformatant le code pour le rendre plus lisible ou en renommant les variables pour plus de clarté), nous pouvons compter sur la technologie de bac à sable d'émulation avancée de MetaDefender Sandbox pour effectuer toutes ces étapes pour nous de manière automatique.
Passons à l'onglet "Données d'émulation" sur le côté gauche du rapport :
En examinant certains des événements survenus dans l'émulateur, nous pouvons clairement voir la chaîne d'attaque se dérouler dans son intégralité :
Mais ce n'est pas tout : le nouveau code JS est également très obscurci. Si nous examinons l'événement Shell, nous constatons qu'il a été exécuté avec "NPEfpRZ4aqnh1YuGwQd0" comme paramètre. Ce paramètre est une clé RC4 utilisée dans l'itération suivante du décodage.
Dans l'étape suivante, mailform.js décode la charge utile JS finale stockée sous la forme d'une longue chaîne Base64. Cette chaîne est décodée en Base64, puis décryptée en RC4 avec la clé (mentionnée ci-dessus) passée en paramètre, et enfin exécutée à l'aide de la fonction eval(). Notez que ce code JS n'est qu'en mémoire, mais MetaDefender Sandbox poursuivra avec tous les protocoles de détection restants.
Le code JS entièrement décrypté montre que le logiciel malveillant est une porte dérobée de base, capable d'exécuter des commandes à partir d'un serveur C2 distant. Enfin, avant de se connecter au serveur C2, il établit un profil de victime, gagne en persistance et exfiltre ensuite des données à l'aide de requêtes HTTP vers le serveur C2.
Extraction du COI
La sous-page "Indicateur de compromission" regroupe tous les IOC extraits de n'importe quelle étape de l'analyse automatisée, en affichant les URL C2 clés sous l'origine "émulation VBA" :
Lorsque nous voyons un nom de famille de logiciels malveillants connu dans le cadre d'une étiquette AV, d'une règle YARA ou que nous le détectons par le biais, par exemple, d'un fichier de configuration décodé, MetaDefender Sandbox génère automatiquement l'étiquette appropriée et la propage sur la page d'atterrissage de premier niveau du rapport :
Bien que l'exactitude de ces données ne soit pas toujours garantie, il s'agit d'un indicateur de premier ordre qui permet d'améliorer le triage et d'effectuer une attribution précise.
Conclusion
Cette analyse technique d'un échantillon de malware Turla APT souligne la profondeur et la sophistication des cybermenaces modernes, et la façon dont MetaDefender Sandbox permet de gagner un temps considérable en désobfusquant automatiquement plusieurs couches de chiffrement jusqu'à ce qu'il atteigne des IOC précieux. Cet échantillon intéressant montre comment notre système d'émulation peut s'adapter efficacement à la nature polymorphe des techniques d'obscurcissement utilisées au cours des campagnes menées par des acteurs de menaces sophistiqués.
Indicateurs de compromis (IOC)
Document MS Word
Sha256: 2299ff9c7e5995333691f3e68373ebbb036aa619acd61cbea6c5210490699bb6
Mailform.fs
Sha256: 4f8bc0c14dd95afeb5a14be0f392a66408d3039518543c3e1e666d973f2ba634
Serveurs C2
hxxp[://]belcollegium[.]org/wp-admin/includes/class-wp-upload-plugins-list-table[.]php
hxxp[://]soligro[.]com/wp-includes/pomo/db[.]php