Les cyberattaques par e-mail de phishing se multiplient et les attaquants utilisent généralement des macros intégrées au DOC pour infiltrer l'ordinateur de la victime. Récemment, Quick Heal Security Labs a découvert un exemple d'e-mail de phishing utilisant l'exploit de l'éditeur d'équations de Microsoft pour diffuser l'enregistreur de frappe Hawkeye.
Les cybercriminels utilisent différentes techniques pour voler des données confidentielles. Ils proposent désormais des logiciels malveillants plus sophistiqués pour atteindre leurs objectifs. C'est pourquoi nous observons constamment l'évolution rapide de nouvelles menaces. Hawkeye appartient à la famille des enregistreurs de frappe (keyloggers). La dernière version, Hawkeye v8, exploite la vulnérabilité CVE-2017-11882 de l'éditeur d'équations de Microsoft Office pour s'infiltrer. Nous avons également publié un article de blog détaillé sur cette faille, que vous pouvez consulter ici . Cette faille utilise de nouvelles techniques pour échapper à la détection des antivirus. Elle compile son code lors de son exécution et charge sa charge utile en mémoire sans l'écrire sur le disque.
Déroulement de l'exécution :

Analyse des exploits :
La vulnérabilité de dépassement de tampon est présente dans l'enregistrement « FONT » de l'objet natif d'équation. Pour exploiter cette vulnérabilité, l'objet OLE doit invoquer l'objet natif d'équation et, pour ce faire, inclure le flux natif d'équation dans le fichier OLE.
Cela peut être fait en utilisant deux types :
- Utilisation du flux « Equation Native ».
- L'utilisation de CLSID du flux « Equation Native ».
Dans ce cas, il utilise CLSID au lieu du flux « Equation Native ».

Il utilise le flux « OLE10native » pour analyser les objets OLE dans le flux « Equation Native ».
Voici l’en-tête minimal du flux « OLE10native » :
| DWORD | Taille de l'objet d'équation (en-tête MTEF + données MTEF) |
Après l'exécution d'OLE, l'éditeur d'équations de fichiers est appelé et commence l'analyse de l'enregistrement. Il analyse d'abord les en-têtes MTEF et TYPESIZE, puis l'enregistrement FONT. Dans ce cas, le tampon contenant le contenu de l'enregistrement FONT est saturé.
La figure suivante montre la structure du flux OLE10Native qui est analysé par l'objet Equation Native.

L'exploitation de cette vulnérabilité entraîne l'exécution d'un shellcode et finalement le téléchargement d'une charge utile malveillante à partir du serveur CNC.

Le shellcode se connecte à l'URL pour télécharger des logiciels malveillants via l'API « URLDownloadToFileW » présente dans Urlmon.dll et l'exécute pour effectuer une activité malveillante. Dans notre cas, nous avons détecté un logiciel malveillant du type Hawkeye, un enregistreur de frappe qui enregistre les frappes et envoie des données via un serveur SMTP.
Analyse de la charge utile :
La dernière version du keylogger Hawkeye utilise un système d'exécution en trois étapes. Elle commence par exécuter un conteneur qui injecte la charge utile Hawkeye dans Regasm.exe. Ensuite, elle capture les frappes clavier et les identifiants stockés dans le navigateur, Outlook et certains gestionnaires de fichiers FTP, puis les envoie via le protocole SMTP.
Dans un premier temps, le code C# chiffré présent au format texte dans le fichier malveillant est déchiffré puis compilé en mémoire. Le code compilé présent en mémoire est ensuite exécuté par le logiciel malveillant. Le code suivant est utilisé pour la compilation et l'exécution en mémoire à l'aide des utilitaires .NET Framework. Étant au format texte et compilé à l'exécution, le code réduit la taille de la charge utile et permet de se protéger des antivirus.

CSharpCodeProvider permet d'accéder à l'utilitaire du compilateur .NET, csc.exe , utilisé pour compiler le code dynamiquement. Pour exécuter ce code en mémoire sans en créer de copie physique, il propose une option de compilation (voir figure 5). Si la valeur de « GenerateExecutable » est définie sur « false », une bibliothèque de classes est créée. Si elle est définie sur « true », un fichier exécutable est créé. Pour « GenerateInMemory », si la valeur est « false », une copie physique de l'assembly est enregistrée dans %temp%/randomname.exe. Si « GenerateInMemory » est défini sur « true », aucune copie physique de l'assembly n'est enregistrée sur le disque secondaire. Enfin, la méthode compilerResults.CompiledAssembly.EntryPoint.Invoke(null, null) permet d'exécuter le code à partir du point d'entrée.
Dans un second temps, le chargeur déchiffre le stub Hawkeye Reborn à partir des ressources et l'injecte dans RegAsm.exe . Regasm.exe est l'outil d'enregistrement d'assemblys .NET utilisé pour enregistrer ou désenregistrer des assemblys. Ce malware utilise la réflexion ( méthode invokeMember ) pour exécuter regasm.exe, en lui transmettant la charge utile Hawkeye comme paramètre. Cette charge utile est ensuite exécutée comme processus enfant de Regasm.exe. Sur la figure 6, Text4 représente le chemin d'accès à regasm.exe et hXYyylN6() renvoie le tableau d'octets déchiffré de la charge utile.

