🎯 Filtres de base
Rechercher des événements sur une période spécifique
SELECT * FROM events
WHERE startTime > '2024-02-01 00:00:00'
AND startTime < '2024-02-07 23:59:59'Affiche tous les événements entre le 1er et le 7 février 2024.
Filtrer par adresse IP source
SELECT * FROM events WHERE sourceip = '192.168.1.10'Affiche tous les événements générés par l'IP source 192.168.1.10.
Filtrer par type d’événement spécifique
SELECT * FROM events WHERE eventCategory = 'Authentication Failure'Affiche tous les échecs d’authentification.
Filtrer par niveau de gravité
SELECT * FROM events WHERE magnitude > 6Affiche uniquement les événements avec une gravité supérieure à 6.
🔥 Filtres avancés
Rechercher des connexions suspectes
SELECT * FROM events WHERE sourceIP != destinationIP
AND destinationPort IN (3389, 22, 445)
AND magnitude > 5Détecte les connexions anormales sur des ports sensibles comme RDP (3389), SSH (22) et SMB (445).
Détecter des balayages de ports
SELECT sourceIP, COUNT(DISTINCT destinationPort) AS scanned_ports
FROM events
WHERE destinationPort IS NOT NULL
GROUP BY sourceIP
HAVING COUNT(DISTINCT destinationPort) > 10Identifie les adresses IP ayant scanné plus de 10 ports différents.
Lister les tentatives de connexion échouées par utilisateur
SELECT username, COUNT(*) AS failed_attempts
FROM events
WHERE eventName = 'Failed Login'
GROUP BY username
ORDER BY failed_attempts DESCAffiche la liste des utilisateurs avec le plus grand nombre d’échecs de connexion.
Identifier des connexions à des pays suspects
SELECT * FROM events
WHERE destinationGeographicLocation IN ('Russia', 'China', 'North Korea')Liste les connexions vers des pays sensibles.
📜 Requêtes spécifiques aux logs réseau
Identifier des transferts de fichiers volumineux
SELECT sourceIP, destinationIP, bytes
FROM flows
WHERE bytes > 100000000
ORDER BY bytes DESCAffiche les transferts de plus de 100 Mo.
Identifier les connexions entre un poste et plusieurs destinations
SELECT sourceIP, COUNT(DISTINCT destinationIP) AS connections
FROM flows
GROUP BY sourceIP
HAVING COUNT(DISTINCT destinationIP) > 5Identifie les postes établissant des connexions vers plus de 5 destinations différentes (potentiel beaconing).
🛠 Autres requêtes utiles
Rechercher un processus spécifique dans les logs
SELECT * FROM events WHERE eventName LIKE '%powershell%'Filtre les événements contenant le mot powershell, souvent utilisé dans des attaques.
Rechercher des exécutions de Mimikatz
SELECT * FROM events
WHERE eventName LIKE '%mimikatz%'
OR eventDescription LIKE '%sekurlsa%'Détecte les exécutions suspectes de l’outil Mimikatz.
Détecter des connexions anormales d’un compte privilégié
SELECT username, sourceIP, destinationIP, eventName
FROM events
WHERE username IN ('admin', 'administrator', 'root')
AND eventName = 'Successful Login'
AND sourceIP NOT IN ('192.168.1.0/24')Détecte les connexions réussies sur un compte admin depuis une IP hors du réseau interne.
Trouver les événements les plus fréquents
SELECT eventName, COUNT(*) AS occurrences
FROM events
GROUP BY eventName
ORDER BY occurrences DESC