Turla, un acteur malveillant bien connu, cible ses victimes à l'aide de menaces persistantes avancées (APT). L'analyse d'un exemple sophistiqué de ce logiciel malveillant à l'aide de MetaDefender nous permet de mieux cerner la méthodologie utilisée pour disséquer et comprendre ces menaces, ce qui est essentiel pour les professionnels de la cybersécurité qui souhaitent s'en prémunir.
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 de recourir à des techniques avancées de décryptage et d'analyse du code (par exemple, en utilisant Binary Refinery, en reformatant le code pour en faciliter la lecture ou en renommant les variables pour plus de clarté), nous pouvons compter sur la technologie avancée de sandbox d'émulation de MetaDefender pour effectuer toutes ces étapes automatiquement à notre place.
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.

À l'étape suivante, le fichier 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'abord décodée en Base64, puis déchiffrée à l'aide de l'algorithme RC4 avec la clé (mentionnée ci-dessus) transmise en paramètre, et enfin exécutée à l'aide de la fonction eval(). Il convient de noter que ce code JS se trouve uniquement en mémoire, mais MetaDefender poursuivra l'exécution de 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" :

Dès que nous identifions le nom d'une famille de logiciels malveillants connue dans une étiquette antivirus ou une règle YARA, ou que nous la détectons par exemple via un fichier de configuration décodé, MetaDefender génère automatiquement la balise appropriée et l'affiche sur la page d'accueil principale 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 du malware APT Turla met en évidence l'ampleur et la sophistication des cybermenaces modernes, et montre comment MetaDefender permet de gagner un temps considérable en désobfuscant automatiquement plusieurs couches de chiffrement jusqu'à mettre au jour des indicateurs de compromission (IOC) précieux. Il s'agit d'un échantillon intéressant qui démontre comment notre système d'émulation est capable de s'adapter efficacement à la nature polymorphe des techniques d'obfuscation utilisées lors des campagnes réelles menées par des acteurs malveillants 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
