Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
aws-perimeter — 一个基于终端的AWS安全扫描器,拥有102+项安全检查,涵盖VPC、IAM、S3、CloudTrail、容器(ECS/EKS)以及AI攻击检测。能够检测危险的IAM权限、暴露的密钥、配置错误的S3存储桶、容器漏洞以及新兴的LLM劫持威胁。 | Kitploit
工具/GitHubGitHub/thirukguru/aws-perimeter
云基础设施安全漏洞扫描器容器安全配置审计渗透测试云安全DevSecOps秘密检测威胁情报身份与访问管理 (IAM)错误配置AI 安全
36个月前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
GitHubthirukguru/aws-perimeter

aws-perimeter

一个基于终端的AWS安全扫描器,拥有102+项安全检查,涵盖VPC、IAM、S3、CloudTrail、容器(ECS/EKS)以及AI攻击检测。能够检测危险的IAM权限、暴露的密钥、配置错误的S3存储桶、容器漏洞以及新兴的LLM劫持威胁。

查看仓库

aws-perimeter

Go Version Go Reference Go Report Card License

一个基于终端的 AWS 安全扫描器,包含 100+ 项安全检查,覆盖 VPC、IAM、S3、CloudTrail、容器(ECS/EKS)及 AI 攻击检测。可检测危险的 IAM 权限、暴露的密钥、配置错误的 S3 存储桶、容器漏洞以及新兴的 LLMjacking 威胁。

产品概览:docs/CAPABILITIES_OVERVIEW.md

功能

🔒 VPC 安全

  • 安全组分析(开放的 SSH/RDP、数据库端口)
  • 公开暴露检测与管理端口风险
  • 网络 ACL 分析与 VPC Flow Log 审计
  • VPC 对等连接风险、堡垒主机检测
  • NAT 网关状态与 VPC 端点覆盖

🔑 IAM 安全

  • 权限提升检测(17种模式)
  • 过期凭证(超过90天)
  • 跨账号信任分析
  • MFA 强制实施缺口
  • 过度宽松策略(*:*)
  • 角色链、外部 ID、权限边界

🪣 S3 安全

  • 公开存储桶检测
  • 加密审计与危险存储桶策略
  • 公共访问阻止状态
  • 敏感文件/对象发现(.env、.git、凭证)
  • S3 对象中深度文本内容密钥检测

📊 CloudTrail 与日志

  • 追踪覆盖缺口与多区域日志记录
  • 日志验证状态
  • CloudWatch Logs 集成

🕵️ 密钥检测

  • Lambda 环境变量(10种密钥模式)
  • Lambda 部署包(ZIP)扫描
  • EC2 用户数据扫描
  • 公开 S3 对象内容扫描
  • ECR 镜像层扫描(嵌入式凭证)
  • AWS 密钥、GitHub/Slack/Stripe 令牌

🐳 容器安全(新)

ECS 安全(10项检查)

  • 特权容器
  • 环境变量中的密钥
  • 公网 IP 暴露
  • 主机网络模式
  • 非 ECR 镜像
  • 可写根文件系统
  • 危险的 Linux 能力
  • ECS Exec 启用
  • Container Insights 状态
  • 管理任务角色

EKS 安全(12项检查)

  • 公开端点访问
  • 私有端点禁用
  • 控制平面日志记录
  • 密钥加密
  • Kubernetes 版本
  • OIDC 供应商(用于 IRSA)
  • 传统认证模式
  • 公有子网节点
  • 无限制 SSH 访问
  • 管理级节点 IAM 角色
  • AMI 类型(优先 Bottlerocket)

🤖 AI 攻击检测(新)

基于 2025 年 2 月威胁情报:8 分钟 AWS 入侵

  • GPU 实例监控:检测 p2/p3/p4/p5、g3/g4/g5、inf1/inf2、trn1 实例
  • GPU 公网暴露:具有公网 IP 的 GPU 实例
  • GPU IMDSv1 风险:存在凭证盗窃风险的 GPU 实例
  • Bedrock 滥用:高容量预置吞吐量检测
  • 自定义模型:未授权的 Bedrock 模型训练
  • Bedrock 日志记录:缺少模型调用日志记录
  • 快速预置:EC2 API 节流检测(攻击模式)

安全检查摘要

类别数量
核心(IAM、VPC、S3、CloudTrail、密钥)38
扩展(Lambda、ELB、Route53、Inspector 等)

关键安全检查

前提条件

1. 安装 AWS CLI

root@kitploit:~
# macOS
brew install awscli

# Linux
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip && sudo ./aws/install

2. 配置 AWS 凭证

root@kitploit:~
aws configure
# 或使用命名配置文件
aws configure --profile myprofile

3. 所需 IAM 权限

您的 AWS 凭证必须对要扫描的服务拥有只读访问权限。AWS 托管策略 ReadOnlyAccess 即可,或参阅下面的所需权限。

