Splunk
Détections et triage
Ingestion, recherche SPL, corrélation, détection et tableaux de bord pour les opérations SOC.
Exemple : échecs suivis d'un succès
index=windows (EventCode=4624 OR EventCode=4625) earliest=-30m
| eval result=if(EventCode=4624,"success","failure")
| stats count(eval(result="failure")) as failures
count(eval(result="success")) as successes
values(host) as hosts min(_time) as first max(_time) as last
by user src
| where failures >= 8 AND successes >= 1
| convert ctime(first) ctime(last)
Exemple : PowerShell encodé
index=windows (EventCode=4688 OR EventCode=1)
(process="*powershell*" OR NewProcessName="*powershell.exe")
(CommandLine="*-enc*" OR CommandLine="*-encodedcommand*")
| table _time host user parent_process_name process CommandLine
Exemple : nouveau service
index=windows (EventCode=7045 OR EventCode=4697)
| eval service=coalesce(ServiceName,service_name)
| eval image=coalesce(ImagePath,service_file_name)
| table _time host user service image StartType
Triage d'une alerte
- valider la qualité de l'événement ;
- vérifier le contexte utilisateur/hôte ;
- rechercher l'historique 7 à 30 jours ;
- pivoter vers parent, destination, hash et compte ;
- déterminer l'étendue ;
- documenter faux positif ou incident.
Réduction des faux positifs
- liste d'exceptions limitée et expirante ;
- baseline par groupe d'actifs ;
- seuils adaptés au volume ;
- enrichissement avec criticité et identité ;
- test en mode silencieux avant activation.
Scénario — Détection DNS
Un domaine rare apparaît sur un seul poste. Vérifie l’âge du domaine si la politique l’autorise, le processus à l’origine, le volume, les autres résolutions et l’accès web. Une rareté n’est pas une malveillance.