mcpField
P
performing-aws-account-enumeration-with-scout-suite

performing-aws-account-enumeration-with-scout-suite

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

关于 performing-aws-account-enumeration-with-scout-suite

此安全技能介绍如何使用 ScoutSuite 审计 AWS 账户、枚举资源,并通过本地交互式报告检查配置风险,面向安全审计人员。内容涵盖扫描和修复验证流程。

主要功能

  1. 01审计 AWS 配置
  2. 02按服务和区域扫描
  3. 03通过角色扫描其他账户
  4. 04生成本地交互式 HTML 报告
  5. 05按风险等级和规则检查

适用场景

  1. 01盘点 AWS 资源与配置
  2. 02评估 IAM、S3 和 EC2 风险
  3. 03验证修复后的安全状态

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/mukul975/anthropic-cybersecurity-skills --skill performing-aws-account-enumeration-with-scout-suite

安装后在 Claude Code 中输入/performing-aws-account-enumeration-with-scout-suite确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

LICENSE
assets/
template.md
references/
api-reference.md
standards.md
workflows.md
scripts/
agent.py
process.py

详细介绍

使用 ScoutSuite 执行 AWS 账户枚举

概述

ScoutSuite 是由 NCC Group 开发的开源多云安全审计工具,能够对 AWS 环境进行全面的安全态势评估。它会查询 AWS API 以收集所有服务的配置数据,将结果存储在本地,并生成交互式 HTML 报告,突出显示高风险区域。ScoutSuite 无需安装 Agent,通过分析云资源的配置、访问和监控方式来工作。

何时使用

  • 当开展涉及使用 ScoutSuite 执行 AWS 账户枚举的安全评估时
  • 当遵循相关安全事件的事件响应流程时
  • 当执行定期安全测试或审计活动时
  • 当通过动手测试验证安全控制措施时

前提条件

  • 已安装 Python 3.6+
  • 已使用适当的 IAM 凭据配置 AWS CLI
  • 对目标 AWS 服务具有只读 IAM 权限(推荐使用 SecurityAudit 托管策略)
  • 用于安装 ScoutSuite 的 pip 包管理器
  • 能够通过网络访问 AWS API 端点

安装与设置

安装 ScoutSuite
pip install scoutsuite
验证安装
scout --version
配置 AWS 凭据
aws configure
# Or use environment variables:
export AWS_ACCESS_KEY_ID=<your-key>
export AWS_SECRET_ACCESS_KEY=<your-secret>
export AWS_DEFAULT_REGION=us-east-1
所需的 IAM 策略

将 AWS 托管策略 SecurityAudit 和 ViewOnlyAccess 附加到运行 ScoutSuite 的 IAM 用户或角色。如需进行全面扫描,可能需要自定义策略:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "acm:Describe*",
        "acm:List*",
        "cloudformation:Describe*",
        "cloudformation:Get*",
        "cloudformation:List*",
        "cloudtrail:Describe*",
        "cloudtrail:Get*",
        "cloudtrail:List*",
        "cloudwatch:Describe*",
        "cloudwatch:Get*",
        "cloudwatch:List*",
        "config:Describe*",
        "config:Get*",
        "config:List*",
        "dynamodb:Describe*",
        "dynamodb:List*",
        "ec2:Describe*",
        "ec2:Get*",
        "elasticloadbalancing:Describe*",
        "iam:Generate*",
        "iam:Get*",
        "iam:List*",
        "iam:Simulate*",
        "kms:Describe*",
        "kms:Get*",
        "kms:List*",
        "lambda:Get*",
        "lambda:List*",
        "logs:Describe*",
        "logs:Get*",
        "rds:Describe*",
        "rds:List*",
        "redshift:Describe*",
        "route53:Get*",
        "route53:List*",
        "s3:Get*",
        "s3:List*",
        "ses:Get*",
        "ses:List*",
        "sns:Get*",
        "sns:List*",
        "sqs:Get*",
        "sqs:List*",
        "ssm:Describe*",
        "ssm:Get*",
        "ssm:List*"
      ],
      "Resource": "*"
    }
  ]
}

运行 ScoutSuite

完整 AWS 扫描
scout aws
仅扫描特定服务
scout aws --services s3 iam ec2 rds
扫描特定区域
scout aws --regions us-east-1 us-west-2 eu-west-1
使用代入角色进行跨账户扫描
scout aws --profile target-account-profile
从扫描中排除特定服务
scout aws --skip iam ec2
指定输出目录
scout aws --report-dir /tmp/scoutsuite-reports/

报告分析

ScoutSuite 会生成一个存储在本地的交互式 HTML 报告。报告包括:

  1. 仪表盘:按严重程度(危险、警告、良好)划分的发现概览
  2. 服务级发现:按 AWS 服务分组(IAM、S3、EC2、RDS 等)
  3. 基于规则的检查:每个发现都对应一条安全最佳实践规则
  4. 资源清单:枚举出的资源的完整列表
报告中需要审查的关键领域
服务关键检查项
IAM根账户 MFA、密码策略、未使用的凭据、权限过大的策略
S3公有存储桶、未加密的存储桶、未启用版本控制、未启用日志记录
EC2安全组开放 0.0.0.0/0、未加密的 EBS 卷、公有 IP
RDS公有可访问性、未加密的数据库、备份保留
CloudTrail未启用日志记录、日志文件验证、未启用多区域
Lambda公有访问、环境变量中的密钥、VPC 配置

解读发现

严重程度级别
  • 危险(红色):需要立即修复的严重安全问题(例如,具有公有写入权限的 S3 存储桶)
  • 警告(橙色):应加以处理的中等风险发现(例如,未使用的 IAM 访问密钥)
  • 良好(绿色):已正确配置的安全最佳实践
常见高风险发现
  1. IAM 根账户未启用 MFA:AWS 根账户未启用多因素认证
  2. S3 存储桶策略允许公有访问:存储桶策略中 Principal 设置为 "*"
  3. 安全组允许不受限制的 SSH:入站规则允许在端口 22 上开放 0.0.0.0/0
  4. CloudTrail 未在所有区域启用:审计日志记录存在缺口,导致 API 活动无法被监控
  5. RDS 实例可公开访问:数据库端点可从互联网访问

修复工作流

  1. 运行 ScoutSuite 扫描以建立基线
  2. 导出发现并按严重程度排序
  3. 为危险和警告级别的发现创建修复工单
  4. 实施修复(更新安全组、启用加密、限制访问)
  5. 重新运行 ScoutSuite 以验证修复效果
  6. 安排定期扫描(每周一次或在基础设施变更后)

与 CI/CD 集成

# Run ScoutSuite in CI/CD pipeline and fail on danger findings
scout aws --services s3 iam ec2 --no-browser --report-dir ./scout-report/

# Parse results programmatically
python -c "
import json
with open('./scout-report/scoutsuite-results/scoutsuite_results.json') as f:
    results = json.load(f)
    for service in results.get('services', {}):
        findings = results['services'][service].get('findings', {})
        for finding_id, finding in findings.items():
            if finding.get('flagged_items', 0) > 0 and finding.get('level') == 'danger':
                print(f'CRITICAL: {finding_id} - {finding.get(\"description\", \"\")}')
"

多云能力

ScoutSuite 使用同一框架支持多个云服务商:

# Azure
scout azure --cli

# GCP
scout gcp --user-account

# AWS with specific profile
scout aws --profile production

参考资料

评论

支持 Markdown