mcpField
R
red-team

red-team

github.com/alirezarezvani安全28.9k833 次安装2 天前更新
代码仓库

关于 red-team

面向已获书面授权的安全团队,提供红队演练规划与攻击路径分析方法及工具。它根据 MITRE ATT&CK 技术、初始访问级别和关键资产生成评分后的攻击计划,并标出瓶颈技术与 OPSEC 风险。

主要功能

  1. 01按杀伤链阶段排列攻击计划
  2. 02按执行难度与检测风险评分技术
  3. 03识别通往关键资产的瓶颈技术
  4. 04评估 OPSEC 风险
  5. 05按起始访问级别约束计划

适用场景

  1. 01规划经授权的红队演练
  2. 02分析到达关键资产的攻击路径
  3. 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 战术示例
侦察1TA0043T1595、T1596、T1598
资源开发2TA0042T1583、T1588
初始访问3TA0001T1190、T1566、T1078
执行4TA0002T1059、T1047、T1204
持久化5TA0003T1053、T1543、T1136
权限提升6TA0004T1055、T1548、T1134
凭据访问7TA0006T1003、T1110、T1558
横向移动8TA0008T1021、T1550、T1534
收集9TA0009T1074、T1560、T1114
外泄10TA0010T1048、T1041、T1567
影响11TA0040T1486、T1491、T1498
阶段执行原则

除非交战范围指定为假定失陷(直接跳至后续阶段),每个阶段必须完成后才能进入下一阶段。在尝试横向移动之前,不要跳过持久化,因为持久化可以在单个立足点被发现并清除时保证行动的连续性。


技术评分与优先级排序

技术按执行难度(在不被检测的情况下执行的难易程度)进行评分,并在交战计划中确定优先级。

执行难度评分公式
effort_score = detection_risk × (len(prerequisites) + 1)

执行难度评分越低,越容易在不触发检测的情况下执行。

技术评分参考
技术检测风险前提条件执行难度评分MITRE ID
PowerShell 执行0.7initial_access1.4T1059.001
计划任务持久化0.5execution1.0T1053.005
传递哈希(Pass-the-Hash)0.6credential_access, internal_network1.8T1550.002
LSASS 凭据转储0.8local_admin1.6T1003.001
鱼叉式网络钓鱼链接0.4none0.4T1566.001
勒索软件部署0.9persistence, lateral_movement2.7T1486

关键节点分析

关键节点是多条路径通往核心资产时都必须经过的技术。检测到某个关键节点技术,即可检测到所有经过该节点的攻击路径。

关键节点识别

交战规划器通过查找 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 检查清单
  1. 该技术是否在 RoE(交战规则)范围内?
  2. 它是否会生成蓝队主动监控的日志?
  3. 是否存在能达成相同目标、且更难被检测的替代方案?
  4. 如果被检测到,暴露的是整个行动还是仅当前立足点?
  5. 是否已为演练结束后的清除工作定义好清理痕迹?

核心资产定位

核心资产是高价值目标,它们定义了红队交战的成功标准。

皇冠明珠分类
皇冠明珠类型目标指标攻击路径
域控制器AD DS、NTDS.dit、SYSVOLKerberoasting → 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 周:规划

  1. 与干系人共同定义皇冠明珠和成功标准
  2. 签署 RoE,明确范围、时间线及范围外排除项
  3. 使用 engagement_planner.py 制定演练计划
  4. 审查每个阶段的 OPSEC 风险

第 2 周:执行(外部阶段)

  1. 侦察与目标画像
  2. 初始访问尝试(钓鱼、利用面向公网的资产)
  3. 记录每项已执行技术的时间戳
  4. 记录所有检测事件,以验证蓝队的覆盖情况

第 3 周:执行(内部阶段)

  1. 若已获得初始访问,建立持久化
  2. 执行凭据访问技术(关键节点)
  3. 朝皇冠明珠方向横向移动
  4. 记录皇冠明珠何时以及如何被触达

第 4 周:报告

  1. 汇总发现,包括已执行的技术、检测率和已触达的皇冠明珠
  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

反模式

  1. 未取得书面授权即开展行动 — 对任何你不拥有或未获得明确测试许可的系统进行未授权的红队活动,属于刑事犯罪。--authorized 标志必须对应真实签署的 RoE(交战规则),而不能仅仅为了绕过检查而运行工具。授权必须先于执行。
  2. 跳过攻击链阶段顺序 — 在未建立持久化的情况下直接进行横向移动,意味着一次检测就会让整个立足点化为乌有。请遵循攻击链阶段顺序,每个阶段都为下一阶段奠定基础。
  3. 开始前未定义核心资产 — 没有明确成功标准的交战会逐渐演变为漫无目的的漏洞搜寻。核心资产与成功条件必须在执行第一项技术之前,就在 RoE 中达成一致。
  4. 在计划中忽视 OPSEC 风险 — 红队演练的目的是检验蓝队的检测能力。刻意回避所有可能被检测到的技术,会得到不切实际的交战结果,无法验证检测覆盖率。应利用 OPSEC 风险来了解检测暴露面,而不是完全回避。
  5. 未实时记录已执行的技术 — 事后补记所执行的操作并不可靠。请在操作发生时即记录每项技术、时间戳及结果。交战后的报告必须基于同期记录。
  6. 交战结束后未清理痕迹 — 持久化机制、新建账户、被修改的配置以及暂存的数据,都必须在交战结束后移除。遗留红队痕迹会造成长期安全风险,并可能与真实攻击者的活动混淆。
  7. 将阻力最小的路径视为唯一路径 — 攻击者会不断调整策略。应测试多条攻击路径,包括可能规避检测、但投入成本更高的路线。仅验证最容易的路径能被检测到是必要的,但并不充分。

交叉引用

技能关系
threat-detection红队技术的执行会产生真实的 TTP,用于验证威胁狩猎假设
incident-response红队活动应触发应急响应流程,检测与响应质量是首要的成功指标
cloud-security云安全态势评估发现的问题(如 IAM 错误配置、S3 暴露)会成为红队攻击路径的目标
security-pen-testing渗透测试侧重于特定漏洞的利用;红队则侧重于端到端的攻击链模拟,直至核心资产

评论

支持 Markdown