
Enquêter sur les connexions Windows malveillantes en visualisant et en analysant les journaux d'événements Windows
LogonTracer v2 est un outil permettant d’investiguer les connexions malveillantes en visualisant et en analysant les journaux d’événements Windows Active Directory. Cet outil associe un nom d’hôte (ou une adresse IP) et un nom de compte trouvés dans les événements liés à la connexion et les affiche sous forme de graphe. Ainsi, il est possible de voir sur quel compte une tentative de connexion se produit et quel hôte est utilisé.
Cet outil peut visualiser les identifiants d’événements suivants liés à la connexion Windows.
| ID d’événement | Description |
|---|---|
| 4624 | Connexion réussie |
| 4625 | Échec de connexion |
| 4662 | Une opération a été effectuée sur un objet |
| 4672 | Attribution de privilèges spéciaux |
| 4719 | La stratégie d’audit système a été modifiée |
| 4720 | Un compte utilisateur a été créé |
| 4726 | Un compte utilisateur a été supprimé |
| 4728 / 4732 / 4756 | Un membre a été ajouté à un groupe activé pour la sécurité |
| 4729 / 4733 / 4757 | Un membre a été retiré d’un groupe activé pour la sécurité |
| 4768 | Authentification Kerberos (demande TGT) |
| 4769 | Ticket de service Kerberos (demande ST) |
| 4776 | Authentification NTLM |
| 5137 | Un objet du service d’annuaire a été créé |
| 5141 | Un objet du service d’annuaire a été supprimé |
Plus de détails sont décrits dans les documents suivants :

LogonTracer v2.0 intègre un moteur d’analyse IA utilisant les modèles GPT d’OpenAI pour fournir une détection intelligente des menaces au‑delà des approches traditionnelles basées sur des règles.
LogonTracer utilise PageRank, le Modèle de Markov caché et ChangeFinder pour détecter les hôtes et comptes malveillants à partir des journaux d’événements.

Avec LogonTracer, il est également possible d’afficher les journaux d’événements dans l’ordre chronologique.

Python 3.9 ou ultérieur (3.12 recommandé)
Neo4j 5.x (Community ou Enterprise)
Clé API OpenAI (optionnelle — requise uniquement pour les fonctionnalités d’analyse IA)
Modules Python
numpy
evtx
lxml
scipy
changefinder
flask
hmmlearn>=0.2.8
scikit-learn
elasticsearch-dsl>=7.0.0,<8.0.0
pyyaml
flask-sqlalchemy
flask-login
flask_wtf
flask-limiter
wtforms
GitPython
pysigma>=0.11.0
pysigma-backend-sqlite
openai>=1.0.0
aiohttp
neo4j
git clone https://github.com/JPCERTCC/LogonTracer.git
cd LogonTracer
pip3 install -r requirements.txt
Téléchargez et démarrez Neo4j. Définissez le mot de passe initial et notez le port Bolt (par défaut : 7687).
vi config/config.yml
Paramètres clés :
settings:
logontracer:
WEB_PORT: "8080"
default_user: "neo4j" # Nom d'utilisateur Neo4j pour le compte LogonTracer par défaut
default_password: "password" # Modifiez ceci avant de lancer pour la première fois
neo4j:
NEO4J_USER: "neo4j"
NEO4J_PASSWORD: "password" # Votre mot de passe Neo4j
NEO4J_SERVER: "localhost"
WS_PORT: "7687"
python3 logontracer.py --run
Ouvrez votre navigateur à l’adresse http://localhost:8080.
python3 logontracer.py -e <chemin/vers/Security.evtx> -z <décalage UTC> -s <serveur Neo4j> -u <utilisateur> -p <mot de passe>
python3 logontracer.py -x <chemin/vers/event.xml> -z <décalage UTC> -s <serveur Neo4j> -u <utilisateur> -p <mot de passe>
python3 logontracer.py --es -s <serveur Neo4j> -u <utilisateur> -p <mot de passe> --es-server <hôte ES:port>
Ajoutez le drapeau --sigma pour exécuter la détection des règles Sigma pendant l’import :
python3 logontracer.py -e <chemin/vers/Security.evtx> -z 9 -s localhost -u neo4j -p password --sigma
python3 logontracer.py -e <chemin/vers/Security.evtx> -z 9 -s localhost -u neo4j -p password --add
Après avoir démarré l’application web, cliquez sur Upload Event Log dans la barre latérale gauche. Vous pouvez :

Après un import avec l’analyse Sigma activée, ou après avoir déclenché une ré‑analyse via l’API, cliquez sur Sigma Scan Results dans la barre latérale pour consulter les résultats.