
IAM権限昇格、S3の露出、コンピューティング、ネットワーク、ログ記録、設定不備のチェックを網羅する30のモジュールを備え、Markdown形式の監査レポートを生成する自動AWSセキュリティ評価CLI。
認可された監査、ペネトレーションテスト、レッドチーム演習のための自動化された AWS クラウドセキュリティ評価フレームワーク。
AWS Pentest Tool は、アイデンティティリスク、パブリック露出、シークレット漏洩、脆弱な信頼関係、ログ記録の欠落、クラウドサービスの設定ミスについて AWS 環境を監査します。マルチモジュールの評価パイプラインを実行し、重大度の集計、証拠、概念実証コマンド、および修復ガイダンスを含むタイムスタンプ付きの Markdown レポートを生成します。
CLI は実践的なエンゲージメント作業向けに設計されています:
boto3 によるマルチリージョンの AWS 列挙reports/ に出力されるエグゼクティブ形式の Markdown レポート認可が必要です。このツールは、所有しているか、テストについて明示的な書面による許可を得ている AWS アカウントに対してのみ実行してください。
git clone https://github.com/capture0x/aws-pentest.git
cd aws-pentest
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
python3 aws_agent.py configure
python3 aws_agent.py audit --mode recon
より広範な評価を実行します:
python3 aws_agent.py audit --mode all --regions us-east-1,eu-west-1 --output reports
対象を絞ったサービススキャンを実行します:
python3 aws_agent.py scan-sts
python3 aws_agent.py scan-apigw --regions us-east-1,us-west-2
python3 aws_agent.py scan-dns --region us-east-1
| モード | スコープ | 推奨用途 |
|---|---|---|
recon | コアとなるID、ストレージ、コンピューティング、サーバーレス、ネットワーク、ログ記録、ガバナンスのチェック | 迅速な初期評価 |
loot | reconに加え、ネットワーク、RDS、KMS、シークレット、ECR、EBS、CloudTrailの詳細チェック | 機密データと露出のレビュー |
all | 利用可能な完全なスキャンパス | 完全なエンゲージメントまたは最終検証 |
例:
python3 aws_agent.py audit --mode all --profile security-audit --regions us-east-1,eu-west-1
| コマンド | 目的 |
|---|---|
configure | AWS 認証情報を 0600 権限のローカル .env ファイルに保存する |
audit | オーケストレーションされた完全な評価を実行し、Markdown レポートを生成する |
exploit-iam | IAM 権限昇格の検出結果と概念実証コマンドを表示する |
exploit-s3 | バケットごとの S3 露出と悪用のヒントを表示する |
backdoor-create | 永続的な IAM 管理者ユーザーを作成する。破壊的であり、確認によって保護されている |
| コマンド | モジュール | 主なチェック項目 |
|---|---|---|
scan-sts | STS クロスアカウント | リスクの高い信頼ポリシー、脆弱な ExternalId の態勢、OIDC プロバイダー、ロールチェーン |
scan-apigw | API Gateway | 認証の欠如、脆弱なリソースポリシー、WAF のギャップ、JWT/CORS の問題 |
scan-cognito | Cognito | 未認証の ID プール、脆弱な MFA 態勢、アプリクライアントの露出 |
scan-dynamodb | DynamoDB | 暗号化、PITR、ストリーム、リソースポリシー |
scan-sqs-sns | SQS / SNS | パブリックポリシー、HTTP サブスクリプション、サーバー側暗号化の欠如 |
scan-cfn | CloudFormation | シークレット出力、スタックロールの権限リスク、ドリフト |
scan-dns | Route53 | サブドメイン乗っ取りの候補、DNSSEC、NS 委任リスク |
scan-codebuild | CodeBuild / CodePipeline | 平文のシークレット、特権モード、アーティファクトの暗号化 |
scan-waf | AWS WAF | デフォルトアクション、マネージドルールの欠如、レート制限、ログ記録 |
scan-scp | AWS Organizations SCP | ガードレールのカバレッジ、重要な拒否の欠如、組織メンバーシップ |
scan-sfn | Step Functions / EventBridge | パブリックイベントバス、クロスアカウントターゲット、ステートマシンのログ記録とシークレット |
python3 aws_agent.py audit --mode recon
python3 aws_agent.py audit --mode all --regions us-east-1,eu-west-1 --output /tmp/audit
python3 aws_agent.py audit --mode recon --auto-backdoor --verbose
python3 aws_agent.py exploit-iam --identity user/pentest-user
python3 aws_agent.py exploit-iam --auto-assume-role
python3 aws_agent.py exploit-s3 --bucket example-bucket
python3 aws_agent.py backdoor-create --dry-run
python3 aws_agent.py backdoor-create --user-name authorized-test-admin
| # | 領域 | モジュールファイル | 主要チェック項目 |
|---|---|---|---|
| 00 | アカウントコンテキスト | account.py | 呼び出し元のID、アカウントエイリアス、パスワードポリシー |
| 01 | IAM 権限昇格 | iam.py | ワイルドカード、PassRole、AssumeRole、CreateAccessKey、危険なアクション |
| 02 | S3 アクセス制御 | s3.py, s3_website.py | パブリックバケット、ウェブサイト公開、パブリック書き込み、乗っ取りリスク |
| 03 | コンピュートインベントリ | compute.py | EC2 および Lambda のインベントリ、user-data 内のシークレット指標 |
| 04 | ネットワークセキュリティグループ | network_sg.py | インターネットに公開された管理ポート、IPv4/IPv6 の公開 |
| 05 | ログ記録体制 | logging.py | CloudTrail、GuardDuty、Config、VPC Flow Logs |
| 06 | RDS / KMS / Secrets | rds.py, rds_enum.py, kms_secrets.py | パブリック RDS、スナップショット、KMS キー、Secrets Manager、SSM パラメータ |
| 07 | Lambda 分析 | lambda_analysis.py | 関数 URL、環境変数内のシークレット、パブリック呼び出し、実行ロールのリスク |
| 08 | EKS 分析 | eks_analysis.py | パブリック API エンドポイント、監査ログ、コントロールプレーンの公開 |
| 09 | CloudTrail 外部流出 | cloudtrail_exfil.py | パブリックログバケット、クロスアカウントアクセス、未暗号化ログ |
| 10 | EBS スナップショット | ebs_snapshots.py | パブリック/共有スナップショット、暗号化体制 |
| 11 | S3 サブドメイン | s3_subdomain.py | バケット乗っ取りおよびダングリング CNAME のチェック |
| 12 | S3 Git アーティファクト | s3_git_detector.py | S3 内に公開された .git オブジェクト |
| 13 | ECR コンテナ | ecr_analysis.py | パブリックリポジトリ、イメージスキャン、可変タグ |
| 14 | IAM バックドア | iam_backdoor.py | ドライランで保護された永続化の検証 |
| 15 | IMDS 列挙 | imds_enum.py | IMDSv1/v2、ロール認証情報、user-data 内のシークレット |
| 16 | SSM 管理 EC2 | ssm_ec2.py | 管理対象インスタンス、Run Command の経路 |
| 17 | S3 バージョン履歴 | s3_versions.py | 削除オブジェクトの復元、不審な過去バージョン |
| 18 | Amazon MQ | mq_enum.py | ブローカーの公開、ユーザー、バージョン指標 |
| 19 | STS クロスアカウント | sts_cross_account.py | 信頼ポリシーの弱点、OIDC 条件、ロールチェーン |
| 20 | API Gateway | api_gateway.py | 認証バイパス、WAF のギャップ、リソースポリシー、CORS |
| 21 | Cognito | cognito.py | ID プール、未認証アクセス、MFA ポリシー |
| 22 | DynamoDB | dynamodb.py | 暗号化、ストリーム、PITR、アクセスポリシー |
| 23 | SQS / SNS | sqs_sns.py | パブリックなキュー/トピックポリシー、エンドポイント漏洩、SSE |
| 24 | CloudFormation | cloudformation.py | シークレット出力、スタックロールの権限、ドリフト |
| 25 | Route53 / DNS | route53.py | 乗っ取り候補、DNSSEC、NS 委任 |
| 26 | CodeBuild / Pipeline | codebuild_pipeline.py | 平文の環境変数シークレット、buildspec 内のシークレット、特権ビルド |
| 27 | WAF 分析 | waf_analysis.py | デフォルト許可、マネージドルールの欠落、レート制限、ログ記録 |
| 28 | SCP 監査 | scp_audit.py | AWS Organizations のガードレールカバレッジ |
| 29 | Step Functions / EventBridge | stepfunctions_eventbridge.py | パブリックバス、クロスアカウントターゲット、ログ記録のギャップ、ハードコードされたシークレット |
各 audit 実行はタイムスタンプ付きの Markdown レポートを生成します:
reports/aws_audit_report_YYYYMMDD_HHMMSS.md
レポートには以下が含まれます:
トップレベルのレポートセクション:
1. Account Information
2. IAM Identity & Access
3. STS Cross-Account Trust Analysis
4. S3 Storage
5. Compute - EC2
6. Network Exposure & Security Groups
7. Lambda Function Analysis
8. EKS Cluster Analysis
9. ECR Container Analysis
10. Instance Metadata (IMDS) & Credential Exposure
11. SSM-Managed EC2
12. RDS Databases & Snapshots
13. KMS / Secrets Manager / SSM Parameters
14. EBS Snapshot Exposure
15. CloudTrail Exfiltration Risks
16. Logging & Detection Posture
17. Amazon MQ / ActiveMQ
18. API Gateway Security
19. Cognito / Identity Pool Analysis
20. DynamoDB Security
21. SQS / SNS Security
22. CloudFormation Security
23. Route53 / DNS Security
24. CodeBuild / CodePipeline Secret Exposure
25. AWS WAF Rule Analysis
26. Service Control Policy Audit
27. Step Functions / EventBridge Exposure
28. Consolidated Recommendations
29. Auto-Backdoor Capability Assessment