KQL Kusto Query Language
forensicsDéfinition
KQL (Kusto Query Language) est le langage de requête utilisé par Microsoft Azure Data Explorer, Microsoft Sentinel (SIEM cloud), et Microsoft Defender for Endpoint pour interroger des données de logs à grande échelle. Il est devenu un outil incontournable pour les analystes DFIR et les threat hunters travaillant dans des environnements Microsoft 365 et Azure. KQL utilise une syntaxe pipeline où chaque opération transforme une table de données vers la suivante, séparée par des pipes ('|'). La structure de base est : 'TableName | where condition | project columns | summarize aggregation'. Cette approche lisible de gauche à droite facilite la construction de requêtes complexes de manière incrémentale. Les opérateurs KQL les plus utilisés en forensique incluent : where (filtrage), project (sélection de colonnes), extend (ajout de colonnes calculées), summarize (agrégation), join (jointure entre tables), union (combinaison de tables), parse (extraction de champs depuis des strings), extract (expressions régulières), ago (durée relative au temps présent), between (plages temporelles). La fonction make_list et make_set agrègent des valeurs dans des listes, utile pour regrouper des activités par utilisateur ou machine. Dans Microsoft Sentinel, KQL est utilisé pour créer des règles d'alerte analytiques, des chasses aux menaces (Hunting queries), des classeurs (Workbooks), et des requêtes de surveillance en temps réel. La table SecurityEvent contient les Windows Event Logs, DeviceProcessEvents contient les événements de processus Defender for Endpoint (équivalent Sysmon), et IdentityLogonEvents contient les événements d'authentification Azure AD. La maîtrise de KQL est un différenciateur clé pour les analystes SOC/DFIR travaillant sur des environnements Microsoft hybrides. Des requêtes KQL prêtes à l'emploi pour les investigations DFIR sont disponibles dans le dépôt Microsoft Sentinel GitHub et sur le portail Microsoft DART (Detection and Response Team).
Fonctionnement
KQL est un langage déclaratif orienté données tabulaires. Chaque opérateur produit une table en sortie qui peut être passée au suivant via le pipe '|'. Les types de données supportés incluent string, int, long, real, datetime, timespan, bool, guid, dynamic (JSON). Les fonctions de manipulation de strings, d'agrégation temporelle et de parsing sont particulièrement riches.
Application DFIR
Requêtes KQL forensiques typiques : détection d'énumération PowerShell (DeviceProcessEvents | where ProcessCommandLine contains '-enc'), connexions suspectes (DeviceNetworkEvents | where RemotePort in (4444, 8080, 1234)), persistence via Run keys (DeviceRegistryEvents | where RegistryKey contains 'Run'), et lateral movement (SecurityEvent | where EventID == 4648 | summarize count() by TargetUserName, TargetServerName).
Outils
Microsoft Sentinel (KQL natif), Microsoft Defender for Endpoint (Advanced Hunting), Azure Data Explorer (kustoexplorer.exe, interface de requête KQL), Azure Monitor Logs. Ressources : documentation Microsoft Learn KQL, Microsoft Sentinel GitHub (hunting queries), KQL cheat sheet SANS, Defender Hunting Queries GitHub.
Articles liés
Expert en cybersécurité offensive et intelligence artificielle. Pentest, audit et développement IA sur-mesure.
Services
- Audit Infrastructure
- Audit Kubernetes
- Audit Microsoft 365
- Audit Sécurité Réseau
- Analyse de Risques
- Audit Active Directory
- Audit Application Web
- Audit Cloud (AWS/Azure/GCP)
- Audit Messagerie
- Audit API (OWASP Top 10)
- Audit DevSecOps & CI/CD
- Audit Code Source (SAST)
- Audit Postes de Travail
- Audit Sauvegarde & Résilience
- Audit OT/SCADA (IEC 62443)
- Développement IA
- Formations
Ressources
Projets & Outils
© 2026 Ayi NEDJIMI Consultants. Tous droits réservés.
Un projet cybersécurité ?
Expert dispo · Réponse 24h