注意:aws-perimeter 仅执行读取操作,绝不会修改您的 AWS 资源。

安装

快速安装(macOS/Linux)

root@kitploit:~
curl -sSfL https://raw.githubusercontent.com/thirukguru/aws-perimeter/main/install.sh | sh

使用 Go

root@kitploit:~
go install github.com/thirukguru/aws-perimeter@latest

用法

root@kitploit:~
aws-perimeter                          # 运行完整安全扫描
aws-perimeter --output json            # JSON 输出
aws-perimeter --profile prod           # 指定 AWS 配置文件
aws-perimeter --region us-west-2       # 指定区域
aws-perimeter --regions us-east-1,us-west-2            # 多区域扫描
aws-perimeter --regions us-east-1,us-west-2 --max-parallel 4  # 多区域扫描并控制并发
aws-perimeter --regions us-east-1,us-west-2 --max-parallel 4 --best-effort  # 如果至少一个区域成功则退出成功
aws-perimeter --rules                   # 将 RULES.md 输出到 stdout(Markdown)
aws-perimeter --capabilities            # 将能力概述输出到 stdout(Markdown)
aws-perimeter --all-regions                            # 扫描所有已启用区域
aws-perimeter --org-scan --org-role-name OrganizationAccountAccessRole  # 多账号组织扫描
aws-perimeter --org-scan --max-parallel 5              # 组织+区域并发扇出
aws-perimeter --output html --output-file report.html  # 生成 HTML 报告
aws-perimeter --store --profile prod --region us-west-2 # 运行并持久化扫描结果
aws-perimeter --trends --trend-days 30 --account-id 123456789012  # 显示历史趋势表
aws-perimeter history list --db-path ~/.aws-perimeter/history.db
aws-perimeter dashboard --port 8080

对于扇出模式(--regions、--all-regions、--org-scan)配合 --output html --output-file ...,aws-perimeter 会为每个扫描单元写入一份报告,文件名包含区域/账号及时间戳后缀(例如 security-report-us-east-1-20260210-213045.html 或 security-report-123456789012-us-east-1-20260210-213045.html)。 在 HTML 模式下,终端表格输出会被抑制,仅打印简洁的摘要行。

JSON 自动化模式

当使用 --output json 时,aws-perimeter 输出一个有效的单一 JSON 文档,不含横幅或旋转动画,因此适用于管道。

root@kitploit:~
aws-perimeter --profile prod --region us-west-2 --output json | jq .

# 多区域 JSON 输出一个聚合的顶层 JSON 文档:
aws-perimeter --profile prod --regions us-east-1,us-west-2 --output json | jq .

# 通过 stdout 重定向导出文档
aws-perimeter --rules > rules.md
aws-perimeter --capabilities > capabilities.md

多区域 JSON 负载包括:

  • summary(total_regions、success、failed、skipped)
  • results(每个区域的整合扫描负载)
  • failures(区域扫描失败时的区域及错误详情)

扇出摘要输出

对于非 JSON 输出模式下的多区域和组织扫描,aws-perimeter 会在执行结束时打印汇总摘要:

  • 每个扫描单元的行,包含 account_id、account_name、region、status、duration 和 error。
  • 合计总数(TOTAL、SUCCESS、FAILED、SKIPPED)。
  • 组织扫描的账号级汇总表(每个账号的成功/失败/跳过计数)。

--max-parallel 和 --best-effort

  • --max-parallel 控制扇出模式(--regions、--all-regions、--org-scan)中并发运行的区域/账号扫描单元数量。
  • 值越高,扫描速度越快,但会增加 API 压力及节流/网络争用的概率。
  • 推荐起始值:--max-parallel 3 或 --max-parallel 4。
  • --best-effort 适用于多区域扫描:当至少一个区域成功时,命令以成功(0)退出,即使部分区域失败。
  • 未使用 --best-effort 时,任何区域失败都会返回非零退出码。
  • 在多区域 JSON 输出中,失败的区域会在 failures 字段中显示具体错误。

标志

所需 AWS 权限

以下权限需要完整功能覆盖(包括多区域和组织扫描):

