关于 triaging-security-alerts-in-splunk
这项技能为 Splunk Enterprise Security 的 Tier 1 分析师提供告警初步分流流程,适用于 Incident Review 队列处理。内容包括关联数据、威胁情报核查、告警定性与指标跟踪;深度取证应升级处理。
主要功能
- 01按紧急程度排序告警
- 02关联多源事件和资产身份
- 03核查威胁情报指标
- 04分类并更新告警状态
- 05记录分流结果与指标
适用场景
- 01处理 Incident Review 队列
- 02初步调查暴力破解告警
- 03关联恶意软件与代理日志
- 04统计告警处置和分流时间
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ mukul975/ anthropic-cybersecurity-skills --skill triaging-security-alerts-in-splunk安装后在 Claude Code 中输入/triaging-security-alerts-in-splunk确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
LICENSEreferences/api-reference.mdscripts/agent.py详细介绍
在 Splunk 中分诊安全告警
何时使用
在以下情况下使用本技能:
- SOC 一级分析师需要处理 Splunk Enterprise Security (ES) 中的 Incident Review 队列
- 值得注意的事件需要在升级前进行快速严重性分类和初步调查
- 告警量超出处理能力,分析师需要系统化的分诊方法
- 管理层需要关于告警处置(真阳性、假阳性、良性)的指标
不要用于深入取证调查——在初步分诊确认恶意活动后,升级至二级/三级。
前提条件
- 已配置 Incident Review 仪表板的 Splunk Enterprise Security 7.x+
- CIM 规范化的数据源(Windows 事件日志、防火墙、代理、端点)
- 具有
ess_analyst能力以更新值得注意事件状态的角色 - 熟悉 SPL(搜索处理语言)
工作流
步骤 1:访问 Incident Review 并确定队列优先级
在 Splunk ES 中打开 Incident Review 仪表板。按紧急程度(由严重性 x 优先级计算得出)对值得注意的事件进行排序。应用过滤器以聚焦未分配的事件:
| `notable`
| search status="new" OR status="unassigned"
| sort - urgency
| table _time, rule_name, src, dest, user, urgency, status
| head 50
首先关注 Critical 和 High 紧急程度的事件。按 src 或 dest 对相关告警进行分组,以识别攻击链,而不是孤立地处理每个告警。
步骤 2:调查值得注意事件的上下文
对于每个值得注意的事件,转向原始事件。暴力破解告警的示例:
index=wineventlog sourcetype="WinEventLog:Security" EventCode=4625
src_ip="192.168.1.105"
earliest=-1h latest=now
| stats count by src_ip, dest, user, status
| where count > 10
| sort - count
检查源 IP 是内部(横向移动)还是外部(边界攻击)。与资产和身份查找进行交叉引用:
| `notable`
| search rule_name="Brute Force Access Behavior Detected"
| lookup asset_lookup_by_cidr ip AS src OUTPUT category, owner, priority
| lookup identity_lookup_expanded identity AS user OUTPUT department, managedBy
| table _time, src, dest, user, category, owner, department
步骤 3:跨数据源关联
检查同一来源是否出现在其他遥测数据中:
index=proxy OR index=firewall src="192.168.1.105" earliest=-24h
| stats count by index, sourcetype, action, dest_port
| sort - count
寻找佐证:同一 IP 是否也触发了 DNS 异常、代理拦截或端点检测告警?
index=main sourcetype="cisco:asa" src="192.168.1.105" action=blocked earliest=-24h
| timechart span=1h count by dest_port
步骤 4:检查威胁情报富化
查询威胁情报框架以获取已知 IOC:
| `notable`
| search search_name="Threat - Threat Intelligence Match - Rule"
| lookup threat_intel_by_ip ip AS src OUTPUT threat_collection, threat_description, threat_key
| table _time, src, dest, threat_collection, threat_description, weight
| where weight >= 3
对于域名,对照威胁列表进行检查:
| tstats count from datamodel=Web where Web.url="*evil-domain.com*" by Web.src, Web.url, Web.status
| rename Web.* AS *
步骤 5:对告警进行分类和处置
在 Incident Review 中更新值得注意事件的状态:
| 处置 | 标准 | 操作 |
|---|---|---|
| 真阳性 | 佐证确认恶意活动 | 升级至二级,创建事件工单 |
| 良性真阳性 | 告警正确触发但活动已获授权(例如,渗透测试) | 关闭并附评论,如反复出现则添加抑制 |
| 假阳性 | 告警逻辑匹配了良性行为 | 关闭,调整关联搜索,记录模式 |
| 未确定 | 数据不足以分类 | 分配至二级并附调查笔记 |
通过 Splunk ES UI 或 REST API 更新:
| sendalert update_notable_event param.status="2" param.urgency="critical"
param.comment="Confirmed brute force from compromised workstation. Escalated to IR-2024-0431."
param.owner="analyst_jdoe"
步骤 6:记录分诊发现
在值得注意事件评论字段中记录:
- 涉及的源/目标
- 已检查的数据源
- 关联发现(相关告警、TI 匹配)
- 处置理由
- 升级的后续步骤
| `notable`
| search rule_name="Brute Force*" status="closed"
| stats count by status_label, disposition
| addtotal
步骤 7:跟踪分诊指标
随时间监控分诊绩效:
| `notable`
| where status_end > 0
| eval triage_time = status_end - _time
| stats avg(triage_time) AS avg_triage_sec, median(triage_time) AS med_triage_sec,
count by rule_name, status_label
| eval avg_triage_min = round(avg_triage_sec/60, 1)
| sort - count
| table rule_name, status_label, count, avg_triage_min
关键概念
| 术语 | 定义 |
|---|---|
| 值得注意事件(Notable Event) | 由关联搜索生成的 Splunk ES 告警,满足定义的风险或阈值标准 |
| 紧急程度(Urgency) | 结合事件严重性与资产/身份优先级的计算字段(Critical/High/Medium/Low/Informational) |
| 关联搜索(Correlation Search) | 计划的 SPL 查询,检测威胁模式并在条件匹配时生成值得注意事件 |
| CIM | 通用信息模型 — Splunk 的规范化字段命名约定,支持跨源查询 |
| 处置(Disposition) | 告警的最终分类:真阳性、假阳性、良性真阳性或未确定 |
| MTTD/MTTR | 平均检测时间 / 平均响应时间 — 衡量检测和解决速度的关键 SOC 指标 |
工具与系统
- Splunk Enterprise Security:SIEM 平台,提供 Incident Review 仪表板、关联搜索和基于风险的告警
- Splunk SOAR (Phantom):编排平台,用于自动化分类 Playbook 和丰富操作
- Asset & Identity Framework:Splunk ES 查找表,将 IP 映射到资产所有者、将用户映射到部门,以便进行上下文丰富
- Threat Intelligence Framework:Splunk ES 模块,用于摄取 STIX/TAXII 数据源,并将 IOC 与值得关注的事件进行匹配
常见场景
- 暴力破解告警:将来自同一来源的 EventCode 4625(登录失败)与 4624(登录成功)关联,以判断攻击是否成功
- 恶意软件检测:将终端 AV 告警与代理日志交叉比对,以确认 C2 回连
- 数据外泄告警:将 DLP 和代理日志中的出站数据量与用户基线进行对比检查
- 权限提升:将非管理员用户的 EventCode 4672(已分配特殊权限)与 4720(已创建账户)关联
- 横向移动:从单一来源映射多个目标上的 EventCode 4648(显式凭据登录)
输出格式
TRIAGE REPORT — Notable Event #NE-2024-08921
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Alert: Brute Force Access Behavior Detected
Time: 2024-03-15 14:23:07 UTC
Source: 192.168.1.105 (WORKSTATION-042, Finance Dept)
Destination: 10.0.5.20 (DC-PRIMARY, Domain Controller)
User: jsmith (Finance Analyst)
Investigation:
- 847 failed logons (4625) in 12 minutes from src
- Successful logon (4624) at 14:35:02 after brute force
- No proxy/DNS anomalies from src in prior 24h
- Source not on threat intel lists
Disposition: TRUE POSITIVE — Compromised credential
Action: Escalated to Tier 2, ticket IR-2024-0431 created
Account jsmith disabled pending password reset
评论
支持 Markdown