关于 emulating-cloud-attacks-with-stratus-red-team
该技能指导安全团队使用 Stratus Red Team 对云攻击技术进行可重复模拟,并验证检测规则。它涵盖 AWS、Azure、GCP 和 Kubernetes 的技术目录、遥测分析及资源清理。
主要功能
- 01模拟云攻击技术
- 02按平台和 ATT&CK 战术筛选
- 03执行预热、引爆、回滚与清理
- 04查看攻击生成的云遥测
- 05验证检测规则与覆盖率
适用场景
- 01验证云检测规则是否触发
- 02开展可重复的紫队演练
- 03测试 SIEM 遥测摄取与告警路由
- 04评估云环境的检测覆盖率
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ mukul975/ anthropic-cybersecurity-skills --skill emulating-cloud-attacks-with-stratus-red-team安装后在 Claude Code 中输入/emulating-cloud-attacks-with-stratus-red-team确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
LICENSEreferences/api-reference.mdstandards.mdscripts/agent.py详细介绍
使用 Stratus Red Team 模拟云攻击
法律声明: 本技能仅用于经授权的安全测试和检测验证目的。Stratus Red Team 会在你提供凭据的账户中创建并修改真实的云基础设施。请仅在你自己拥有或经明确授权测试的账户中运行它。运行后务必执行
cleanup,以避免遗留产生费用或不安全的基础设施。未经授权对你无法控制的系统使用本工具是违法的。
概述
Stratus Red Team 是一个开源的“云上的 Atomic Red Team”,由 Datadog 维护。它是一个自包含的 Go 二进制文件,能够以编程方式对 AWS、Azure、GCP 和 Kubernetes 引爆细粒度、文档完善的攻击技术,随后让你干净地回滚并删除它创建的一切。与完整的利用框架不同,Stratus 专为检测工程和紫队协作而构建:每项技术都映射到一个 MITRE ATT&CK 战术,并附带对其生成的云 API 调用的精确描述,因此蓝队可以确认其 CloudTrail/GuardDuty/Sentinel/Falco 检测是否会真正触发。
每项技术都有一个确定性的生命周期。Stratus 首先使用内嵌的 Terraform 预置任何前置基础设施(warmup 阶段),然后执行恶意操作(detonate),可选地回滚(revert)副作用以便你可以再次引爆,最后清理(cleanup)前置基础设施。由于前置条件和攻击是解耦的,你可以反复引爆同一项技术来迭代检测逻辑,而无需重新预置。该工具使用你标准的云 SDK 凭据链(AWS profiles/env vars、az login、GCP ADC、kubeconfig),因此它以你所认证身份的确切权限运行。
本技能涵盖安装 Stratus、列出和筛选技术目录、运行完整的 warmup-detonate-revert-cleanup 生命周期、将引爆操作映射到其产生的遥测数据,以及将结果接入检测验证工作流。来源:github.com/DataDog/stratus-red-team 和 stratus-red-team.cloud 官方文档。
何时使用
- 验证新的或现有的云检测规则(CloudTrail、GuardDuty、Microsoft Sentinel、GCP SCC、Falco)是否会对真实攻击者活动触发
- 为云 TTP 构建可重复的紫队演练,而无需编写定制的攻击脚本
- 生成真实的、映射到 MITRE 的遥测数据,以测试 SIEM 摄取和告警路由
- 对照已知的技术目录衡量云环境的检测覆盖率
- 通过安全、可逆的动手云攻击模拟来培训分析人员
前置条件
- Stratus Red Team 二进制文件(从源码构建需要 Go 1.23+,或使用 Homebrew/Docker):
# Go install go install -v github.com/datadog/stratus-red-team/v2/cmd/stratus@latest # Homebrew brew tap datadog/stratus-red-team https://github.com/DataDog/stratus-red-team brew install datadog/stratus-red-team/stratus-red-team # Docker docker run --rm -v $HOME/.stratus-red-team/:/root/.stratus-red-team/ \ -e AWS_ACCESS_KEY_ID -e AWS_SECRET_ACCESS_KEY -e AWS_SESSION_TOKEN \ ghcr.io/datadog/stratus-red-team list - 目标提供商已认证的云凭据:
# AWS — verify identity before detonating export AWS_PROFILE=stratus-lab aws sts get-caller-identity # Azure az login # GCP gcloud auth application-default login # Kubernetes kubectl config current-context - 一个专用的、非生产的实验账户或订阅(技术会创建真实资源)
- Terraform 已内嵌;无需单独安装,但首次 warmup 时需要出站 HTTPS 以下载提供商插件
目标
- 安装 Stratus Red Team 并确认目标云身份
- 按平台和 MITRE ATT&CK 战术枚举和筛选技术
- 安全地执行 warmup -> detonate -> revert -> cleanup 生命周期
- 将每次引爆映射到其生成的云 API 调用和日志源
- 对照产生的遥测数据验证检测规则并跟踪覆盖率
- 确保测试后不残留任何基础设施
MITRE ATT&CK 映射
| ID | 名称 | 在本技能中的用途 |
|---|---|---|
| T1078 | 有效账户 | 仿真以有效的云身份运行;许多技术滥用合法凭证/API 访问 |
| T1078.004 | 有效账户:云账户 | 例如 aws.credential-access.ec2-steal-instance-credentials 会产生云账户滥用遥测 |
| T1580 | 云基础设施发现 | 属于发现策略的技术,如 aws.discovery.* |
| T1530 | 来自云存储的数据 | 属于外泄的技术,如 aws.exfiltration.ec2-share-ebs-snapshot |
| T1098 | 账户操纵 | 属于持久化的技术,如 aws.persistence.iam-create-admin-user |
工作流
1. 确认身份并列出技术目录
始终先确认你即将攻击的账户,然后浏览目录。
aws sts get-caller-identity
stratus list
# Filter to a single platform
stratus list --platform aws
# Filter by MITRE ATT&CK tactic
stratus list --mitre-attack-tactic credential-access
2. 在运行前检查特定技术
准确阅读某项技术将执行什么操作,以及它会产生哪些引爆/遥测。
stratus show aws.credential-access.ec2-steal-instance-credentials
3. 预热前置基础设施
使用内嵌的 Terraform 配置前置条件,但暂不执行攻击。
stratus warmup aws.credential-access.ec2-steal-instance-credentials
stratus status
4. 引爆技术
执行恶意操作;这正是你的检测必须捕获的内容。如果尚未预热,预热是隐式进行的。
stratus detonate aws.credential-access.ec2-steal-instance-credentials
# Detonate and force a re-warmup in one step
stratus detonate aws.persistence.iam-create-admin-user --force
5. 检查状态和生成的遥测
检查生命周期状态,然后拉取相应的控制平面日志以确认攻击已落地。
stratus status
# Pull recent CloudTrail events to verify the detonation
aws cloudtrail lookup-events \
--lookup-attributes AttributeKey=EventName,AttributeValue=CreateAccessKey \
--max-results 10
6. 验证检测
确认你的 SIEM/检测已触发。例如:查询 Athena/CloudTrail 或检查 GuardDuty 发现项。
aws guardduty list-findings --detector-id "$DETECTOR_ID" \
--finding-criteria '{"Criterion":{"updatedAt":{"GreaterThanOrEqual":'"$(date -d '-1 hour' +%s)"'000}}}'
7. 还原副作用以便重新引爆
撤销引爆,同时保留前置条件,以便你迭代检测。
stratus revert aws.credential-access.ec2-steal-instance-credentials
stratus detonate aws.credential-access.ec2-steal-instance-credentials # run again
8. 清理所有基础设施
拆除某项技术创建的一切。务必在此结束。
stratus cleanup aws.credential-access.ec2-steal-instance-credentials
# Nuke everything Stratus ever provisioned in this account
stratus cleanup --all
stratus status # confirm COLD state for all techniques
9. 以编程方式驱动它进行覆盖率运行
遍历某个策略以测量检测覆盖率,然后清理。参见 scripts/agent.py。
python scripts/agent.py --platform aws --tactic credential-access --detonate --cleanup
工具和资源
| 资源 | 用途 | 链接 |
|---|---|---|
| Stratus Red Team GitHub | 源代码、发布、技术源码 | https://github.com/DataDog/stratus-red-team |
| Stratus Red Team 文档 | 技术目录和生命周期参考 | https://stratus-red-team.cloud |
| 攻击技术列表 | 完整的各平台技术 ID | https://stratus-red-team.cloud/attack-techniques/list/ |
| MITRE ATT&CK 云 | 用于映射的策略/技术参考 | https://attack.mitre.org/matrices/enterprise/cloud/ |
| Atomic Red Team | 互补的终端仿真 | https://github.com/redcanaryco/atomic-red-team |
检测验证映射
为体现紫队价值,将每次引爆与其应触发的遥测和检测配对:
| 技术 | 预期遥测 | 要验证的检测 |
|---|---|---|
aws.credential-access.ec2-steal-instance-credentials | CloudTrail 中来自非 EC2 IP 使用角色凭证 | GuardDuty UnauthorizedAccess:IAMUser/InstanceCredentialExfiltration |
aws.persistence.iam-create-admin-user | CreateUser + AttachUserPolicy(AdministratorAccess) | 针对附加管理员策略的 CloudTrail/Sentinel 规则 |
aws.exfiltration.ec2-share-ebs-snapshot | ModifySnapshotAttribute 共享给外部账户 | GuardDuty Exfiltration:EC2/... / 自定义规则 |
aws.discovery.ec2-enumerate-from-instance | 来自实例角色的突发 Describe* | 突发枚举检测 |
引爆后,确认告警端到端触发(来源 -> SIEM -> 工单)。如果没有, 你就发现了一个覆盖率缺口;在清理前记录下来。
成本与安全注意事项
- 某些技术会创建计费资源(EC2 实例、EBS 快照)。请始终
运行
stratus cleanup --all,并确认stratus status返回 COLD。 - 切勿使用生产凭证运行 Stratus;请使用专用的实验账户/订阅。
- 状态目录
~/.stratus-red-team/存放 Terraform 状态——请在 清理完成前保留它,否则可能会遗留资源。
生命周期状态参考
| 状态 | 含义 |
|---|---|
| COLD | 未创建任何前置条件;无需清理 |
| WARM | 前置条件已创建但尚未引爆 |
| DETONATED | 已执行攻击操作;存在副作用 |
验证标准
- 已安装 Stratus,且
stratus list返回技术目录 - 已通过
sts get-caller-identity/ 等效命令确认目标云身份 - 引爆前已使用
stratus show检查技术 - 已完成预热,且状态显示为 WARM
- 已完成引爆,且状态显示为 DETONATED
- 已在 CloudTrail/GuardDuty/SIEM 中找到生成的遥测数据
- 已确认检测规则会触发(或已记录覆盖缺口)
- 已回滚并重新引爆该技术,以确认可重复性
- 已运行
stratus cleanup --all,且每项技术的状态均返回 COLD - 账户中未遗留任何孤立的计费资源