
Accélérateur de requêtes YARA pour malwares (interface web)
Vous avez déjà eu du mal à chercher des échantillons de malwares ? Mquery est une interface Web conviviale pour analystes qui permet de parcourir votre entrepôt numérique.
Il peut être utilisé pour rechercher des téraoctets de malwares en un clin d'œil :

En interne, nous utilisons notre UrsaDB pour accélérer les requêtes yara avec des n-grammes.
Une instance publique sera bientôt créée, restez à l'écoute...
La façon la plus simple de procéder est d'utiliser docker compose:
git clone https://github.com/CERT-Polska/mquery.git
cd mquery
vim .env # optional - change samples and index directory locations
docker compose up --scale daemon=3 # building the images will take a while
L'interface Web devrait être accessible à l'adresse http://localhost.

Placez quelques fichiers dans le SAMPLES_DIR (par défaut ./samples dans le dépôt, configurable via la variable dans le fichier .env).
Lancez ursacli dans docker:
docker compose exec ursadb ursacli
[2023-06-14 17:20:24.940] [info] Connecting to tcp://localhost:9281
[2023-06-14 17:20:24.942] [info] Connected to UrsaDB v1.5.1+98421d7 (connection id: 006B8B46B6)
ursadb>
Indexez les échantillons avec les n-grammes de votre choix (cela peut prendre un certain temps !)
ursadb> index "/mnt/samples" with [gram3, text4, wide8, hash4];
[2023-06-14 17:29:27.672] [info] Working... 1% (109 / 8218)
[2023-06-14 17:29:28.674] [info] Working... 1% (125 / 8218)
...
[2023-06-14 17:37:40.265] [info] Working... 99% (8217 / 8218)
[2023-06-14 17:37:41.266] [info] Working... 99% (8217 / 8218)
{
"result": {
"status": "ok"
},
"type": "ok"
}
Cela analysera le répertoire samples pour tous les nouveaux fichiers et les indexera. Vous pouvez suivre la progression dans la fenêtre tasks sur la gauche :

Vous devez répéter ce processus chaque fois que vous souhaitez ajouter de nouveaux fichiers !
Une fois l'indexation terminée, vous remarquerez de nouveaux ensembles de données :

C'est une bonne façon simple de commencer, mais si vous avez une grande collection, nous vous encourageons vivement à lire la page d'indexation du manuel.
Maintenant, vos fichiers doivent être recherchables. Insérez une règle Yara dans la fenêtre de recherche et cliquez sur Query. Juste pour la démonstration, j'ai indexé le code source de cette application et testé cette règle Yara :
rule mquery_exceptions {
strings: $a = "Exception"
condition: all of them
}

Consultez la documentation pour en savoir plus. C'est probablement une bonne idée si vous prévoyez un déploiement plus important.
Vous pouvez aussi lire la version hébergée ici : cert-polska.github.io/mquery/docs.
Voir les instructions d'installation.
Si vous souhaitez contribuer, consultez notre documentation dédiée aux contributeurs.
Découvrez comment le projet a évolué en lisant notre journal des versions.
Si vous avez des problèmes, des bogues ou des demandes de fonctionnalités liés à mquery, nous vous encourageons à créer une issue GitHub.
Vous pouvez discuter de ce projet sur Discord :
Si vous avez des questions inappropriées pour Github ou Discord, vous pouvez envoyer un courriel directement à CERT.PL ([email protected]).