Hier matin j'ai été amené à agir rapidement pour identifier & contenir une flopée de fichiers pouvant s'avérer problématiques. Afin de rechercher ces menaces, j'ai utilisé l'excellent yara-python v3.1.0 (py3.3) avec Python v3.3.2. À la base, l'usage de cet outil est destiné aux traitements des codes malveillants mais sa souplesse remarquable offre de multiples possibilités. Un moteur simple et rapide pour effectuer des recherches multi-critères sur vos fichiers. Scanner un fichier, un répertoire, un processus, etc... devient trivial. Voici un exemple très simple pour illustrer le principe.
Je créer le fichier témoin "Bravo" et un script python vierge "toto".

Dans l'explorateur de fichiers, clique-droit sur "toto" → "Edit with IDLE"
Ce code permet de vérifier un fichier.

La condition définie est remplie puisque "GERONIMO" est affiché.
Et effectivement, le fichier "Bravo" contient bien "TANGO".
Avec quelques modifications.

Explications: Ici, je recherche des valeurs hexadécimales (hex1) et en utilisant "??" en guise de joker j'indique ignorer la valeur du deuxième bytes ET je recherche le mot charlie (mot2), le nocase indique de ne pas tenir compte de la casse, de plus le "at" stipule que ce mot devra être à la position 12 dans le fichier ET j'indique qu'il devra y avoir 3 fois la lettre "A" (cpt1) dans les données ET enfin que le poids du fichier devra être inférieur strictement à 32 octets.
Comme vous le constatez, il y a moyen de trouver des usages dans vos quotidiens. N'hésitez pas à consulter la documentation de YARA et si vous luttez avec Python, appuyez sur la touche "F1" dans l'IDLE pour afficher l'aide. Désormais, rechercher des fichiers au format PDF créés entre la période A et B avec la version X ou Y de l'outil Z,... ne devrait plus vous poser de difficultés :]