
Extension X-Tension de scanner YARA natif pour X-Ways Forensics, permettant l'analyse de fichiers dans l'instantané avec support RVS multi-thread, sortie en tableau de rapport, et aucune écriture sur disque.
Cette X-Tension X-Ways Forensics permet l'utilisation native de YARA dans X-Ways. Elle utilise à la fois l'API X-Ways Forensics et l'API YARA pour y parvenir.
Note : Ceci est un projet open source, pas un produit officiel de CrowdStrike.
Il y a de nombreux avantages à exécuter YARA dans X-Ways, par rapport à l'exécution de YARA via l'interface en ligne de commande.
En supposant que X-Ways Forensics est installé et configuré correctement, téléchargez simplement la DLL compilée depuis la page des versions et copiez-la dans votre dossier x64 dans le dossier d'installation de X-Ways Forensics.
La X-Tension peut être exécutée via l'interface graphique de X-Ways Forensics ou via la ligne de commande de X-Ways Forensics. Ce readme se concentrera sur la méthode via l'interface graphique.
Dans l'interface graphique, il y a deux façons d'exécuter la X-Tension ; via le menu Affiner l'instantané du volume (RVS), ou via le menu Contextuel du Navigateur de répertoires (DBC). La méthode choisie dépend de ce que vous voulez accomplir. En général, exécuter YARA via le menu RVS sera très rapide si l'utilisateur spécifie une taille de fichier maximale raisonnable (par exemple 25 Mo). Si pour une raison quelconque l'utilisateur souhaite exécuter YARA sur des fichiers individuels plus volumineux via le menu DBC, la X-Tension divisera les données en morceaux (dont la taille est fournie par l'utilisateur).
Si l'une des règles YARA échoue à la compilation, une erreur sera affichée dans la fenêtre Messages de X-Ways indiquant la ligne où l'erreur s'est produite et le message d'erreur YARA. Corrigez ces erreurs dans la règle YARA et réessayez. Un compte des avertissements YARA sera affiché via la fenêtre Messages de X-Ways, et les détails exacts de ces avertissements sont enregistrés dans le journal du dossier X-Ways.
La X-Tension prend en charge l'utilisation de plusieurs fichiers de règles YARA (notez que YARA générera une erreur pour les règles en double et ne pourra pas les compiler). Alternativement, elle prend également en charge l'utilisation d'un seul fichier de règles déjà compilé (.yara/.yar).
Note : Il existe un risque qu'une correspondance YARA valide soit manquée si les données scannées se trouvent à cheval sur deux limites de morceau/tampon. Si cela pose problème, augmentez la taille du tampon ou copiez le fichier hors de X-Ways et scannez-le en utilisant l'interface en ligne de commande YARA.
| Méthode -> | RVS | DBC |
|---|---|---|
| Multithreadé | Oui | Non |
| Demander la taille maximale du fichier | Oui | Non |
| Demander la taille du tampon de scan | Oui* | Oui |
* Uniquement si la taille maximale du fichier saisie par l'utilisateur est supérieure à 100 Mo. Si la taille maximale du fichier est inférieure à 100 Mo, la taille du tampon utilisée est de 100 Mo.
Dans l'interface graphique, une fois que vous avez créé ou ouvert un dossier existant, allez dans Specialist -> Refine Volume Snapshot. Cochez ensuite l'option "Exécuter les X-Tensions" et cliquez sur les trois points qui apparaissent. Dans le menu qui apparaît, cliquez sur le symbole plus (+) et naviguez jusqu'au fichier XT_Yara.dll téléchargé depuis ce dépôt, puis appuyez sur OK.
Vous serez ensuite invité à sélectionner votre fichier de règles YARA. Une fenêtre de saisie s'affichera et il vous sera demandé de fournir une taille maximale de fichier à scanner, ce qui est obligatoire. 25-50 Mo pourrait être une taille maximale adéquate si vous recherchez uniquement des échantillons de logiciels malveillants ou des shells web par exemple.
Si l'utilisateur a sélectionné une taille maximale de fichier supérieure à 100 Mo, une deuxième invite de saisie utilisateur s'affichera demandant la taille du tampon utilisée par le scanner YARA. Cela a été testé jusqu'à 2 Go sans problème, mais choisissez judicieusement en fonction de vos contraintes de mémoire et du nombre de threads sélectionnés.
Dans l'interface graphique, une fois que vous avez créé ou ouvert un dossier existant, sélectionnez le ou les fichiers que vous souhaitez scanner, puis faites un clic droit sur l'un d'eux et sélectionnez "Exécuter les X-Tensions...". Vous serez ensuite invité à spécifier le ou les fichiers de règles YARA. Une invite de saisie utilisateur s'affichera demandant la taille du tampon utilisée par le scanner YARA. Cela a été testé jusqu'à 2 Go sans problème, mais choisissez judicieusement en fonction de vos contraintes de mémoire et du nombre de threads sélectionnés.
Il n'y a pas d'invite pour la taille maximale du fichier.
Les fichiers avec des correspondances YARA sont ajoutés à la table de rapport appelée "YARA Hits". Les règles exactes qui correspondent sont ajoutées par fichier, par ligne, dans le champ "Commentaires" à l'intérieur de X-Ways Forensics.
La sortie typique est présentée ci-dessous :
[XT] YARA 4.2.2 library initialised
[XT] There were 9 YARA compile warnings. Check the XWF case log for details
[XT] YARA rules compiled successfully
[XT] Operation Complete. Processing time: 0.000000s
[XT] Summary: Found 240 YARA hits
[XT] YARA library finalised