Responds to security incidents in AWS, Azure, GCP clouds via identity-based containment, native log analysis, resource isolation, and forensic evidence collection for ephemeral infrastructure. Useful for cloud IR scenarios.
npx claudepluginhub killvxk/cybersecurity-skills-zhThis skill uses the workspace's default tool permissions.
- 云安全态势管理(CSPM)告警提示未授权资源变更
Responds to security incidents in AWS, Azure, GCP via identity-based containment, cloud-native log analysis like CloudTrail/Activity Logs, resource isolation, and forensic evidence collection for ephemeral infrastructure.
Guides incident response in AWS, Azure, GCP: analyzes CloudTrail/Activity/Audit logs, contains identity compromises, isolates resources, acquires forensics for ephemeral infra.
Conducts cloud forensics investigations on AWS, Azure, and GCP by preserving snapshots, collecting CloudTrail/Activity/Audit logs, and analyzing access for incident response.
Share bugs, ideas, or general feedback.
不适用于无云组件的纯本地事件;此类情况请使用标准企业 IR 流程。
识别受攻陷的范围和性质:
AWS 指标:
待调查的 CloudTrail 可疑事件:
- 来自异常地理位置或 IP 的 ConsoleLogin(控制台登录)
- 为现有 IAM 用户创建 CreateAccessKey(持久化)
- 启动用于挖矿的 RunInstances(大型实例类型)
- PutBucketPolicy 使 S3 存储桶公开
- AssumeRole 切换至跨账号角色
- DeleteTrail 或 StopLogging(防御规避)
- CreateUser 或 AttachUserPolicy(权限提升)
Azure 指标:
待调查的 Azure 活动日志事件:
- 来自匿名 IP 或 TOR 出口节点的登录
- 添加服务主体凭据
- 角色分配变更(添加 Owner、Contributor)
- 在异常区域创建虚拟机
- 存储账号访问密钥重新生成
- 条件访问策略被修改或删除
- 用户账号 MFA 被禁用
GCP 指标:
待调查的 GCP 审计日志事件:
- SetIamPolicy 变更授予宽泛访问权限
- 为现有服务账号创建 CreateServiceAccountKey
- 在意外区域 InsertInstance
- SetBucketIamPolicy 设置 allUsers
- DeleteLog 或 UpdateSink(日志篡改)
云遏制主要是身份操作:
AWS 遏制:
# 禁用受攻陷的 IAM 访问密钥
aws iam update-access-key --user-name compromised-user \
--access-key-id AKIA... --status Inactive
# 为受攻陷用户附加全拒绝策略
aws iam attach-user-policy --user-name compromised-user \
--policy-arn arn:aws:iam::aws:policy/AWSDenyAll
# 撤销受攻陷 IAM 角色的所有活跃会话
aws iam put-role-policy --role-name compromised-role \
--policy-name RevokeOlderSessions --policy-document '{
"Version":"2012-10-17",
"Statement":[{
"Effect":"Deny",
"Action":"*",
"Resource":"*",
"Condition":{"DateLessThan":
{"aws:TokenIssueTime":"2025-11-15T15:00:00Z"}}
}]
}'
# 隔离受攻陷的 EC2 实例
aws ec2 modify-instance-attribute --instance-id i-0abc123 \
--groups sg-isolate-forensic
Azure 遏制:
# 禁用受攻陷用户
Set-AzureADUser -ObjectId "user@tenant.onmicrosoft.com" -AccountEnabled $false
# 撤销所有会话
Revoke-AzureADUserAllRefreshToken -ObjectId "user-object-id"
# 移除角色分配
Remove-AzRoleAssignment -ObjectId "sp-object-id" -RoleDefinitionName "Contributor"
# 使用 NSG 全拒绝规则隔离虚拟机
$nsg = New-AzNetworkSecurityGroup -Name "isolate-nsg" -ResourceGroupName "rg" -Location "eastus"
$nsg | Add-AzNetworkSecurityRuleConfig -Name "DenyAll" -Priority 100 -Direction Inbound `
-Access Deny -Protocol * -SourceAddressPrefix * -SourcePortRange * `
-DestinationAddressPrefix * -DestinationPortRange *
在临时资源终止或日志轮转前采集证据:
AWS 证据采集:
Azure 证据采集:
GCP 证据采集:
分析日志以识别常见云攻击技术:
常见云攻击模式:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1. 凭据受攻陷 → IAM 权限提升 → 资源滥用
2. 公开 S3/Blob → 数据外泄
3. Web 应用 SSRF → IMDS 令牌窃取 → 横向移动
4. CI/CD 流水线受攻陷 → 恶意部署
5. 跨账号角色滥用 → 多账号跳转
6. Lambda/Function 滥用 → 挖矿或数据处理
IMDS 令牌窃取调查(AWS):
# 在 CloudTrail 中搜索使用来自外部 IP 的实例角色凭据的 API 调用
aws cloudtrail lookup-events --lookup-attributes \
AttributeKey=EventSource,AttributeValue=ec2.amazonaws.com \
--start-time 2025-11-14 --end-time 2025-11-16 \
| jq '.Events[] | select(.CloudTrailEvent | fromjson | .sourceIPAddress != "internal")'
移除对手访问权限并恢复安全状态:
实施控制措施以防止再次发生:
| 术语 | 定义 |
|---|---|
| IMDS(Instance Metadata Service,实例元数据服务) | 提供可从虚拟机内部访问的实例凭据的云服务;SSRF 攻击以 IMDS 为目标窃取令牌 |
| CloudTrail | 记录 AWS 账号中所有 API 调用的 AWS 服务;AWS 事件响应的主要证据来源 |
| 服务主体(Service Principal) | Azure AD 中供应用程序和服务使用的非人类身份;受攻陷后可实现持久 API 访问 |
| SCP(Service Control Policy,服务控制策略) | AWS Organizations 策略,限制账号可用的最大权限;用于设置安全护栏 |
| 临时基础设施(Ephemeral Infrastructure) | 可能在证据采集前终止的云资源(容器、函数、自动扩展实例) |
| 跨账号角色切换(Cross-Account Role Assumption) | AWS 机制允许一个账号临时访问另一个账号的资源;攻击者通过角色切换进行横向移动 |
背景:AWS GuardDuty 告警显示某 IAM 用户的访问密钥被来自意外 IP 地址的 API 调用使用。该密钥在 4 小时前被意外提交到公开 GitHub 仓库。
处理方法:
常见陷阱:
云事件响应报告
================================
事件: INC-2025-1705
云服务商: AWS(账号:123456789012)
检测日期: 2025-11-15T14:00:00Z
检测来源: GuardDuty - UnauthorizedAccess:IAMUser/InstanceCredentialExfiltration
受攻陷摘要
初始访问: IAM 访问密钥泄露至公开 GitHub 仓库
受影响身份: iam-user: deploy-bot (AKIA...)
攻击者 IP: 203.0.113.42(VPN 出口节点,荷兰)
持续时间: 4 小时(10:00 UTC - 14:00 UTC)
攻击者活动(来自 CloudTrail)
10:15 UTC - DescribeInstances(侦察)
10:18 UTC - RunInstances x 12(c5.4xlarge,所有区域 - 挖矿)
10:22 UTC - CreateUser "backup-admin"(持久化)
10:23 UTC - CreateAccessKey for "backup-admin"
10:25 UTC - AttachUserPolicy - AdministratorAccess to "backup-admin"
10:30 UTC - PutBucketPolicy - s3://data-bucket 设为公开(外泄)
遏制措施
[x] 原始访问密钥已禁用
[x] 用户策略已设为 AWSDenyAll
[x] 后门 IAM 用户 "backup-admin" 已删除
[x] 12 个挖矿实例已终止(所有区域)
[x] S3 存储桶策略已恢复为私有
财务影响
未授权 EC2:$2,847(4 小时 x 12 x c5.4xlarge)
数据传输: $127(S3 公开访问数据出口)
合计: $2,974
事件后加固
1. GitHub 密钥扫描已启用
2. 访问密钥轮换策略已实施
3. 防止 CloudTrail 禁用的 SCP 已部署
4. GuardDuty 自动修复 Lambda 已配置