
Outil de chasse aux menaces basé sur Sysmon et les graphes

Grafiki est un projet Django dédié à Sysmon et aux graphes, pour l'instant.
À mon avis, EventViewer, Elastic et même Kibana ne sont pas assez graphiques. Les menaces actuelles sont complexes et si les attaquants pensent en graphes, les défenseurs doivent aussi le faire.
Ceci est une preuve de concept, le code n'a pas encore été débogué mais pourrait être utile à quelqu'un, je l'améliorerai.
Ce projet a commencé comme un parseur EVTX vers base de données SQL, et c'est peut-être le cœur du projet.
Le projet n'est pas assez mature, bien qu'il fonctionne, le plan de test n'est pas encore défini.
Tout avis, bug trouvé, demande d'amélioration... sera le bienvenu.
git clone https://github.com/lucky-luk3/Grafiki.git
cd Grafiki
sudo -- sh -c -e "echo '127.0.0.1 grafiki.local' >> /etc/hosts"
docker compose up --build &
docker exec -it -d grafiki-app-1 /init_django.sh
Dans votre navigateur, allez à http://127.0.0.1:8000/ ou http://grafiki.local:8000/
Chassez, apprenez et amusez-vous !
Cette application peut traiter deux types de fichiers.

Sur cette page, vous pouvez télécharger des fichiers evtx ou des fichiers d'événements Elastic et les traiter.

Cette page est utile pour créer une bibliothèque d'échantillons en ligne.
Lorsque vous créez un exemple, vous mettez l'URL du fichier et lorsque vous le traitez, l'application télécharge le fichier d'événements et le traite.

Sur cette page, vous pouvez créer des recherches vers votre instance Elastic et créer un graphe du résultat. Vous pouvez créer des filtres concernant :

La page Graphe est le cœur de cette application et l'interface de recherche associée.
Sur les autres pages, vous sélectionnez vos données et ces pages vous envoient vers la page Graphe ; si vous allez directement à la page Graphe, il n'y aura rien ou les dernières données recherchées pour vous.
Sur cette page, il y a deux onglets, un pour Sysmon et un pour les événements PowerShell.
Il y a deux types d'éléments, les nœuds et les arêtes. Les nœuds représentent des entités telles que processus, fichier ou clé de registre et les arêtes représentent des actions telles que créer, supprimer ou connecter.

Nous sommes au cœur.
Cette partie utilise les informations de la base de données pour créer des graphes sur les événements analysés.
Vous pouvez naviguer dans le graphe, observer la création de processus, les connexions aux pipes nommés... mais il y a généralement trop d'informations pour travailler confortablement.
À l'intérieur de l'onglet se trouve une section cachée concernant les filtres du graphe.
Dans cette zone, vous pouvez travailler avec les données de filtrage du graphe.
Vous pouvez filtrer les nœuds par ces entités :
Vous pouvez également filtrer les nœuds de processus par :