mcpField
T
triaging-security-alerts-in-splunk

triaging-security-alerts-in-splunk

github.com/mukul975安全35.2k86 次安装8 周前更新
代码仓库

关于 triaging-security-alerts-in-splunk

这项技能为 Splunk Enterprise Security 的 Tier 1 分析师提供告警初步分流流程,适用于 Incident Review 队列处理。内容包括关联数据、威胁情报核查、告警定性与指标跟踪;深度取证应升级处理。

主要功能

  1. 01按紧急程度排序告警
  2. 02关联多源事件和资产身份
  3. 03核查威胁情报指标
  4. 04分类并更新告警状态
  5. 05记录分流结果与指标

适用场景

  1. 01处理 Incident Review 队列
  2. 02初步调查暴力破解告警
  3. 03关联恶意软件与代理日志
  4. 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 外,安装时一起下载的参考资料和脚本。

LICENSE
references/
api-reference.md
scripts/
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