关于 hunting-advanced-persistent-threats
用于组织高级持续性威胁主动狩猎的安全技能,结合威胁情报、ATT&CK 技术及端点和网络遥测。它指导假设制定、查询执行、结果分析和发现的后续应用,并说明不能替代事件响应。
主要功能
- 01依据威胁行为者 TTP 制定狩猎
- 02将攻击技术映射到所需数据源
- 03提供 Velociraptor、osquery 和 Splunk 查询示例
- 04从时间、主机、用户和网络维度分析异常
- 05将有效狩猎转化为 Sigma 规则
适用场景
- 01依据最新 APT 情报开展威胁狩猎
- 02调查行为异常告警
- 03在获知同业遭入侵后验证自身暴露
- 04发现遥测覆盖缺口
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ mukul975/ anthropic-cybersecurity-skills --skill hunting-advanced-persistent-threats安装后在 Claude Code 中输入/hunting-advanced-persistent-threats确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
LICENSEreferences/api-reference.mdscripts/agent.py详细介绍
威胁狩猎:高级持续性威胁
适用场景
在以下情况下使用此技能:
- 根据最新发布的 APT 情报开展主动威胁狩猎冲刺(通常为 2–4 周的周期)
- UEBA 警报或异常检测系统标记出需要深入调查的行为偏差
- 同行业组织或 ISAC 信息共享伙伴报告正在遭受 APT 入侵,需要确认自身是否受到影响
请勿使用此技能替代事件响应来处理正在发生的已确认入侵——应升级至 IR 流程(NIST SP 800-61)。
前置条件
- 具备遥测数据保留功能的 EDR 平台(CrowdStrike Falcon、Microsoft Defender for Endpoint 或 SentinelOne),覆盖 30 天以上的数据
- 可访问 MITRE ATT&CK Navigator 以制定假设
- 可在 SIEM 中查询的网络流量数据(NetFlow、Zeek 或 Suricata 日志)
- 威胁狩猎平台或查询界面(Velociraptor、osquery fleet 或 Splunk ES)
工作流
步骤 1:制定狩猎假设
使用 MITRE ATT&CK Groups(https://attack.mitre.org/groups/)选择与你所在行业相关的威胁行为者。查看该组织已知且映射到 ATT&CK 技术的 TTP。假设示例:“APT29(Cozy Bear)使用带有 ISO 附件的鱼叉式网络钓鱼(T1566.001)和就地取材二进制文件(T1218)——检查是否存在异常的 mshta.exe 与 rundll32.exe 父子进程关系。”
使用 Threat Hunting Loop 框架记录假设:假设 → 数据收集 → 模式分析 → 响应。
步骤 2:确定所需数据源
使用 ATT&CK Data Sources 分类法,将每项 ATT&CK 技术映射到所需的日志来源:
- 进程创建(T1059):Windows Security Event 4688 或 Sysmon Event ID 1
- 网络连接(T1071):Zeek conn.log、NetFlow、EDR 网络遥测
- 注册表修改(T1547):Sysmon Event ID 13、Windows Security 4657
- 内存注入(T1055):EDR 内存扫描遥测、Volatility 输出
使用 ATT&CK Coverage Calculator 或自定义数据源矩阵确认日志覆盖范围。
步骤 3:使用 Velociraptor 或 osquery 执行狩猎
针对异常 PowerShell 执行的 Velociraptor VQL 狩猎:
SELECT Pid, Ppid, Name, CommandLine, CreateTime
FROM pslist()
WHERE Name =~ "powershell.exe"
AND CommandLine =~ "-enc|-nop|-w hidden"
针对通过计划任务实现持久化的 osquery:
SELECT name, action, enabled, path
FROM scheduled_tasks
WHERE action NOT LIKE '%System32%'
AND enabled = 1;
针对通过 PsExec 实现横向移动的 Splunk SPL:
index=windows EventCode=7045 ServiceFileName="*PSEXESVC*"
| stats count by ComputerName, ServiceName, ServiceFileName
步骤 4:分析结果并进行关联调查
针对发现的每项异常,从不同维度进行关联调查:
- 时间:该行为发生在已知 IOC 时间戳之前还是之后?
- 主机:有多少个端点出现了此行为?
- 用户:关联账户是服务账户、特权用户还是普通用户?
- 网络:该主机是否与基线中不存在的外部 IP 通信?
使用 Diamond Model(对手、能力、基础设施、受害者)来组织调查结果。
步骤 5:记录调查结果并投入实际运营
如果狩猎发现已确认的恶意活动,请启动 IR 流程。如果狩猎发现存在缺口(没有发现任何问题,但数据覆盖不足),请记录覆盖缺口并进行修复。
将成功的狩猎查询转换为使用 Sigma 格式的 SIEM 检测规则,以便在不同平台之间移植。
核心概念
| 术语 | 定义 |
|---|---|
| TTP | 战术、技术和流程——MITRE ATT&CK 定义的对手行为模式 |
| Diamond Model | 包含四个顶点(对手、能力、基础设施、受害者)的分析框架,用于组织入侵分析 |
| 就地取材(LotL) | 攻击者使用合法 OS 工具(PowerShell、WMI、certutil)以规避检测的技术 |
| UEBA | 用户与实体行为分析——基于 ML 的异常行为基线检测 |
| Sigma | SIEM 无关的检测规则开放标准,类似于用于网络/日志检测的 YARA |
| 狩猎假设 | 基于威胁情报和环境知识,对对手是否存在所作的可检验预测 |
工具与系统
- Velociraptor:开源 DFIR 平台,提供 VQL 查询语言,可在数千个系统中大规模搜寻端点
- osquery:基于 SQL 的操作系统检测框架,可实时查询端点遥测数据
- MITRE ATT&CK Navigator:基于 Web 的工具,用于可视化 ATT&CK 覆盖情况并确定技术优先级
- Zeek(原名 Bro):网络流量分析器,可生成适合搜寻的结构化日志(conn、dns、http、ssl)
- Elastic Security:EQL(事件查询语言)支持基于序列的搜寻,以发现多阶段攻击模式
- Sigma:检测规则格式,提供适用于 Splunk、QRadar、Sentinel 和 Elastic 的转换器
常见误区
- 确认偏误:搜寻前就预期会发现问题,并将良性数据解读为恶意数据。记录无结果的情况——这能验证控制措施。
- 数据保留时间不足:许多 APT 技术需要 90 天以上的日志历史记录,才能识别缓慢、隐蔽的攻击模式。默认保留期限通常过短。
- 缺少基线就开始搜寻:不了解正常情况,就无法识别异常。开始搜寻前,应花时间记录基线。
- 查询影响性能:在工作时间对生产 SIEM 执行范围过广的查询,可能会降低分析人员工作流的效率。应安排在非高峰时段执行密集搜寻。
- 系统性忽视误报:跟踪每条查询的误报率。误报率超过 80% 的查询应在投入运行前进行优化或弃用。