mcpField
E
emulating-cloud-attacks-with-stratus-red-team

emulating-cloud-attacks-with-stratus-red-team

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

关于 emulating-cloud-attacks-with-stratus-red-team

该技能指导安全团队使用 Stratus Red Team 对云攻击技术进行可重复模拟,并验证检测规则。它涵盖 AWS、Azure、GCP 和 Kubernetes 的技术目录、遥测分析及资源清理。

主要功能

  1. 01模拟云攻击技术
  2. 02按平台和 ATT&CK 战术筛选
  3. 03执行预热、引爆、回滚与清理
  4. 04查看攻击生成的云遥测
  5. 05验证检测规则与覆盖率

适用场景

  1. 01验证云检测规则是否触发
  2. 02开展可重复的紫队演练
  3. 03测试 SIEM 遥测摄取与告警路由
  4. 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 外,安装时一起下载的参考资料和脚本。

LICENSE
references/
api-reference.md
standards.md
scripts/
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
攻击技术列表完整的各平台技术 IDhttps://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-credentialsCloudTrail 中来自非 EC2 IP 使用角色凭证GuardDuty UnauthorizedAccess:IAMUser/InstanceCredentialExfiltration
aws.persistence.iam-create-admin-userCreateUser + AttachUserPolicy(AdministratorAccess)针对附加管理员策略的 CloudTrail/Sentinel 规则
aws.exfiltration.ec2-share-ebs-snapshotModifySnapshotAttribute 共享给外部账户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
  • 账户中未遗留任何孤立的计费资源

评论

支持 Markdown