Dans 80% des cas, une cyberattaque réussie commence par la compromission d'une identité. Avant d'installer un malware ou d'exfiltrer des données financières, les attaquants cherchent à obtenir un accès valide au réseau. Leurs méthodes de prédilection sont la Force Brute (tester des millions de mots de passe sur un seul compte) ou le Password Spraying (tester quelques mots de passe très courants sur l'ensemble des collaborateurs d'une entreprise).
Pour détecter ces tentatives d'intrusion silencieuses avant qu'elles n'aboutissent, les équipes SOC doivent analyser les historiques de connexion. Dans l'écosystème Microsoft 365 Defender, cela se traduit par l'interrogation de la table DeviceLogonEvents via le langage KQL (Kusto Query Language).
Comprendre la table DeviceLogonEvents
La table DeviceLogonEvents répertorie tous les événements d'authentification et de connexion survenant sur les appareils gérés par le locataire (Tenant). Elle indique qui s'est connecté, depuis quelle adresse IP, à quelle heure, et surtout, si la connexion a été un succès ou un échec.
Lorsqu'un pirate lance une attaque par force brute depuis un serveur externe (souvent via un réseau anonymisé ou un botnet), il va générer des dizaines, voire des centaines d'erreurs de connexion en quelques minutes.
Comment formuler la requête KQL ?
L'objectif de l'analyste SOC est d'isoler les adresses IP externes qui génèrent un volume anormal d'échecs de connexion (ActionType LogonFailed) sur de multiples comptes, ou de manière répétée sur un seul compte clé.
Voici le modèle de requête KQL de base pour identifier ce comportement :
DeviceLogonEvents
| where Timestamp > ago(24h)
| where ActionType == "LogonFailed"
// Exclure les IP locales internes si nécessaire
| where RemoteIPType == "Public"
| summarize FailedCount = count(), TargetedAccounts = make_set(AccountName) by RemoteIP, DeviceName
| where FailedCount > 10 // Seuil d'alerte pour identifier les attaques automatisées
| sort by FailedCount desc
Explication de la requête :
- Filtre de temps (
Timestamp) : On limite l'analyse aux dernières 24 heures pour garantir des performances optimales et éviter le blocage de l'API (Rate Limiting). - Filtrage des échecs (
LogonFailed) : On ne garde que les tentatives d'authentification refusées par le système. - Agrégation (
summarize) : C'est la commande la plus importante. On regroupe les résultats par adresse IP distante (RemoteIP) et par machine. On compte le nombre d'échecs (count()) et on crée une liste unique des comptes visés (make_set). - Seuil critique (
where FailedCount > 10) : On filtre le bruit de fond (l'utilisateur qui a oublié son mot de passe 2 ou 3 fois) pour isoler les machines d'attaque.
L'automatisation de la chasse avec Akuity SOC
Rédiger cette requête manuellement sur le portail Microsoft Defender prend du temps, surtout s'il faut l'adapter et la relancer pour chacun de vos 50 clients MSSP.
Avec la plateforme Akuity SOC, cette complexité est abstraite. Le terminal de Threat Hunting KQL propose un gabarit natif (Template) intitulé "Connexions échouées". Un clic charge automatiquement la logique KQL optimisée pour lister les échecs de connexions réseau par IP et par compte, et l'applique au tenant sélectionné.
L'enrichissement contextuel et la remédiation
Une fois que la grille dynamique d'Akuity SOC retourne la liste des IP malveillantes ayant déclenché plus de 10 échecs de connexion, le travail de l'analyste ne s'arrête pas là.
- Évaluer la menace : L'analyste peut soumettre l'IP suspecte au moteur d'évaluation AlienVault OTX intégré à l'interface. Si la jauge radiale indique un score critique et que les "Notes de l'analyste" (IA Gemini) confirment que l'IP appartient à un réseau de proxy malveillant connu, le doute n'est plus permis.
- Contre-attaquer : Depuis la console de gestion, l'analyste peut injecter cet Indicateur de Compromission (IOC) dans Microsoft Defender pour bloquer préventivement toute communication future avec cette IP pour une durée de 90 jours.
Simplifiez vos investigations réseau. > Utilisez nos gabarits KQL prêts à l'emploi avec notre Console de Threat Hunting KQL Multi-Tenant et stoppez les attaques par force brute avant la compromission de vos identités.