Dans les parties précédentes nous avons étudié comment investiguer un système Windows pour rechercher des indices de compromission et quelles actions ont été menées sur la machine. Vous avez identifié des fichiers et des éléments malveillants qui sont à l’origine de la compromission, félicitation ! 🎉
Il faut à présent analyser ces éléments pour comprendre le mode opératoire et comment le contrer.
Dans cette partie, nous découvrirons ce qu'est un vecteur d’infection et comment ils sont utilisés par un attaquant pour infecter une machine.
Qu’est-ce qu’un vecteur d’infection ?
Pour pouvoir infecter un ordinateur un attaquant doit faire en sorte d’exécuter du code malveillant sur la machine cible. Pour ce faire il doit utiliser un vecteur d’infection.
Un vecteur d’infection est donc un moyen d’infecter un ordinateur. Il existe plusieurs types de vecteur.
La navigation internet via le téléchargement ou via l’exploitation de vulnérabilités.
L’email contenant une pièce jointe malveillante ou un lien malveillant. Les pièces jointe peuvent être des fichiers compromis tel que qu’un fichier PDF, ZIP, Office… Cela peut également être un SMS, ou un message sur les réseaux sociaux par exemple.
Dans certains environnements sensibles tels que les centrales nucléaire, l’accès internet n’est pas autorisé. En 2010, le malware Stuxnet a infecté les centrales nucléaires iranienne par le biais d’une clef USB, le malware s’est ensuite propagé sur le réseau interne. Il avait pour objectif de ralentir les centrifugeuses responsables de l’enrichissement de l’uranium.
Les clefs USB et autres supports externes, peuvent aussi être des vecteurs d’infection.
Un autre vecteur d’infection est ce qu’on appelle la « Supply Chain Attack », il s’agit ici de compromettre un tiers de confiance de l’entreprise cible pour pouvoir la compromettre. Ainsi elle bénéficiera d’un canal de confiance qui lui permettra de contourner les protections mis en place. Ce genre de vecteur est beaucoup plus difficile à détecter et à éviter car il s’agit de la sécurité des tierces parties avec lequel l’entreprise travaille.
En 2017, le malware NotPetya s’est répandu par le biais d’une mise à jour logiciel d’un outils de comptabilité en Ukraine. Lorsque les clients de cette entreprise ont mis à jour le logiciel elles ont téléchargé le malware qui s’est ensuite répandu de manière très rapide sur les réseaux infectés.
Quels sont les techniques utilisé par les attaquants ?
Comme nous venons de le voir il existe plusieurs vecteurs d’infection qui implique dans la plupart des cas une action utilisateur. Toutefois l’exploitation de vulnérabilité ne nécessite pas toujours l’interaction humaine. Nous allons à présent étudier quelques techniques utilisées par un attaquant.
L’exploitation de vulnérabilité
L’exploitation de vulnérabilité permet de compromettre une machine en exploitant un bugs d’un programme. Elle permet dans le pire des cas une élévation de privilège ou l’installation d’un logiciel malveillant par exemple. Lorsque la vulnérabilité n’a pas de correctif disponible on parle de faille Zéro Day. C’est généralement celle-ci qui est la plus redouté car tant que le patch n’est pas disponible les systèmes sont vulnérables.
Il existe de nombreuse vulnérabilités qui sont référencé par des numéros de CVE (Common Vulnérabilité Exposure). Pour en savoir plus vous pouvez visiter le site du Mitre.
L’utilisation de fichier anodins
L’email reste un des moyens les plus utilisés pour compromettre une cible. Pour pouvoir inciter un utilisateur à ouvrir une pièce jointe, les attaquants pourront utiliser des fichiers communément utilisés tous les jours tels que des fichier PDF, Office Documents, zips, etc.
Généralement la pièce jointe sera accompagnée d’un message qui incitera l’utilisateur à cliquer.
La pièce jointe pourra contenir :
Du code malveillant permettant l’exploitation d’une vulnérabilité par exemple exploitation d’une faille dans Adobe Reader avec un fichier PDF spécifiquement créé.
Du code malveillant permettant de télécharger un autre composant. Par exemple une macro malveillante dans un fichier Excel ou Word qui téléchargera sur une source distance un logiciel malveillant. On appelle ce type de document un Dropper ou un Downloader.
Les autres types de fichiers
Les attaquants peuvent également utiliser d’autre type de fichiers qui seront exécutés par l’utilisateur : des fichiers ZIP contenant une vulnérabilité, des fichiers JavaScript, VBS, etc.
Utiliser les outils de base pour analyser le fichier
Pour analyser un fichier malveillant il faut d’abord identifier quel type de fichier nous avons devant nous avant même de l’ouvrir pour l’analyse dynamiquement. On parle ici d’analyse statique.
Déterminez si le fichier est malveillant
Une des premières étapes est de savoir si le fichier est connu comme étant malveillant. La plateforme VirusTotal permet de vérifier si le malware est connu ou non. Il s’agit d’une plateforme d’analyse regroupant plusieurs antivirus.
Il est possible d’uploader un fichier pour l’analyser, analyser une url et faire une recherche de malware.
Déterminez le type de fichier avec l'outil file
File est un outil natif sous Linux qui permet d’identifier le type de fichier en lisant le magic number. Le magic number est un nombre hexadecimal utilisé dans l’entête d’un fichier pour identifier son format.
Ci-dessous, quelques exemple :
fr0gger@crash:~OpenClassroom$ file invoice invoice.7z: 7-zip archive data, version 0.4 fr0gger@crash:~OpenClassroom$ file forensic forensic.xlsx: Zip archive data, at least v2.0 to extract fr0gger@crash:~OpenClassroom$ file Forensic Forensic.docx: Microsoft Word 2007+ fr0gger@crash:~OpenClassroom$ file calc calc.exe: PE32+ executable (GUI) x86-64, for MS Windows fr0gger@crash:~OpenClassroom$ file forensic forensic.pdf: PDF document, version 1.4
Un attaquant pourra changer l’extension d’un fichier pour tromper un utilisateur. L’outil file vous permettra d’identifier le réel type de fichier que vous analyser.
Extrayez les chaines de caractère avec l'outil strings
Un autre outil natif sous Linux est l’outil strings
il permet d’extraire les chaînes de caractère d’un fichier sans l’ouvrir. Dans certains cas cela vous permettra d’identifier des fonctionnalités du fichier malveillant que vous analysez.
En résumé
Les attaquants ne cessent de rivaliser d’ingéniosité pour infecter des cibles. Dans cette partie nous venons de passer en revue les différents types de vecteurs d'infection comme les pièces jointes de mails, les supports externes, etc.
Nous avons également les outils de base pour commencer l’analyse :
VirusTotal pour vérifier que le fichier n'est pas déjà identifié par malveillant ;
file
pour déterminer le type du fichier ;strings
pour en extraire les chaines de caractère.
Dans le chapitre suivant nous approfondirons l’analyse d'un de ces vecteurs en analysant un email malveillant.