
IAM 권한 상승, S3 노출, 컴퓨팅, 네트워크, 로깅 및 잘못된 구성 점검을 다루는 30개 모듈을 갖춘 자동화된 AWS 보안 평가 CLI로, Markdown 감사 보고서를 생성합니다.
승인된 감사, 침투 테스트, 레드팀 작업을 위한 자동화된 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 | 핵심 자격 증명, 스토리지, 컴퓨팅, 서버리스, 네트워크, 로깅 및 거버넌스 검사 | 신속한 초기 평가 |
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 | 인증되지 않은 자격 증명 풀, 취약한 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 | 호출자 신원, 계정 별칭, 비밀번호 정책 |
| 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 | 버킷 탈취 및 dangling 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 | 자격 증명 풀, 비인증 접근, 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
╭────────────────────────────────────────────╮
│ AWS Cloud Security Audit │
│ Profile: default/env Region: us-east-1 │
╰────────────────────────────────────────────╯
Audit complete ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 33/33 0:02:14
Assessment Overview