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 24h
index=windows host="{{TARGET_HOST}}" earliest=-24h
| stats count by sourcetype, EventCode
| sort -count
# Elastic (KQL) — Activité de l'IP source
host.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 rapide
curl -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/navigateur
index=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 reue
Asset critique Non Indicateur connu FP Oui Fermer tuner rgle
Oui Non
Preuve dexcution Corroboration autre alerte
Oui Non Oui Non
P1/P2 P3/P4 Escalader P2 Surveiller P4
Escalader N2 Investiguer

Queries de contexte complémentaires

splunk
Variables
{{TARGET_IP}}
{{USERNAME}}
# Splunk — Connexions réseau depuis l'hôte
index=network src_ip="{{TARGET_IP}}" earliest=-1h
| stats count by dest_ip, dest_port, protocol
| sort -count
# Splunk — Authentifications récentes de l'utilisateur
index=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 VirusTotal
import requests
VT_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 rgle
Date/heure ISO 8601
Analyste Nom
Priorit initiale P1-P4]
HOST hostname | IP IP | Criticit HIGH/MED/LOW
USER username | Dpartement dept
DESCRIPTION
Ce qui sest pass en 2-3 phrases
INDICATEURS
Process ProcessName ChildProcess
CommandLine cmd
Hash MD5/SHA256
IP ext IP | Port port
CORROBORATION
Autre alerte sur mme host
IOC connu en Threat Intel
Baseline anormale confirme
DCISION VP FP Indtermin
ACTION 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.075 notes · Securitylocal