Vous êtes sur la page 1sur 8

Trouver le malveillant avec Yara

Une introduction à Yara pour l’investigation numérique


07-02-2024

Tableau de contenu

Introduction à YARA.....................................................................................................................................3

Trouver le malveillant par hash...................................................................................................................4

Plonger dans le contenu des fichiers...........................................................................................................6

Chercher un type de fichier spécifique........................................................................................................7

Plus des règles ?..........................................................................................................................................8


Apres un incident, il est crucial d’identifier la source et la manière de compromission,
l’utilisation des bon outils et technique peut faciliter et accélérer cette tâche pour bien
comprendre le comportement des logiciels malveillants.
Parmi les défis que les analyseurs de malwares, les chasseurs de menaces et les spécialistes en
investigation numérique est de détecter et identifier les nouveaux types et familles des logiciels
malveillants qui sont en évolution continue et leurs techniques sont sophistiqués jour par jour.

Introduction à YARA
YARA est un outil destiné (mais pas limité) à aider les spécialistes de cyber sécurité à identifier
est classifier ces malwares.
Avec Yara on peut créer des descriptions des familles des logiciels malveillants (Ou n’importe
quoi) en se basant sur des modèles textuel ou binaire.
Par exemple on peut écrire des descriptions pour détecter des logiciels malveillants avec :
 L’empreinte numérique (le hash).
 L’en-tête de fichier.
 Comportement.
 Le contenu.
 La structure de code.

Chaque description représente une règle, chaque règle consiste en un ensemble d’expressions de
chaines de caractères et booléens qui va déterminer sa logique.
Chaque fichier contenant la chaine de caractères "Hello world!" ou la valeur hexadécimal
suivante { 4D 5A 90 C8 1F B8 54 } sera considéré comme valide et va correspond à notre règle.
Noter que c’est une règle très simple, des règles fortes et compliquées peuvent être crées avec
Yara.
Les règles Yara sont très faciles à écrire et comprendre grâce à leur syntaxe simple.

Le nom de la règle se trouve après le mot-clé rule, la section "meta" contient des informations
supplémentaires sur notre règle tel que l’auteur ou bien l’objectif de la règle, la section
"condition" et la plus importante, c’est elle qui définit la logique de la règle.

Trouver le malveillant par hash


Yara nous permet d’utiliser la bibliothèque "hash" pour calculer le hash de tout le fichier ou une
partie de ce dernier ou bien on peut calculer le hash d’une chaine des caractères.
En utilisant la bibliothèque "hash" en peut créer des règles Yara pour chercher et identifier
certain fichier avec son hash.
Les spécialistes de cybersécurité et les chasseurs de menaces partagent souvent des listes de hash
des fichiers qui sont classés comme malveillant avec la communauté.
Par exemple, en sait que parmi les techniques que les adversaires utilisent en cherchant la
persistance sur les systèmes et l’outil netcat.

Pour notre exemple, On va calculer le hash MD5 ou SHA-256 de l’exécutable nc.exe (netcat)
avec PowerShell en utilisant la commande Get-FileHash.
Note : dans les règles Yara, le hash doit être en minuscule.

Les règles Yara sont écrites dans un fichier avec l’extension "Yara" qui peut contenir plus d’une
règle.

Comment utiliser Yara ?


Yara64.exe [ options ] <chemin vers le fichier des règles> <chemin vers le répertoire ou on
veut chercher>
La sortie de la commande précédente contient le chemin de fichier qui correspond à notre règle,
dans notre cas est c:\windows\temp\nc.exe ainsi que le nom de la règle satisfaite, on peut aussi
afficher les métadonnées de la règle avec l’option -m, pour une recherche récursive on utilise
l’option -r.
Même si l’adversaire tente de changer le nom de l’exécutable avec un autre qui semble légitime,
on est encore capable de le détecter.

Plonger dans le contenu des fichiers


Yara nous permet aussi d’explorer le contenu des fichiers et de chercher des modèles spécifiques.
Apres une exploitation efficace et le control total sur un system, les adversaires peuvent faire un
dump des mots de passe en essayant de collecter les informations d’identification.
Parmi les traces que les attaquant peuvent laisser sur nos systèmes c’est des fichiers qui
contiennent ces dumps de mots de passe.
Le fichier suivant a été créer pour une preuve de concept :

Pour notre but de test on va écrire une règle qui va nous permettre si ce genre des fichiers existe
dans notre système.
Puisque Yara est un outil puissant, il nous permet d’utiliser des expressions régulières pour une
recherche plus flexible.
Une description d’un hash SHA-256 rassemble à ceci.
Il faut noter que la règle dernière a été écrite dans le même fichier de l’exemple précédent, donc
ont peut obtenir le résultat des deux règles à la fois.

En utilisant l’option -s Yara nous affiche aussi les chaines de caractère ou la règle a été satisfaite, dans
notre exemple ce sont les hashes exacte qu’on a enregistré dans le fichier hashDump.txt.

Chercher un type de fichier spécifique

Parfois on est demandé de récupérer un type spécifique d’un fichier depuis un support de
stockage ou une image d’un disque dure, comment on peut le faire ? comment chercher dans de
centaines de bytes ?
Yara peut faciliter cette tache si on utilise les bytes magiques dans notre recherche.
Les bytes magiques se sont les premières bytes dans l’entête de chaque fichier et qui sont unique
pour chaque type de fichier ce qui permet au système d’exploitation de l’identifier facilement.
Un fichier exécutable exe est toujours identifié par l’entête [ 4D 5A 90 ]

Plus des règles ?

Chaque jour des nouveaux logiciels malveillants sont développé, ce qui rend la détection plus
difficile l’écriture des règles est fatigante.
En parallèle, des dizaines des règles sont écrites et partagées régulièrement par la communauté,
on peut les télécharger et les personnaliser selon le besoin.

Vous aimerez peut-être aussi