Analyse d'un email malveillant

Au cours de ces derniers mois nous avons pu constater que les vagues de malspam sont de plus en plus sophistiquées. Un nouveau mode opératoire, plus élaboré que les précédents, a été identifié cet été et mérite le détour.

Tout a été étudié dans le moindre détail pour piéger l’utilisateur et tromper sa vigilance, d’une part en lui faisant croire en la légitimité de l’email et d’autre part en l’incitant à ouvrir les pièces jointes. Il s’agit d’une attaque ciblée ressemblant à un email de phishing, et suffisamment personnalisée pour passer pour un mail légitime alors qu’en réalité il contient un malware. Contrairement à du malspam ordinaire, cette attaque n'est ni envoyée massivement, ni sur une longue période, toutefois nous constatons que cette méthode réapparaît de façon régulière, avec ou sans variante.

Ce mode opératoire est plus difficile à détecter puisqu’il permet de ne pas attirer l’attention et de passer entre les mailles de la plupart des solutions de protection de la messagerie. Regardons en détail le mode opératoire élaboré et les différents éléments mis en œuvre pour successivement rassurer l’utilisateur, l’inciter à ouvrir la pièce jointe, déclencher l’exécution du malware et masquer ce dernier aux yeux des outils d’analyse des mails.

 

Analyse de l'email

Analyse email complexe

La première partie du mail consiste à nous mettre en confiance en essayant de faire croire qu'un contact a déjà préalablement été établi. En effet le sujet du mail comporte un "Fw" qui a pour objectif de rassurer le lecteur et lui faire croire à la suite d’une discussion préalablement entamée.

La seconde partie incite à ouvrir les documents en pièces jointes et demande quelques informations pour crédibiliser le scénario.

La dernière partie donne des informations sur l'expéditeur du mail. Nous avons un nom, un prénom, son poste, une adresse, un numéro de téléphone et un fax pour nous mettre encore plus en confiance.

Pièces jointes

Fichier SHA256 VirusTotal VirusBay
order.pdf 10dbc14d9b722129067030a6934cb6b252fcff97aaadb5190d26bc5fbbc6c96a

Lien

Lien

order.docx 2f9b3c53028b1997415831e340ee5467aa47201c3e4dc33d449c486fb038da99

Lien

Lien

 

Analyse des pièces jointes

Il est plutôt rare d'avoir 2 pièces jointes dans un malspam. En règle générale, les malspam sont moins complexes, ils contiennent peu de texte et une seule pièce jointe.

Étudions ces deux fichiers pour comprendre le déroulement de l'attaque.

Analyse du fichier ‘order.pdf’

analyse fichier pdf corrompu

Le fichier PDF, une fois ouvert, est vide. Un message d'Adobe Acrobat Reader nous indique que l'exécution du JavaScript est désactivée et que son activation peut entraîner d'éventuels problèmes. Par défaut, l'exécution de code JavaScript est désactivée lors de l'installation d'Adobe Acrobat Reader ; l'utilisateur peut toutefois modifier ce comportement dans les paramètres de l'application. Le cas échéant, le code JavaScript est directement exécuté, sans que le moindre message d'alerte ne soit affiché.

Que se passe-t-il si nous activons l'exécution du code JavaScript ? Analysons dans un premier temps le fichier.

Le format PDF est en quelque sorte un format à balises, il est donc tout à fait possible d'ouvrir les fichiers PDFs avec un éditeur de texte.

À l'intérieur de celui-ci plusieurs parties sont intéressantes :

Analyse code corruption

La ligne 9 nous indique que le fichier contient un autre fichier qui se nomme 'jon001.docx' et ses données sont dans l'objet '7 0'.

La ligne 10 permet de déterminer qu'une action va être effectuée lors de l'ouverture du fichier. L'action qui sera effectuée se trouve dans l'objet '9 0'. Voici son contenu :

Analyse code fichier corrompu

