User checking email on a computer

Menace ciblée conduisant à un enregistreur de frappes via une fausse mise à jour de Silverlight

January 12, 2017
Danny Howerton

Présentation

Les chercheurs de Proofpoint ont récemment découvert qu'une campagne d'e-mails de faible ampleur ciblait un important fournisseur de services financiers. L'attaque en question est notable pour plusieurs raisons :

  • Sa portée était extrêmement ciblée : les quelques e-mails malveillants, en nombre limité, étaient envoyés aux utilisateurs d'une seule organisation.
  • Les e-mails s'accompagnaient d'une pièce jointe Microsoft Word qui, pour échapper à la détection, n'utilisait pas de macro mais un objet incorporé, lui-même fortement obfusqué.
  • La charge utile était un enregistreur de frappes, encore inconnu et codé en dur qui transmettait les journaux des ordinateurs infectés à deux adresses Gmail.

Si l'emploi d'objets incorporés à la place des macros n'est pas une nouveauté, les macros malveillantes restent pour l'instant le vecteur favori de la plupart des pirates. Toutefois, cette technique devrait selon nous s'étendre en 2017.

Analyse

Le document Microsoft Word joint aux e-mails s'intitule « info.doc ». L'image qu'il contient invite l'utilisateur à cliquer pour installer Microsoft Silverlight et pouvoir afficher le contenu (Figure 1).

Figure 1 : Document leurre

Un examen plus approfondi révèle que ce document ne contient pas de macro, mais un « Objet d’environnement du Gestionnaire de liaisons » (Figure 2).

Figure 2 : Un clic droit sur l'image permet de voir qu'il s'agit d'un objet incorporé et non un lien.

L'option « Propriétés » indique qu'il s'agit d'un fichier Visual Basic Script (Figure 3).

Figure 3 : Propriétés de l'objet incorporé

Lorsqu'on extrait ce script Visual Basic, on y trouve un fichier obfusqué (ou camouflé) par l'insertion systématique de la chaîne « We are safe » entre chaque caractère (Figure 4).

Figure 4 : Extrait du code obfusqué inclus dans le script Visual Basic, avec la fonction chargée de le désobfusquer

Les trois premières lignes du code contiennent la fonction de désobfuscation chargée de remplacer toutes les chaînes « We are safe » par des chaînes vides. La Figure 5 montre le code désobfusqué.

Figure 5 : Code désobfusqué

Notez qu'à la 6e ligne, ce code exécute une requête HTTP GET adressée à https://a[.]pomf[.]cat/sfkpiff.exe, suivie d'une chaîne de points d'interrogation. Nous pensons que cette chaîne n'est simplement pas prise en compte par le site demandé. Lors de notre analyse, le fichier avait déjà été retiré du site pomf[.]cat, un site d'hébergement gratuit qui permet à quiconque de charger des fichiers en tout anonymat et qui héberge souvent des exécutables malveillants.

Pour pouvoir analyser ce malware plus en profondeur, nous en avons réussi à en récupérer un échantillon dans un référentiel public de logiciels malveillants. Le vidage mémoire du processus malveillant révèle les points suivants (Figure 6) :

  • Une requête réseau adressée à http[:]//icanhazip[.]com autorise le malware à identifier l'adresse IP publique de la machine infectée.
  • Occurrence de l'API « GetAsyncKeyState ». Les enregistreurs de frappes utilisent souvent cette API Windows pour identifier les touches du clavier sur lesquelles l'utilisateur appuie. L'appel de l'API GetAsyncKeyState 10 fois par seconde indique un enregistreur de frappes de base.

Figure 6 : Vidage mémoire du malware non identifié

Un examen plus minutieux du vidage mémoire confirme qu'il s'agit bien d'un enregistreur de frappes (Figure 7).

Figure 7 : Le vidage mémoire confirme la fonction d'enregistreur de frappes.

Bien que nous ne le montrions pas ici, ce malware transmet également ces journaux à deux adresses Gmail codées en dur, par le biais d'un serveur SMTP Gmail.

À ce jour, nous n'avons pas encore identifié l'enregistreur de frappes en question. Il est écrit en langage AutoIt et utilise d'autres outils, par exemple l'outil de récupération du mot de passe Lazagne qu'il télécharge depuis le site hxxp://0v3rfl0w[.]com. Les vecteurs de propagation sont très intéressants et les fonctions du malware lui-même sont plutôt simples.

Conclusion

À mesure que les pirates innovent et ne se contentent plus de macros malveillantes, il devient indispensable que les organisations revoient entièrement la manière dont elles empêchent le contenu malveillant d'atteindre leurs utilisateurs. Si bon nombre d'entreprises bloquent les macros Microsoft Office malveillantes par l'application de stratégies ou sensibilisent leurs utilisateurs aux risques inhérents à l'activation du contenu des macros, les attaquants sont désormais en mesure d'exploiter d'autres outils et de créer des documents « armés » pour propager leurs malware. Dans ce cas, il s'agit d'un script Visual Basic incorporé dans un document Microsoft Word et dont la charge utile est un enregistreur de frappes.

Indicateurs de compromission (IOC)

IOC

Type d'IOC

Description

8b7845f5487847085753f940dbbd65c7e75e6be48918fcf9f0d98df169607003

SHA256

Pièce jointe

https://a[.]pomf[.]cat/sfkpiff.exe

URL

Enregistreur de frappes hébergé (retiré depuis)

9a0b0832ac47b48475901269a0eb67f6287a2da64ec9a5cc8faf351ecd91d0e3

SHA256

Enregistreur de frappes

Couverture ET et ETPRO Suricata/Snort

2819671 || ETPRO TROJAN AutoIt téléchargeant l'outil de récupération de mots de passe Lazagne

2019935 || ET TROJAN AutoIt téléchargeant le programme malveillant EXE - Likely

2807400 || Téléchargement du fichier ETPRO MALWARE AutoIt EXE ou DLL Windows

2008350 || Agent d'outil d'automatisation Windows ET POLICY AutoIt inclus dans la requête HTTP - Potentiellement hostile