Cette semaine chez Proofpoint, des chercheurs ont observé plusieurs changements notables dans les macros utilisées par un auteur que nous appelons TA530, à propos duquel nous avions déjà investigué en ce qui concerne les campagnes malveillantes personnalisées à grande échelle [4][5]. Cette nouvelle campagne inclut de nouvelles macros de contournement et démontre l'évolution continue de leurs outils et techniques, particulièrement l'adaptation des attaquants au progrès des défenses et à la généralisation des sandbox.
Auparavant, nous décrivions comment la macro recherche l’adresse IP publique de l’ordinateur infecté dans la pièce jointe au document à l’aide de MaxMind [3] et vérifie le nombre de fichiers Microsoft Word récemment consultés. Le 19 septembre, nous avons observé plusieurs ajouts à ces contrôles d'évitement des sandbox. Lors de ces contrôles, la macro :
- Vérifie si le nom de fichier contient uniquement des caractères hexadécimaux devant son extension
- Veille à ce qu’il y ait au moins 50 processus en exécution avec une interface graphique via la propriété Application.Tasks.Count [1]
- Comprend une liste noire de processus via la propriété Application.Tasks [2]
- Élargit la liste de chaînes qu'elle vérifie à l’aide de MaxMind
Un autre changement notable est l’utilisation d’un contrôle Painted Event [3] observé sous forme de Img_Painted pour l’exécution de la macro, lorsque le document est ouvert. Il s’agit d’un contrôle ActiveX sous les grandes options « Microsoft Inkpicture Control ». Cette méthode se distingue des options autorun habituelles pour l’exécution de la macro sous forme de méthode Document_Open(). À la fin août, Joe Security a décri une macro similaire à l’aide d’une technique très proche.
Campagne d’e-mails
Ne changeant rien à son comportement habituel [2], le 19 septembre, TA530 a envoyé des messages personnalisés (Figure 1) en exploitant des noms de sociétés, de personnes, des fonctions, etc., pour livrer les documents Word (Figure 2). Ces documents servent d'appâts, de manière assez générique mais commune, pour inciter l’utilisateur à activer les macros grâce au message, « Ce document est protégé contre toute utilisation non autorisée. Pour lire son contenu, activez l'édition. » Dans cette campagne, la charge utile livrée est Ursnif ID « 30030 », qui cible les sites des banques australiennes avec ses injections [6].
Figure 1 : E-mail transmetant le document malveillant
Figure 2 : Document malveillant contenant des macros
Analyse des macros
Le premier de la série des nouveaux contrôles des macros examine le nom du fichier Microsoft Word lui-même. Il vérifie si ce nom de fichier contient uniquement des caractères hexadécimaux (« 0123456789ABCDEFabcdef ») devant son extension. Dans l’affirmative, la macro ne cherche pas à infecter la victime. Il s’agit d’un phénomène courant avec les fichiers soumis aux sandbox, qui utilisent souvent le hachage SHA256 ou MD5 comme nom de fichier, contennant uniquement des caractères hexadécimaux. Si d'autres caractères sont présents, tels que des lettres après le « f », des traits de soulignement ou des espaces, cette vérification réussit et la macro continue. En outre, les noms de fichier doivent avoir un «.», suivi de n’importe quelle extension.
Figure 3 : Recherche des caractères hexadécimaux dans le nom de fichier
La deuxième nouvelle vérification s'assure qu’il y a 50 processus ou plus en cours d’exécution avec une interface graphique via la propriété Microsoft Word Application.Tasks.Count [1]. Une vérification rapide d’un système réel montre qu’il est fréquent d’avoir plus de 50 tâches, tandis que les systèmes de sandbox sont optimisés pour en avoir aussi peu que possible.
Figure 4 : Recherche du nombre de processus en exécution
La macro vérifie ensuite, sans tenir compte de la casse, la liste noire des processus susceptibles d'être en cours d’exécution sur le système hôte, à l’aide de la propriété Application.Tasks de Microsoft Word [2]. Les processus en liste noire incluent actuellement des outils d’analyse et d’autres processus communs qui peuvent être détectés en cours d’exécution dans un environnement de sandbox : "fiddler", "vxstream", "vbox", "tcpview", "vmware", "process explorer", "vmtools", "autoit", "wireshark", "visual basic" et "process monitor".
Figure 5 : Vérification par rapport à la liste noire de processus
Dans notre précédente publication, nous avons démontré que cette macro interroge MaxMind, un service de géolocalisation bien connu, et vérifie les résultats renvoyés par ce service. Cette campagne cible l'Australie, donc la macro mise à jour s’appuie sur une vérification pour s’assurer qu'elle s'exécute dans la région correcte. Plus précisément, elle vérifie que les résultats incluent « Océanie », région comprenant les îles de l’océan Pacifique et l’Australie.
Figure 6 : Requête à MaxMind pour voir si la chaîne « OCEANIA » est renvoyée
Enfin, les résultats de la requête à MaxMind sont comparés (sans tenir compte de la casse) à une liste élargie des réseaux sur liste noire. Si le résultat de MaxMind indique que ce document est ouvert sur un réseau appartenant à l’un de ces fournisseurs, la machine n’est pas infectée. Logiquement, de nombreux fournisseurs de sécurité sont inclus dans cette liste, mais il est intéressant de noter que les réseaux appartenant aux domaines « hôpital », « université », « école », « science », « armée », « anciens combattants », « gouvernement » et « nucléaire » sont également épargnés par l'infection. Nous ne pouvons pas être certains des raisons exactes, mais il est plausible qu’il s’agisse d’une tentative de minimiser l’exposition aux chercheurs et militaires ou aux agences gouvernementales.
Figure 7 : Liste noire des entités réseau
Conclusion
TA530, l’auteur d'un certain nombre d’attaques personnalisées à grande échelle, continue d'élaborer de nouvelles techniques de fraude dans les macros malveillantes des campagnes récentes. Les dernières techniques que nous avons observées portent principalement sur la prévention de l’exécution dans les systèmes de sandbox, la géolocalisation et l'évitement des réseaux associés aux fournisseurs de sécurité (ainsi qu'aux institutions universitaires, médicales et gouvernementales). Au cours de ces dernières années, les sandbox de malware ont été largement déployés dans les organismes et les entreprises pour protéger leurs données et leurs utilisateurs. Comme le montrent les exemples de cette analyse, les auteurs des menaces concentrent leurs recherches et leurs innovations sur l’évitement des sandbox de malware dans le but de garder une longueur d'avance sur les défenses de leurs victimes.
Indicateurs de compromission (IOC)
IOC |
Type d'IOC |
Description |
6464cf93832a5188d102cce498b4f3be0525ea1b080fec9c4e12fae912984057 |
SHA256 |
Pièce jointe au document |
hxxp://deekayallday[.]com/data/office |
URL |
Charge utile téléchargée |
0b05fb5b97bfc3c82f46b8259a88ae656b1ad294e4c1324d8e8ffd59219005ac |
SHA256 |
Chargeur Ursnif/Dreambot (téléchargé par le doc) |
hxxp://62.138.9[.]11/30030u |
URL |
Mise à jour Ursnif |
hxxp://62.138.9[.]11/vnc32.dll |
URL |
Ursnif VNC |
hxxp://62.138.9[.]11/vnc64.dll |
URL |
Ursnif VNC |
62.138.9[.]9 |
IP |
Ursnif Loader C2 |
62.75.195[.]103 |
IP |
Ursnif C2 |
62.75.195[.]117 |
IP |
Ursnif C2 |
ca-tda[.]com |
Domaine |
Ursnif Webinjects C2 |
au-tdc[.]com |
Domaine |
Ursnif Webinjects C2 |
au-tda[.]com |
Domaine |
Ursnif Webinjects C2 |
109.236.87[.]82:443 |
IP |
Ursnif Socks |
Références :
[1]https://msdn.microsoft.com/en-us/library/office/ff198203.aspx
[2]https://msdn.microsoft.com/en-us/library/office/ff839740.aspx
[3]https://msdn.microsoft.com/en-us/library/aa510893.aspx
[4]https://www.proofpoint.com/us/threat-insight/post/phish-scales-malicious-actor-target-execs
[5]https://www.proofpoint.com/us/threat-insight/post/malicious-macros-add-to-sandbox-evasion-techniques-to-distribute-new-dridex
[6]https://www.proofpoint.com/us/threat-insight/post/ursnif-variant-dreambot-adds-tor-functionality