
Génère des fichiers pseudo-malveillants à partir de règles YARA pour déclencher la détection AV/EDR, permettant la recherche de logiciels malveillants, l'assurance qualité des règles et les tests de pression des capteurs réseau sans échantillons de logiciels malveillants réels.
Arya est un outil unique qui produit des fichiers pseudo-malveillants destinés à déclencher des règles YARA. On peut le considérer comme un YARA inversé car il fait exactement l'inverse - il crée des fichiers qui correspondent à vos règles.
Vous pouvez en savoir plus sur Arya et son fonctionnement dans notre blog.

Les règles YARA sont un outil essentiel pour les chercheurs en sécurité, les aidant à identifier et classer des échantillons de logiciels malveillants. Elles décrivent des motifs et des chaînes dans le code malveillant qui peuvent aider un analyste à identifier des menaces connues ou nouvelles. Les règles YARA sont également souvent intégrées dans des outils de détection commerciaux, ou utilisées en interne pour détecter des binaires malveillants sur le réseau d'entreprise.
Mais que faire si nous n'avons pas le fichier malveillant pour lequel nous écrivons des règles ? Et si nous voulons créer le fichier « malveillant » à partir de YARA en entrée ? C'est pourquoi nous avons développé Arya. Arya peut être utilisé pour générer des fichiers pseudo-malveillants sur mesure destinés à déclencher des antivirus (AV) et des outils de détection et réponse sur les points de terminaison (EDR), à l'instar du bon vieux fichier de test EICAR. Notre outil a plusieurs cas d'utilisation, notamment la recherche de logiciels malveillants, les tests d'assurance qualité des règles YARA, et les tests de résistance d'un réseau avec des échantillons de code construits à partir de règles YARA.

Arya est un outil unique en son genre ; il produit des fichiers pseudo-malveillants destinés à déclencher des règles YARA. L'outil lit les fichiers YARA (suffixe .yar), analyse leur syntaxe à l'aide du package yaramod d'Avast—le moteur d'analyse YARA utilisé dans cette recherche—et construit un fichier « malveillant » pseudo. Il place soigneusement les octets souhaités des règles YARA pour déclencher les règles d'entrée.
L'objectif de l'outil est de générer un fichier pseudo-malveillant sur mesure que les capteurs de détection tels que l'AV ou l'EDR identifieront comme le fichier malveillant qu'une règle YARA d'entrée est censée détecter. Pour atteindre cet objectif, nous ajoutons non seulement les signatures, chaînes et octets nécessaires issus des règles YARA d'entrée, mais aussi quelques « touches » telles que de véritables en-têtes PE, l'augmentation de l'entropie du fichier de sortie, l'ajout de bytecode x86 et de code assembleur de prologue/épilogue de fonction. Tout cela facilite le processus de déclenchement de l'AV/EDR et contourne certaines vérifications heuristiques qu'ils pourraient avoir.

Les fichiers YARA (extension .yar) sont des fichiers texte qui contiennent une ou plusieurs règles YARA. Dans ce projet, nous avons utilisé yaramod pour transformer les règles YARA en une liste de règles représentées par des objets Python, qui peuvent ensuite être utilisés pour accéder au contenu interne d'une règle, comme les chaînes, les types, les conditions, etc. Yaramod analyse les règles YARA en AST, ou arbre syntaxique abstrait.
Le parcours de l'arbre syntaxique abstrait est effectué en utilisant une combinaison des patrons de conception Observateur et Visiteur. Pour chaque nœud que le code traverse, il détermine quels octets et chaînes il doit placer, et où, afin de déclencher la condition dans le sous-arbre qu'il traverse. En conséquence, cet arbre produit un mapping des chaînes et des décalages possibles pour les placer ; il peut également en réserver certains dans le fichier, qui seront transmis au mécanisme de placement pour un traitement ultérieur.
Les chercheurs peuvent utiliser Arya pour générer des fichiers pseudo-malveillants en utilisant des règles YARA comme blocs de construction. Ces fichiers peuvent être utilisés pour créer des fichiers qui seront identifiés comme des logiciels malveillants spécifiques. Par exemple, si vous n'avez pas d'échantillon du malware Zeus, mais que vous voulez vérifier comment votre AV réagit ? Pas de problème, chargez les règles YARA de Zeus dans Arya et générez votre propre pseudo-malware ressemblant à Zeus que les outils AV/EDR identifieront comme Zeus.
Arya peut également être utilisé dans le cadre de la formation à la réponse aux incidents—similaire au purple-teaming—où des fichiers pseudo-malveillants peuvent être envoyés sur le réseau pour tester la résistance des capteurs et détecteurs du réseau.
Pris en charge
Prévu pour les prochaines mises à jour
sudo apt update
sudo apt install yara cmake
git clone https://github.com/claroty/arya
cd arya
pip3 install -r requirements.txt
Exécutez Arya en considérant les arguments suivants :
-i [INPUT_DIRECTORY] OR [INPUT_FILE]-o [OUTPUT_FILE_NAME]--header - Ajoute les 2048 premiers octets de Conficker au début du fichier.-r - Exécute récursivement sur tous les fichiers sous [INPUT_DIRECTORY]-m [MALWARE_FILE] - Utilise le fichier [INPUT_DIRECTORY] comme base pour la sortie.python3 src/arya.py -i example_rules/ -o MalwareAryaDefault.exe