Lors de la dernière étape, la charge utile finale est exécutée par un chargeur sous RegAsm.exe (un utilitaire légitime du framework Microsoft .NET). Elle ressemble à une application Microsoft authentique, mais il s'agit en réalité d'un enregistreur de frappe Hawkeye. La charge utile est masquée à l'aide de ConfuserEx 1.0 et SuppressIldasm . Pour exécuter le logiciel malveillant après le redémarrage, une entrée d'exécution est créée.
La dernière version de Hawkeye contient de nombreuses fonctionnalités comme suit.
- Capture les frappes de l'utilisateur et le contenu du presse-papiers.
- Copies FTP, identifiants de messagerie.
- Pour l'anti-débogage, il utilise SuppressIldasm et ConfuserEx 1.0.
- Pour désactiver l'antivirus et les outils comme Wireshark, il ajoute la clé debugger et la valeur rundll32 dans Image File Execution pour ces applications.
- Utilisez des outils authentiques comme «MailPassView" et "BrowserPassView" pour vol de mot de passe.
- Désactivez également rstrui.exe qui est utilisé pour restaurer les fichiers.
- Utilisez des techniques anti-sandbox comme Thread.sleep() pour retarder l'exécution.
- Utilisez le cryptage base64 pour envoyer des données au serveur CNC.
- Le code est compilé côté utilisateur à l'aide de csc.exe (Compilateur C Sharp)
- Recherchez le fichier d’extension « .Oeaccount » dans tous les répertoires.
- Désactive le gestionnaire de tâches, l'invite de commandes et le registre en ajoutant le registre sous CurrentVersion\\Policies\\System.
- Tue cmd.exe et Wscript.exe
- Détecte les détails des produits antivirus et pare-feu à l'aide de WMI requête.

Fonctionnement de Hawkeye Keylogger :
Lors de son exécution, l'enregistreur de frappe vérifie d'abord le type d'utilisateur, puis collecte des informations telles que le nom d'hôte, le BIOS, l'antivirus et les détails du pare-feu, et envoie toutes ces informations à « SUNDA[@]doctorework[.]com » . Pour détecter les détails de l'antivirus, il utilise une requête WMI via la classe ManagementObjectSearcher de C#.
Il crée une connexion SMTP pour le transfert de données avec le serveur us2[.]outbound[.]mailhostbox[.]com, où il envoie toutes les entrées clavier, le presse-papiers et les informations système au format chiffré base64.
![]()

De plus, il utilise le site web pomf[.]cat pour stocker les captures d'écran via une requête HTTP POST. Son répertoire de ressources contient les modules MailPassView et BrowserPassView de Nirsoft. MailPassView récupère les identifiants enregistrés dans Outlook, tandis que BrowserPassView copie ceux enregistrés dans les navigateurs et les envoie à l'utilisateur via une connexion SMTP.

Il contient une liste d'antivirus et de programmes tels que Windows Defender, Wireshark et rstrui.exe. L'exécution de ce programme est bloquée par l'ajout du registre.
« HKLM\\SOFTWARE\\MICROSOFT\\WINDOWS NT\\CurrentVersion\\Options d'exécution du fichier image\\Nom_du_programme.exe\\ »
Nom de la clé : Débogueur Valeur : rundll32.exe
De plus, il tue cmd.exe, wscript.exe et modifie le fichier Hosts.
Rstrui.exe est l'utilitaire de restauration de fichiers en désactivant ces utilitaires, il empêche une victime de restaurer le point de restauration.

Il vérifie les noms d'applications en cours d'exécution s'ils contiennent « WPE PRO » et « The Wireshark Network Analyzer » et vérifie si « SbieDll.dll » est en cours d'exécution, puis arrête l'exécution. Pour les techniques anti-sandbox, il utilise des instructions de mise en veille.
Comme Hawkeye keylogger enregistre chaque touche enfoncée, il est nuisible à la sécurité des données confidentielles.
En conclusion :
Avec l'émergence des tendances numériques, les données gagnent en importance. Pour les voler, les pirates utilisent des logiciels malveillants de type enregistreurs de frappe. Pour se protéger des antivirus, ces derniers évoluent, passant d'un simple code à un code MSIL géré, doté de techniques d'évasion avancées. Les auteurs de logiciels malveillants utilisent des techniques d'ingénierie sociale et des codes d'exploitation pour s'infiltrer dans l'ordinateur de la victime. Pour se protéger de ce type d'attaques, l'utilisateur doit mettre à jour ses applications Microsoft et son antivirus. Quick Heal bloque cette attaque en plusieurs étapes grâce à son mécanisme de détection avancé.
Détection :
Quick Heal offre une protection à plusieurs niveaux pour le keylogger Hawkeye.
Le fichier PDF est détecté par détection : PDF.Downloader.31377
Hawkeye est détecté par détection : Trojan.Ransom, Pwstool.Netpass et Cheval de Troie.IGENERIC
CIO :
PDF: 5F9227210036BB64F71E9A5E25115A39
DOC: 5191234DBE697D3A79400FD89DEE3BBD
SUND: 78787470C46A45BE5AF5AE5DC2BF6EB9
Domaine : hxxp[:]//fbsleads[.]com/assets/SSUUNDS[.]exe
Identifiant de messagerie: sunda[@]doctorework.com
Serveur de messagerie : us2[.]outbound[.]mailhostbox[.]com
Experts en la matière:
Aniruddha Dolas, Vallabh Chole, Pradeep Kulkarni | Laboratoires de sécurité Quick Heal



