关于 red-team
面向已获书面授权的安全团队,提供红队演练规划与攻击路径分析方法及工具。它根据 MITRE ATT&CK 技术、初始访问级别和关键资产生成评分后的攻击计划,并标出瓶颈技术与 OPSEC 风险。
主要功能
- 01按杀伤链阶段排列攻击计划
- 02按执行难度与检测风险评分技术
- 03识别通往关键资产的瓶颈技术
- 04评估 OPSEC 风险
- 05按起始访问级别约束计划
适用场景
- 01规划经授权的红队演练
- 02分析到达关键资产的攻击路径
- 03确定检测规则与监控优先级
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ alirezarezvani/ claude-skills --skill red-team安装后在 Claude Code 中输入/red-team确认已加载。
附带文件references/attack-path-methodology.mdscripts/engagement_planner.py
详细介绍
红队
面向已授权进攻性安全模拟的红队行动规划与攻击路径分析 Skill。这不是漏洞扫描(见 security-pen-testing)或事件响应(见 incident-response),而是通过结构化的对手模拟,测试检测、响应与控制措施的有效性。
目录
概述
本 Skill 的作用
本 Skill 为红队行动规划提供方法论和工具支持,即基于 MITRE ATT&CK 技术选择、访问级别和核心资产目标构建结构化攻击计划。它按工作量和检测风险为技术评分,组装杀伤链阶段,识别关键节点,并标记 OPSEC 风险。
与其他安全 Skill 的区别
| Skill | 关注点 | 方式 |
|---|---|---|
| red-team(本 Skill) | 对手模拟 | 进攻性——结构化攻击规划与执行 |
| security-pen-testing | 漏洞发现 | 进攻性——针对特定弱点的系统化利用 |
| threat-detection | 发现攻击者活动 | 主动型——在遥测数据中检测 TTP |
| incident-response | 活跃事件管理 | 被动型——遏制并调查已确认的事件 |
授权要求
本文描述的所有红队活动均需书面授权。 这包括已签署的交战规则(RoE)文件、明确界定的范围以及明确的高管批准。若未提供 --authorized 标志,engagement_planner.py 工具将不会生成输出。未经授权使用这些技术,依据 CFAA、《计算机滥用法》及全球各地的同类法律均属违法。
行动规划工具
engagement_planner.py 工具根据技术选择、访问级别和核心资产目标,生成经过评分、按杀伤链排序的攻击计划。
# Basic engagement plan — external access, specific techniques
python3 scripts/engagement_planner.py \
--techniques T1059,T1078,T1003 \
--access-level external \
--authorized --json
# Internal network access with crown jewel targeting
python3 scripts/engagement_planner.py \
--techniques T1059,T1078,T1021,T1550,T1003 \
--access-level internal \
--crown-jewels "Database,Active Directory,Payment Systems" \
--authorized --json
# Credentialed (assumed breach) scenario with scale
python3 scripts/engagement_planner.py \
--techniques T1059,T1078,T1021,T1550,T1003,T1486,T1048 \
--access-level credentialed \
--crown-jewels "Domain Controller,S3 Data Lake" \
--target-count 50 \
--authorized --json
# List all 29 supported MITRE ATT&CK techniques
python3 scripts/engagement_planner.py --list-techniques
访问级别定义
| 级别 | 起始位置 | 可用技术 |
|---|---|---|
| external | 无内部访问——仅限互联网 | 仅限面向外部的技术(T1190、T1566 等) |
| internal | 已获得网络立足点——无凭据 | 内部侦察 + 横向移动准备 |
| credentialed | 已获得有效凭据 | 完整杀伤链,包括权限提升、横向移动、影响 |
退出码
| 退出码 | 含义 |
|---|---|
| 0 | 行动计划生成成功 |
| 1 | 缺少授权或技术无效 |
| 2 | 违反范围——技术超出访问级别约束 |
杀伤链阶段方法论
行动规划工具将技术划分为八个杀伤链阶段,并据此安排执行计划的顺序。
杀伤链阶段顺序
| 阶段 | 顺序 | MITRE 战术 | 示例 |
|---|---|---|---|
| 侦察 | 1 | TA0043 | T1595、T1596、T1598 |
| 资源开发 | 2 | TA0042 | T1583、T1588 |
| 初始访问 | 3 | TA0001 | T1190、T1566、T1078 |
| 执行 | 4 | TA0002 | T1059、T1047、T1204 |
| 持久化 | 5 | TA0003 | T1053、T1543、T1136 |
| 权限提升 | 6 | TA0004 | T1055、T1548、T1134 |
| 凭据访问 | 7 | TA0006 | T1003、T1110、T1558 |
| 横向移动 | 8 | TA0008 | T1021、T1550、T1534 |
| 收集 | 9 | TA0009 | T1074、T1560、T1114 |
| 外泄 | 10 | TA0010 | T1048、T1041、T1567 |
| 影响 | 11 | TA0040 | T1486、T1491、T1498 |
阶段执行原则
除非交战范围指定为假定失陷(直接跳至后续阶段),每个阶段必须完成后才能进入下一阶段。在尝试横向移动之前,不要跳过持久化,因为持久化可以在单个立足点被发现并清除时保证行动的连续性。
技术评分与优先级排序
技术按执行难度(在不被检测的情况下执行的难易程度)进行评分,并在交战计划中确定优先级。
执行难度评分公式
effort_score = detection_risk × (len(prerequisites) + 1)
执行难度评分越低,越容易在不触发检测的情况下执行。
技术评分参考
| 技术 | 检测风险 | 前提条件 | 执行难度评分 | MITRE ID |
|---|---|---|---|---|
| PowerShell 执行 | 0.7 | initial_access | 1.4 | T1059.001 |
| 计划任务持久化 | 0.5 | execution | 1.0 | T1053.005 |
| 传递哈希(Pass-the-Hash) | 0.6 | credential_access, internal_network | 1.8 | T1550.002 |
| LSASS 凭据转储 | 0.8 | local_admin | 1.6 | T1003.001 |
| 鱼叉式网络钓鱼链接 | 0.4 | none | 0.4 | T1566.001 |
| 勒索软件部署 | 0.9 | persistence, lateral_movement | 2.7 | T1486 |
关键节点分析
关键节点是多条路径通往核心资产时都必须经过的技术。检测到某个关键节点技术,即可检测到所有经过该节点的攻击路径。
关键节点识别
交战规划器通过查找 credential_access 和 privilege_escalation 战术中的技术来识别关键节点,这些技术是针对核心资产的多个后续技术的前提条件。
应优先开发针对关键节点技术的检测规则,并提高对其的监控密度,因为加固关键节点能带来成倍的防御价值。
按环境划分的常见关键节点
| 环境类型 | 常见关键节点 | 检测优先级 |
|---|---|---|
| Active Directory 域 | T1003(凭据转储)、T1558(Kerberoasting) | 最高 |
| AWS 环境 | T1078.004(云账户)、iam:PassRole 链 | 最高 |
| 混合云 | T1550.002(PtH)、T1021.006(WinRM) | 高 |
| 容器化应用 | T1610(部署容器)、T1611(容器逃逸) | 高 |
完整方法论:references/attack-path-methodology.md
OPSEC 风险评估
OPSEC 风险项用于识别那些可能触发检测或留下持久痕迹的行为。
OPSEC 风险类别
| 战术 | 主要 OPSEC 风险 | 缓解措施 |
|---|---|---|
| 凭据访问 | 访问 LSASS 内存会触发 EDR | 尽可能使用不涉及 LSASS 的技术(DCSync、Kerberoasting) |
| 执行 | PowerShell 命令行日志记录 | 在范围内使用 AMSI 绕过或其他执行方式 |
| 横向移动 | NTLM 横向移动会生成事件 4624 类型 3 | 尽可能使用 Kerberos;避免在网络上使用 NTLM |
| 持久化 | 计划任务会生成事件 4698 | 在范围内使用较少被监控的持久化机制 |
| 数据渗出 | 大量出站传输会触发 DLP | 若需隐蔽,先暂存数据并使用低速渗出 |
每个阶段前的 OPSEC 检查清单
- 该技术是否在 RoE(交战规则)范围内?
- 它是否会生成蓝队主动监控的日志?
- 是否存在能达成相同目标、且更难被检测的替代方案?
- 如果被检测到,暴露的是整个行动还是仅当前立足点?
- 是否已为演练结束后的清除工作定义好清理痕迹?
核心资产定位
核心资产是高价值目标,它们定义了红队交战的成功标准。
皇冠明珠分类
| 皇冠明珠类型 | 目标指标 | 攻击路径 |
|---|---|---|
| 域控制器 | AD DS、NTDS.dit、SYSVOL | Kerberoasting → DCSync → Golden Ticket |
| 数据库服务器 | 生产 SQL、NoSQL、数据仓库 | 横向移动 → DBA 账户 → 数据暂存 |
| 支付系统 | PCI 范围内的网络、卡数据保险库 | 网络跳板 → 服务账户 → 数据外泄 |
| 源代码仓库 | 内部 Git、构建系统 | VPN → 内部 Git → 代码签名密钥 |
| 云管理平面 | AWS 管理控制台、IAM 管理员 | 钓鱼 → 凭据 → AssumeRole 链 |
皇冠明珠的定义需在 RoE 中达成一致。评估演练是否成功,取决于红队是否触达已定义的皇冠明珠,而不是发现了多少个漏洞。
攻击路径方法论
攻击路径分析用于识别从初始访问级别到每个皇冠明珠的所有可行路线。
路径评分
每条路径通过以下指标评分:
- 总工作量分数(各技术工作量分数之和)
- 关键节点数量(路径经过的关键节点个数)
- 检测概率(各技术检测风险的乘积)
工作量越低、关键节点越少,对攻击者而言路径就越省力。
攻击路径图构建
external
└─ T1566.001 (spearphishing) → initial_access
└─ T1059.001 (PowerShell) → execution
└─ T1003.001 (LSASS dump) → credential_access [CHOKE POINT]
└─ T1550.002 (Pass-the-Hash) → lateral_movement
└─ T1078.002 (domain account) → privilege_escalation
└─ Crown Jewel: Domain Controller
有关完整的评分算法、关键节点加权以及工作量与影响矩阵,请参阅 references/attack-path-methodology.md。
工作流
工作流 1:快速演练范围界定(30 分钟)
用于针对特定目标界定重点红队演练的范围:
# 1. Generate initial technique list from kill-chain coverage gaps
python3 scripts/engagement_planner.py --list-techniques
# 2. Build plan for external assumed-no-access scenario
python3 scripts/engagement_planner.py \
--techniques T1566,T1190,T1059,T1003,T1021 \
--access-level external \
--crown-jewels "Database Server" \
--authorized --json
# 3. Review choke_points and opsec_risks in output
# 4. Present kill-chain phases to stakeholders for scope approval
决策:如果关键节点已被检测规则覆盖,则重点关注其中的缺口;如果没有,这些节点就是价值最高的演练目标。
工作流 2:完整红队演练(多周)
第 1 周:规划
- 与干系人共同定义皇冠明珠和成功标准
- 签署 RoE,明确范围、时间线及范围外排除项
- 使用 engagement_planner.py 制定演练计划
- 审查每个阶段的 OPSEC 风险
第 2 周:执行(外部阶段)
- 侦察与目标画像
- 初始访问尝试(钓鱼、利用面向公网的资产)
- 记录每项已执行技术的时间戳
- 记录所有检测事件,以验证蓝队的覆盖情况
第 3 周:执行(内部阶段)
- 若已获得初始访问,建立持久化
- 执行凭据访问技术(关键节点)
- 朝皇冠明珠方向横向移动
- 记录皇冠明珠何时以及如何被触达
第 4 周:报告
- 汇总发现,包括已执行的技术、检测率和已触达的皇冠明珠
- 将发现映射到检测缺口
- 按关键节点影响优先级提出整改建议
- 向安全管理层进行成果汇报
工作流 3:假定失陷桌面推演
模拟凭据已被入侵的场景,用于快速检测能力测试:
# Assumed breach — credentialed access starting position
python3 scripts/engagement_planner.py \
--techniques T1059,T1078,T1021,T1550,T1003,T1048 \
--access-level credentialed \
--crown-jewels "Active Directory,S3 Data Bucket" \
--target-count 20 \
--authorized --json | jq '.phases, .choke_points, .opsec_risks'
# Run across multiple access levels to compare path options
for level in external internal credentialed; do
echo "=== ${level} ==="
python3 scripts/engagement_planner.py \
--techniques T1059,T1078,T1003,T1021 \
--access-level "${level}" \
--authorized --json | jq '.total_effort_score, .phases | keys'
done
反模式
- 未取得书面授权即开展行动 — 对任何你不拥有或未获得明确测试许可的系统进行未授权的红队活动,属于刑事犯罪。
--authorized标志必须对应真实签署的 RoE(交战规则),而不能仅仅为了绕过检查而运行工具。授权必须先于执行。 - 跳过攻击链阶段顺序 — 在未建立持久化的情况下直接进行横向移动,意味着一次检测就会让整个立足点化为乌有。请遵循攻击链阶段顺序,每个阶段都为下一阶段奠定基础。
- 开始前未定义核心资产 — 没有明确成功标准的交战会逐渐演变为漫无目的的漏洞搜寻。核心资产与成功条件必须在执行第一项技术之前,就在 RoE 中达成一致。
- 在计划中忽视 OPSEC 风险 — 红队演练的目的是检验蓝队的检测能力。刻意回避所有可能被检测到的技术,会得到不切实际的交战结果,无法验证检测覆盖率。应利用 OPSEC 风险来了解检测暴露面,而不是完全回避。
- 未实时记录已执行的技术 — 事后补记所执行的操作并不可靠。请在操作发生时即记录每项技术、时间戳及结果。交战后的报告必须基于同期记录。
- 交战结束后未清理痕迹 — 持久化机制、新建账户、被修改的配置以及暂存的数据,都必须在交战结束后移除。遗留红队痕迹会造成长期安全风险,并可能与真实攻击者的活动混淆。
- 将阻力最小的路径视为唯一路径 — 攻击者会不断调整策略。应测试多条攻击路径,包括可能规避检测、但投入成本更高的路线。仅验证最容易的路径能被检测到是必要的,但并不充分。
交叉引用
| 技能 | 关系 |
|---|---|
| threat-detection | 红队技术的执行会产生真实的 TTP,用于验证威胁狩猎假设 |
| incident-response | 红队活动应触发应急响应流程,检测与响应质量是首要的成功指标 |
| cloud-security | 云安全态势评估发现的问题(如 IAM 错误配置、S3 暴露)会成为红队攻击路径的目标 |
| security-pen-testing | 渗透测试侧重于特定漏洞的利用;红队则侧重于端到端的攻击链模拟,直至核心资产 |