Triage d'alertes — Méthodologie
Prioriser, qualifier et escalader les alertes SOC efficacement
Matrice de sévérité P1–P4
| Priorité | Critères | Délai de réponse | Exemples | |---|---|---|---| | P1 — Critique | Actif critique compromis, données exfiltrées, ransomware actif, accès DA | < 15 min | Ransomware, exfil active, compromission DC | | P2 — Élevé | Mouvement latéral, escalade de privilèges, C2 confirmé | < 1 h | Pass-the-Hash, Kerberoasting, beacon C2 | | P3 — Moyen | Activité suspecte sans preuve de compromission, scan interne | < 4 h | Scan de ports interne, outil d'admin suspect | | P4 — Bas | Anomalie isolée, probable faux positif, activité bénigne inhabituelle | < 24 h | Connexion hors-horaires sur compte de service |
Checklist de triage
Méthodologie — 5 premières minutes
1. Contexte de l'alerte
# Splunk — Historique de l'hôte sur les dernières 24hindex=windows host="{{TARGET_HOST}}" earliest=-24h| stats count by sourcetype, EventCode| sort -count# Elastic (KQL) — Activité de l'IP sourcehost.ip: "{{SOURCE_IP}}" and @timestamp >= now-24h
2. Position dans la Kill Chain / MITRE ATT&CK
| Phase Kill Chain | Techniques ATT&CK associées | Signal d'alerte | |---|---|---| | Reconnaissance | T1595, T1592 | Scan massif, OSINT automatisé | | Weaponization | T1588, T1587 | (offline — peu visible) | | Delivery | T1566 (phishing), T1190 | Email suspect, exploit web | | Exploitation | T1059, T1203 | Script exécuté, crash process | | Installation | T1547, T1543 | Nouvelle clé Run, service créé | | C2 | T1071, T1095 | Beacon régulier, DNS inhabituel | | Actions | T1041, T1486 | Exfil, chiffrement de fichiers |
3. Criticité de l'asset
# Splunk — Lookup criticité asset| inputlookup asset_inventory.csv| where host="{{TARGET_HOST}}"| table host, owner, criticality, environment, location
# Vérification CMDB rapidecurl -s "{{CMDB_API_URL}}/api/assets?hostname={{TARGET_HOST}}"-H "Authorization: Bearer {{CMDB_TOKEN}}" | jq '.criticality, .owner'
4. Processus parent — analyse rapide
# Splunk — Processus lancés sur l'hôte (Event 4688)index=windows EventCode=4688 host="{{TARGET_HOST}}" earliest=-2h| table _time, SubjectUserName, NewProcessName, ParentProcessName, CommandLine| sort _time
# Splunk — Enfants suspects de Office/navigateurindex=windows EventCode=4688(ParentProcessName="*WINWORD.EXE" OR ParentProcessName="*EXCEL.EXE"OR ParentProcessName="*OUTLOOK.EXE" OR ParentProcessName="*chrome.exe"OR ParentProcessName="*firefox.exe")(NewProcessName="*cmd.exe" OR NewProcessName="*powershell.exe"OR NewProcessName="*wscript.exe" OR NewProcessName="*mshta.exe")| table _time, host, SubjectUserName, ParentProcessName, NewProcessName, CommandLine
5. Vérification faux positif rapide
# Splunk — Volume historique de la même règle (baseline 30j)index=notable rule_name="{{ALERT_RULE_NAME}}" earliest=-30d| timechart span=1d count as daily_count| stats avg(daily_count) as avg, stdev(daily_count) as stddev# Si today >> avg + 2*stddev → anomalie réelle# Si today ≈ avg → probable bruit habituel
Arbre de décision — Escalade
Alert reueAsset critique Non Indicateur connu FP Oui Fermer tuner rgleOui NonPreuve dexcution Corroboration autre alerteOui Non Oui NonP1/P2 P3/P4 Escalader P2 Surveiller P4Escalader N2 Investiguer
Queries de contexte complémentaires
# Splunk — Connexions réseau depuis l'hôteindex=network src_ip="{{TARGET_IP}}" earliest=-1h| stats count by dest_ip, dest_port, protocol| sort -count# Splunk — Authentifications récentes de l'utilisateurindex=windows EventCode=4624 SubjectUserName="{{USERNAME}}" earliest=-7d| stats count by Logon_Type, IpAddress, host| sort -count
# Python — Lookup rapide IOC sur VirusTotalimport requestsVT_API = "{{VT_API_KEY}}"ioc = "{{TARGET_IP}}"r = requests.get(f"https://www.virustotal.com/api/v3/ip_addresses/{ioc}",headers={"x-apikey": VT_API})data = r.json()print(f"Malicious: {data['data']['attributes']['last_analysis_stats']['malicious']}")
Template de ticket triage
ALERTE Nom rgleDate/heure ISO 8601Analyste NomPriorit initiale P1-P4]HOST hostname | IP IP | Criticit HIGH/MED/LOWUSER username | Dpartement deptDESCRIPTIONCe qui sest pass en 2-3 phrasesINDICATEURSProcess ProcessName ChildProcessCommandLine cmdHash MD5/SHA256IP ext IP | Port portCORROBORATIONAutre alerte sur mme hostIOC connu en Threat IntelBaseline anormale confirmeDCISION VP FP IndterminACTION Escalade N2 Containment Fermeture tuning
powershell.exe lancé par svchost.exe est bien plus suspect que le même lancé par un utilisateur depuis le terminal.