L'objet contient des mots clés '/Action', '/S /JavaScript' et '/JS' qui indiquent que du code JavaScript va être exécuté. Ici, le code JavaScript va ouvrir le fichier 'jon001.docx' qui est contenu dans le PDF.

Il se trouve que le fichier 'jon001.docx' est le même que le fichier order.docx présent dans le mail.

Fichier SHA256 VirusTotal VirusBay
jon001.docx 2f9b3c53028b1997415831e340ee5467aa47201c3e4dc33d449c486fb038da99

Lien

Lien

 

Vérifions ce qu'il se passe lors de l'activation du JavaScript (cette action n'est pas recommandée).

ouvrir fichier corrompu

 

Nous savons à présent que si nous ouvrons le fichier PDF ou le fichier docx en pièce jointe le résultat sera le même, à savoir, l'ouverture du fichier docx. La présence de deux pièces jointes menant au même résultat multiplie les chances de réussite de l'attaque.

Analyse du fichier 'order.docx'

Comme pour le fichier PDF, le fichier docx est vide et nous propose d'activer une modification... Analysons-le dans un premier temps comme pour le fichier PDF.

Le format OOXML a été introduit avec Microsoft Office 2007 et est devenu le format par défaut depuis. Les fichiers OOXML (docx, xlsx, pptx) sont des archives ZIP, il est donc possible de faire une extraction sur un fichier pour voir son contenu.

L'image ci-dessous représente le contenu du fichier 'order.docx' après son extraction.

 

Le fichier 'document.xml' donne une information importante sur l'action que va réaliser le document si la modification est activée.

La ligne 21 (encadré rouge) nous indique que le document contient un objet 'OLE' de type 'Link' avec comme identifiant '_id_1659'. Pour trouver à quoi correspond l'objet il faut regarder dans le fichier 'document.xml.rels' qui se trouve dans le dossier '_rels'.

 

À la ligne 9 nous retrouvons :

  • Id : l'identifiant que nous recherchons
  • Type: le type de l'identifiant, ceci nous confirme qu'il s'agit d'un fichier 'oleObject'
  • TargetMode:  défini à 'External' qui signifie que le fichier sera téléchargé
  • Target : l'adresse du fichier à télécharger, à savoir,  'hxxps://pomf[.]pyonpyon[.]moe/befqki[.]doc'
URL URLhaus Database
hxxps://pomf[ . ]pyonpyon[ . ]moe/befqki[ . ]doc

Lien

 
Pour conclure sur l'analyse du fichier docx, si nous activons la modification alors un fichier nommé 'befqki.doc' sera téléchargé et ouvert.

Analyse du fichier befqki.doc

Fichier SHA256 VirusTotal VirusBay ANY RUN
befqki.doc dc3648f847df34be4b5620346e2e4e7fd6d839f8a2a38b877be7fc590da2b72e

Lien

Lien

Lien

 

Contrairement aux précédents fichiers, celui-ci n'a pas la bonne extension. Il ne s'agit pas d'un DOC mais d'un RTF.

Il est très courant de nos jours de voir des pièces jointes avec comme extension '.doc' alors qu'il s'agit de fichiers RTF. Le format DOC et RTF sont tous les deux des formats de fichiers développés par Microsoft. Les applications comme Microsoft Word ou même LibreOffice ne se base pas sur l'extension mais sur le header d'un fichier pour lire son contenu, il est donc possible de modifier son extension sans avoir d'impact lors de la lecture de celui-ci.

Pourquoi modifier son extension ? Le format RTF est moins connu et moins utilisé que le format DOC, les utilisateurs sont de plus en plus sensibles aux menaces informatiques et auront tendance à se méfier davantage d'un fichier avec une extension inconnue. La modification est simple et rapide à réaliser et touchera un plus grand nombre d'utilisateurs.

Le fichier utilise la CVE-2017-11882 pour télécharger et exécuter un fichier lors de son ouverture.

L'analyse statique de cette CVE étant plus complexe que les précédentes, nous ne la ferons pas ici, néanmoins voici un résumé de son déroulement :

  1. Le fichier RTF contient un fichier doc embarqué.
  2. Le fichier doc extrait contient un stream Ole10Native.
  3. Ce stream contient un shellcode qu'il nous faut analyser.
  4. Le shellcode permet de télécharger et d'exécuter le malware.

Voici un article qui explique en détail l'extraction et l'analyse d'un shellcode contenu dans un fichier RTF : CVE-2017–11882 - RTF.

L'analyse de ANY RUN indique que le fichier 'befqki.doc' télécharge un fichier via l'adresse 'hxxp://irishlebanese[ . ]com/wp-admin/images/eight/jon001[ . ]exe' pour ensuite l'exécuter.

URL URLhaus Database
hxxp://irishlebanese[ . ]com/wp-admin/images/eight/jon001[ . ]exe

Lien

 

Le fichier jon001.exe se trouve être le malware et donc l'étape finale de l'attaque, les fichiers précédents sont uniquement des downloaders et droppers.

  • Un downloader est un fichier qui permet de télécharger et d'exécuter un malware, comme les fichiers 'order.docx' et 'befqki.doc'.
  • Un dropper est un fichier qui embarque directement le malware en le dissimulant pour éviter toute détection pour ensuite l'exécuter, dans notre exemple le fichier 'order.pdf' est un dropper puisqu'il embarque le fichier 'order.docx' qui va servir à télécharger un malware.
Fichier SHA256 VirusTotal VirusBay ANY RUN
jon001.exe f4c9efedc4d9b215e7f99d158654bb2d88b5fa806b7ce52b8ce34c1abc39cdac

Lien

Lien

Lien

 

Nous n'allons pas analyser le malware en détail mais voici ses principales actions :

  • Effectuer des captures d'écrans
  • Voler les mots de passe
  • Enregistrer les frappes du clavier
  • Envoyer les informations récupérées à un serveur distant

 

Conclusion

Voici en synthèse le déroulement de l'attaque dans son intégralité qui, comme nous l'avons vu, est plus élaborée que les malspam habituels de par son enchaînement et l'utilisation de deux pièces jointes.

1er étape : Ouverture de l'email comportant deux pièces jointes.

2ème étape : Ouverture d'une ou des pièces jointes. Le fichier 'order.pdf' contient un fichier 'jon001.docx' qui se trouve être le même fichier que la seconde pièce jointe (order.docx). Le fichier 'befqki.doc' va être téléchargé.

3ème étape : Le fichier 'befqki.doc' utilise la CVE-2017-11882 pour exécuter le code qui va permettre de télécharger et d'exécuter le fichier 'jon001.exe'

4ème étape : Le malware s'exécute et va effectuer différentes actions : voler des mots de passe stockés sur la machine, enregistrer les frappes du clavier pour ensuite les transmettre à l'attaquant.

Références :

Fichier SHA256 VirusTotal VirusBay ANY RUN
order.pdf 10dbc14d9b722129067030a6934cb6b252fcff97aaadb5190d26bc5fbbc6c96a

Lien

Lien

x

order.docx 2f9b3c53028b1997415831e340ee5467aa47201c3e4dc33d449c486fb038da99

Lien

Lien

x

befqki.doc dc3648f847df34be4b5620346e2e4e7fd6d839f8a2a38b877be7fc590da2b72e

Lien

Lien

Lien

jon001.exe f4c9efedc4d9b215e7f99d158654bb2d88b5fa806b7ce52b8ce34c1abc39cdac

Lien

Lien

Lien

 

URLs URLhaus Database
hxxps://pomf[ . ]pyonpyon[ . ]moe/befqki[ . ]doc

Lien

hxxp://irishlebanese[ . ]com/wp-admin/images/eight/jon001[ . ]exe

Lien