root@kitploit:~
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "sts:GetCallerIdentity",
        "sts:AssumeRole",
        
        "organizations:DescribeOrganization",
        "organizations:ListAccounts",
        
        "ec2:Describe*",
        "ec2:GetEbsEncryptionByDefault",
        
        "iam:List*",
        "iam:Get*",
        "iam:GenerateCredentialReport",
        
        "s3:ListAllMyBuckets",
        "s3:GetBucket*",
        "s3:GetEncryptionConfiguration",
        
        "cloudtrail:DescribeTrails",
        "cloudtrail:GetTrailStatus",
        "cloudtrail:LookupEvents",
        
        "lambda:ListFunctions",
        "lambda:GetFunctionConfiguration",
        "lambda:GetFunction",
        
        "ecr:DescribeRepositories",
        "ecr:DescribeImages",
        "ecr:BatchGetImage",
        "ecr:GetDownloadUrlForLayer",
        
        "ecs:ListClusters",
        "ecs:DescribeClusters",
        "ecs:ListServices",
        "ecs:DescribeServices",
        "ecs:DescribeTaskDefinition",
        
        "eks:ListClusters",
        "eks:DescribeCluster",
        "eks:ListNodegroups",
        "eks:DescribeNodegroup",
        
        "bedrock:ListProvisionedModelThroughputs",
        "bedrock:ListCustomModels",
        "bedrock:GetModelInvocationLoggingConfiguration",
        
        "guardduty:ListDetectors",
        "guardduty:GetDetector",
        "guardduty:ListFindings",
        "guardduty:GetFindings",
        
        "securityhub:DescribeHub",
        "securityhub:GetFindings",
        
        "config:Describe*",
        
        "kms:ListKeys",
        "kms:DescribeKey",
        "kms:GetKeyRotationStatus",
        "kms:Decrypt",
        
        "rds:DescribeDB*",
        
        "dynamodb:ListTables",
        "dynamodb:DescribeTable",
        "dynamodb:DescribeContinuousBackups",
        
        "secretsmanager:ListSecrets",
        
        "elasticloadbalancing:Describe*",
        
        "backup:List*",
        
        "apigateway:GET",
        
        "cloudfront:List*",
        "cloudfront:Get*",
        
        "cloudwatch:GetMetricStatistics",
        
        "sns:ListTopics",
        "sqs:ListQueues"
      ],
      "Resource": "*"
    }
  ]
}

kms:Decrypt 仅在扫描加密对象/包时需要(例如 SSE-KMS S3 对象读取)。在生产环境中,将其限定到所需的 KMS 密钥。

对于 --org-scan,管理委托方必须允许承担成员账号角色(默认:OrganizationAccountAccessRole),例如:

root@kitploit:~
{
  "Effect": "Allow",
  "Action": "sts:AssumeRole",
  "Resource": "arn:aws:iam::*:role/OrganizationAccountAccessRole"
}

成员账号角色信任策略也必须允许您的扫描委托方(用户/角色)承担该角色(如果使用 --external-id,还需包含 sts:ExternalId 条件)。

提示:如需快速开始,请将 AWS 托管策略 arn:aws:iam::aws:policy/ReadOnlyAccess 附加到您的 IAM 用户/角色。

路线图

阶段 3:高级威胁检测

  • STRIDE 威胁建模
  • 攻击路径分析
  • 数据泄露检测
  • 加密货币挖矿迹象

阶段 4:企业功能

  • 多账号组织支持
  • CI/CD 集成
  • SIEM 导出(Splunk、ELK)
  • 历史趋势

总结

许可证

Apache License 2.0

下载工具
35
容器安全(ECS + EKS)22
AI 攻击检测7
总计102
检查项严重级别描述
权限提升🔴 严重用户可提升至管理员
管理员访问(:)🔴 严重授予完全 AWS 访问权限
暴露的密钥🔴 严重Lambda/EC2 中的 API 密钥/令牌
公开 S3 存储桶🔴 严重存储桶可公开访问
无 CloudTrail🔴 严重无审计日志
开放的 SSH/RDP🔴 严重端口 22/3389 开放至互联网
特权容器🔴 严重ECS 容器具有 root 访问权限
GPU IMDSv1🔴 严重GPU 实例的凭证存在风险
跨账号信任🟠 高外部账号可承担角色
EKS 公开端点🟠 高Kubernetes API 可公开访问
Bedrock 无日志记录🟠 高AI 模型使用未审计
标志缩写描述
--profile-p使用的 AWS 配置文件
--region-rAWS 区域
--regions逗号分隔的区域列表
--all-regions扫描所有已启用区域
--org-scan扫描所有活跃的 AWS 组织账号
--org-role-name在成员账号中承担的 IAM 角色名称
--external-id跨账号角色承担的外部 ID
--output-o输出格式:table、json 或 html
--rules输出规则目录 Markdown 并退出
--capabilities输出能力 Markdown 并退出
--output-file-f输出文件(HTML 必需)
--store将扫描结果持久化到 SQLite
--db-path自定义 SQLite 数据库路径
--trends显示历史趋势
--trend-days趋势窗口天数(默认30)
--compare比较两次最近的扫描
--export-json导出趋势 JSON 文件
--export-csv导出趋势 CSV 文件
--account-id趋势/历史的账号过滤器
--max-parallel最大并发区域/账号扫描单元数
--best-effort多区域扫描:至少一个区域成功则返回成功
--dry-run修复预览模式
--remediate应用支持修复
--dashboard-port仪表板端口(根标志;dashboard 子命令使用 --port)
--version-v版本信息
阶段状态规则数
阶段 1✅ 完成73
阶段 2🔲 进行中+20
阶段 2.5🆕 AI 攻击检测+13
阶段 3🔲 计划中+15
阶段 4🔲 计划中功能