soctriagealert
MDstable
NoteSnippetChecklistPlaybook
Triage d'alertes — Méthodologie
Prioriser, qualifier et escalader les alertes SOC efficacement
snippetintermediate 2025-05-13 5 min read
soctriagealertincidentSIEMescalade
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
Checklist0/9
Méthodologie — 5 premières minutes
1. Contexte de l'alerte
splunk
Variables
{{TARGET_HOST}}
{{SOURCE_IP}}
# 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
Variables
{{TARGET_HOST}}
# Splunk — Lookup criticité asset| inputlookup asset_inventory.csv| where host="{{TARGET_HOST}}"| table host, owner, criticality, environment, location
bash
Variables
{{CMDB_API_URL}}
{{TARGET_HOST}}
{{CMDB_TOKEN}}
# 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
Variables
{{TARGET_HOST}}
# 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
# 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
Variables
{{ALERT_RULE_NAME}}
# 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
Variables
{{TARGET_IP}}
{{USERNAME}}
# 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
Variables
{{VT_API_KEY}}
{{TARGET_IP}}
# 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
💡 Tip — Vérifier systématiquement le processus parent avant de fermer une alerte sur un script ou outil d'admin — un
powershell.exe lancé par svchost.exe est bien plus suspect que le même lancé par un utilisateur depuis le terminal.OPS·BRAIN v1.090 notes · Securitylocal