rtexit-method 0.1.0 → 0.1.2
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 +9 -7
- package/packaged-assets/.agents/skills/rt-active-recon/SKILL.md +767 -0
- package/packaged-assets/.agents/skills/rt-active-recon/workflow.md +68 -0
- package/packaged-assets/.agents/skills/rt-agent-breaker/SKILL.md +65 -0
- package/packaged-assets/.agents/skills/rt-agent-breaker/customize.toml +76 -0
- package/packaged-assets/.agents/skills/rt-agent-commander/SKILL.md +63 -0
- package/packaged-assets/.agents/skills/rt-agent-commander/customize.toml +67 -0
- package/packaged-assets/.agents/skills/rt-agent-ghost/SKILL.md +65 -0
- package/packaged-assets/.agents/skills/rt-agent-ghost/customize.toml +77 -0
- package/packaged-assets/.agents/skills/rt-agent-navigator/SKILL.md +62 -0
- package/packaged-assets/.agents/skills/rt-agent-navigator/customize.toml +61 -0
- package/packaged-assets/.agents/skills/rt-agent-phantom/SKILL.md +62 -0
- package/packaged-assets/.agents/skills/rt-agent-phantom/customize.toml +62 -0
- package/packaged-assets/.agents/skills/rt-agent-scout/SKILL.md +62 -0
- package/packaged-assets/.agents/skills/rt-agent-scout/customize.toml +61 -0
- package/packaged-assets/.agents/skills/rt-agent-scribe/SKILL.md +65 -0
- package/packaged-assets/.agents/skills/rt-agent-scribe/customize.toml +77 -0
- package/packaged-assets/.agents/skills/rt-attack-chain-builder/SKILL.md +476 -0
- package/packaged-assets/.agents/skills/rt-attack-chain-builder/workflow.md +68 -0
- package/packaged-assets/.agents/skills/rt-attack-surface-map/SKILL.md +1209 -0
- package/packaged-assets/.agents/skills/rt-attack-surface-map/template.md +62 -0
- package/packaged-assets/.agents/skills/rt-autodoc/SKILL.md +258 -0
- package/packaged-assets/.agents/skills/rt-c2-operations/SKILL.md +1072 -0
- package/packaged-assets/.agents/skills/rt-c2-operations/workflow.md +68 -0
- package/packaged-assets/.agents/skills/rt-compliance-mapper/SKILL.md +773 -0
- package/packaged-assets/.agents/skills/rt-create-sead/SKILL.md +74 -0
- package/packaged-assets/.agents/skills/rt-create-sead/template.md +89 -0
- package/packaged-assets/.agents/skills/rt-create-sead/workflow.md +68 -0
- package/packaged-assets/.agents/skills/rt-credential-access/SKILL.md +756 -0
- package/packaged-assets/.agents/skills/rt-credential-hunt/SKILL.md +856 -0
- package/packaged-assets/.agents/skills/rt-credential-hunt/workflow.md +68 -0
- package/packaged-assets/.agents/skills/rt-cvss-calculator/SKILL.md +542 -0
- package/packaged-assets/.agents/skills/rt-cvss-calculator/cvss4-matrix.csv +20 -0
- package/packaged-assets/.agents/skills/rt-data-exfiltration/SKILL.md +784 -0
- package/packaged-assets/.agents/skills/rt-defense-evasion/SKILL.md +987 -0
- package/packaged-assets/.agents/skills/rt-evidence-chain/SKILL.md +712 -0
- package/packaged-assets/.agents/skills/rt-evidence-chain/template.md +31 -0
- package/packaged-assets/.agents/skills/rt-executive-report/SKILL.md +718 -0
- package/packaged-assets/.agents/skills/rt-executive-report/template.md +38 -0
- package/packaged-assets/.agents/skills/rt-executive-report/workflow.md +68 -0
- package/packaged-assets/.agents/skills/rt-exploit-active-directory/SKILL.md +1078 -0
- package/packaged-assets/.agents/skills/rt-exploit-active-directory/ad-checklist.csv +12 -0
- package/packaged-assets/.agents/skills/rt-exploit-active-directory/workflow.md +68 -0
- package/packaged-assets/.agents/skills/rt-exploit-android/SKILL.md +1329 -0
- package/packaged-assets/.agents/skills/rt-exploit-android/masvs-checklist.csv +10 -0
- package/packaged-assets/.agents/skills/rt-exploit-android/workflow.md +68 -0
- package/packaged-assets/.agents/skills/rt-exploit-api/SKILL.md +1547 -0
- package/packaged-assets/.agents/skills/rt-exploit-api/workflow.md +68 -0
- package/packaged-assets/.agents/skills/rt-exploit-auth/SKILL.md +1949 -0
- package/packaged-assets/.agents/skills/rt-exploit-auth/workflow.md +68 -0
- package/packaged-assets/.agents/skills/rt-exploit-bec/SKILL.md +69 -0
- package/packaged-assets/.agents/skills/rt-exploit-cloud-aws/SKILL.md +865 -0
- package/packaged-assets/.agents/skills/rt-exploit-cloud-aws/workflow.md +68 -0
- package/packaged-assets/.agents/skills/rt-exploit-cloud-azure/SKILL.md +1258 -0
- package/packaged-assets/.agents/skills/rt-exploit-cloud-gcp/SKILL.md +981 -0
- package/packaged-assets/.agents/skills/rt-exploit-containers/SKILL.md +55 -0
- package/packaged-assets/.agents/skills/rt-exploit-databases/SKILL.md +1374 -0
- package/packaged-assets/.agents/skills/rt-exploit-desktop-mac/SKILL.md +834 -0
- package/packaged-assets/.agents/skills/rt-exploit-desktop-win/SKILL.md +903 -0
- package/packaged-assets/.agents/skills/rt-exploit-desktop-win/workflow.md +68 -0
- package/packaged-assets/.agents/skills/rt-exploit-dotnet/SKILL.md +945 -0
- package/packaged-assets/.agents/skills/rt-exploit-elasticsearch/SKILL.md +68 -0
- package/packaged-assets/.agents/skills/rt-exploit-electron/SKILL.md +1023 -0
- package/packaged-assets/.agents/skills/rt-exploit-electron/workflow.md +68 -0
- package/packaged-assets/.agents/skills/rt-exploit-file-upload/SKILL.md +1576 -0
- package/packaged-assets/.agents/skills/rt-exploit-file-upload/payloads/README.md +4 -0
- package/packaged-assets/.agents/skills/rt-exploit-file-upload/workflow.md +68 -0
- package/packaged-assets/.agents/skills/rt-exploit-firebase/SKILL.md +54 -0
- package/packaged-assets/.agents/skills/rt-exploit-frameworks/SKILL.md +967 -0
- package/packaged-assets/.agents/skills/rt-exploit-idor/SKILL.md +1693 -0
- package/packaged-assets/.agents/skills/rt-exploit-idor/workflow.md +68 -0
- package/packaged-assets/.agents/skills/rt-exploit-injection/SKILL.md +1860 -0
- package/packaged-assets/.agents/skills/rt-exploit-injection/payloads/sqlmap-tampers.txt +22 -0
- package/packaged-assets/.agents/skills/rt-exploit-injection/workflow.md +68 -0
- package/packaged-assets/.agents/skills/rt-exploit-ios/SKILL.md +1214 -0
- package/packaged-assets/.agents/skills/rt-exploit-ios/workflow.md +68 -0
- package/packaged-assets/.agents/skills/rt-exploit-iot/SKILL.md +91 -0
- package/packaged-assets/.agents/skills/rt-exploit-iot/workflow.md +68 -0
- package/packaged-assets/.agents/skills/rt-exploit-java/SKILL.md +1009 -0
- package/packaged-assets/.agents/skills/rt-exploit-jwt/SKILL.md +1327 -0
- package/packaged-assets/.agents/skills/rt-exploit-jwt/workflow.md +68 -0
- package/packaged-assets/.agents/skills/rt-exploit-mongodb/SKILL.md +67 -0
- package/packaged-assets/.agents/skills/rt-exploit-mssql/SKILL.md +52 -0
- package/packaged-assets/.agents/skills/rt-exploit-mysql/SKILL.md +53 -0
- package/packaged-assets/.agents/skills/rt-exploit-network/SKILL.md +118 -0
- package/packaged-assets/.agents/skills/rt-exploit-network/workflow.md +68 -0
- package/packaged-assets/.agents/skills/rt-exploit-nodejs/SKILL.md +852 -0
- package/packaged-assets/.agents/skills/rt-exploit-osticket/SKILL.md +63 -0
- package/packaged-assets/.agents/skills/rt-exploit-phishing/SKILL.md +173 -0
- package/packaged-assets/.agents/skills/rt-exploit-phishing/templates/README.md +4 -0
- package/packaged-assets/.agents/skills/rt-exploit-phishing/workflow.md +68 -0
- package/packaged-assets/.agents/skills/rt-exploit-php/SKILL.md +1119 -0
- package/packaged-assets/.agents/skills/rt-exploit-physical/SKILL.md +63 -0
- package/packaged-assets/.agents/skills/rt-exploit-physical/workflow.md +68 -0
- package/packaged-assets/.agents/skills/rt-exploit-postgresql/SKILL.md +67 -0
- package/packaged-assets/.agents/skills/rt-exploit-python/SKILL.md +986 -0
- package/packaged-assets/.agents/skills/rt-exploit-redis/SKILL.md +68 -0
- package/packaged-assets/.agents/skills/rt-exploit-ruby/SKILL.md +61 -0
- package/packaged-assets/.agents/skills/rt-exploit-scada/SKILL.md +1091 -0
- package/packaged-assets/.agents/skills/rt-exploit-ssrf/SKILL.md +1528 -0
- package/packaged-assets/.agents/skills/rt-exploit-ssrf/payloads.txt +23 -0
- package/packaged-assets/.agents/skills/rt-exploit-ssrf/workflow.md +68 -0
- package/packaged-assets/.agents/skills/rt-exploit-vishing/SKILL.md +121 -0
- package/packaged-assets/.agents/skills/rt-exploit-vishing/scripts.md +4 -0
- package/packaged-assets/.agents/skills/rt-exploit-web/SKILL.md +1902 -0
- package/packaged-assets/.agents/skills/rt-exploit-web/owasp-checklist.csv +14 -0
- package/packaged-assets/.agents/skills/rt-exploit-web/workflow.md +68 -0
- package/packaged-assets/.agents/skills/rt-exploit-wireless/SKILL.md +71 -0
- package/packaged-assets/.agents/skills/rt-exploit-wordpress/SKILL.md +1565 -0
- package/packaged-assets/.agents/skills/rt-exploit-wordpress/cves.csv +7 -0
- package/packaged-assets/.agents/skills/rt-exploit-wordpress/workflow.md +68 -0
- package/packaged-assets/.agents/skills/rt-exploit-xss/SKILL.md +1526 -0
- package/packaged-assets/.agents/skills/rt-exploit-xss/payloads.txt +18 -0
- package/packaged-assets/.agents/skills/rt-exploit-xss/workflow.md +68 -0
- package/packaged-assets/.agents/skills/rt-finding-document/SKILL.md +687 -0
- package/packaged-assets/.agents/skills/rt-finding-document/template.md +71 -0
- package/packaged-assets/.agents/skills/rt-finding-document/workflow.md +68 -0
- package/packaged-assets/.agents/skills/rt-finding-tracker/SKILL.md +216 -0
- package/packaged-assets/.agents/skills/rt-finding-tracker/workflow.md +68 -0
- package/packaged-assets/.agents/skills/rt-help/SKILL.md +292 -0
- package/packaged-assets/.agents/skills/rt-help/workflow.md +68 -0
- package/packaged-assets/.agents/skills/rt-js-analysis/SKILL.md +639 -0
- package/packaged-assets/.agents/skills/rt-js-analysis/patterns.txt +27 -0
- package/packaged-assets/.agents/skills/rt-js-analysis/workflow.md +68 -0
- package/packaged-assets/.agents/skills/rt-kill-chain-map/SKILL.md +393 -0
- package/packaged-assets/.agents/skills/rt-lateral-movement/SKILL.md +1032 -0
- package/packaged-assets/.agents/skills/rt-lateral-movement/workflow.md +68 -0
- package/packaged-assets/.agents/skills/rt-methodology-selector/SKILL.md +69 -0
- package/packaged-assets/.agents/skills/rt-methodology-selector/frameworks.csv +10 -0
- package/packaged-assets/.agents/skills/rt-methodology-selector/workflow.md +68 -0
- package/packaged-assets/.agents/skills/rt-mitre-map/SKILL.md +668 -0
- package/packaged-assets/.agents/skills/rt-mitre-map/tactics.csv +16 -0
- package/packaged-assets/.agents/skills/rt-mitre-map/workflow.md +68 -0
- package/packaged-assets/.agents/skills/rt-osint/SKILL.md +775 -0
- package/packaged-assets/.agents/skills/rt-osint/osint-sources.csv +12 -0
- package/packaged-assets/.agents/skills/rt-osint/workflow.md +68 -0
- package/packaged-assets/.agents/skills/rt-party-mode/SKILL.md +249 -0
- package/packaged-assets/.agents/skills/rt-party-mode/workflow.md +68 -0
- package/packaged-assets/.agents/skills/rt-persistence/SKILL.md +1146 -0
- package/packaged-assets/.agents/skills/rt-persistence/workflow.md +68 -0
- package/packaged-assets/.agents/skills/rt-poc-writer/SKILL.md +640 -0
- package/packaged-assets/.agents/skills/rt-post-exploitation/SKILL.md +998 -0
- package/packaged-assets/.agents/skills/rt-post-exploitation/linux-checklist.csv +10 -0
- package/packaged-assets/.agents/skills/rt-post-exploitation/windows-checklist.csv +10 -0
- package/packaged-assets/.agents/skills/rt-post-exploitation/workflow.md +68 -0
- package/packaged-assets/.agents/skills/rt-privilege-escalation/SKILL.md +1027 -0
- package/packaged-assets/.agents/skills/rt-privilege-escalation/linux-checklist.csv +10 -0
- package/packaged-assets/.agents/skills/rt-privilege-escalation/win-checklist.csv +10 -0
- package/packaged-assets/.agents/skills/rt-privilege-escalation/workflow.md +68 -0
- package/packaged-assets/.agents/skills/rt-remediation-roadmap/SKILL.md +665 -0
- package/packaged-assets/.agents/skills/rt-remediation-roadmap/template.md +28 -0
- package/packaged-assets/.agents/skills/rt-risk-matrix/SKILL.md +232 -0
- package/packaged-assets/.agents/skills/rt-rules-of-engagement/SKILL.md +62 -0
- package/packaged-assets/.agents/skills/rt-rules-of-engagement/workflow.md +68 -0
- package/packaged-assets/.agents/skills/rt-scenario-c001/SKILL.md +71 -0
- package/packaged-assets/.agents/skills/rt-scenario-c002/SKILL.md +69 -0
- package/packaged-assets/.agents/skills/rt-scenario-c003/SKILL.md +71 -0
- package/packaged-assets/.agents/skills/rt-scenario-c004/SKILL.md +71 -0
- package/packaged-assets/.agents/skills/rt-scenario-c005/SKILL.md +72 -0
- package/packaged-assets/.agents/skills/rt-scenario-d001/SKILL.md +378 -0
- package/packaged-assets/.agents/skills/rt-scenario-d002/SKILL.md +392 -0
- package/packaged-assets/.agents/skills/rt-scenario-d003/SKILL.md +522 -0
- package/packaged-assets/.agents/skills/rt-scenario-d004/SKILL.md +373 -0
- package/packaged-assets/.agents/skills/rt-scenario-d005/SKILL.md +458 -0
- package/packaged-assets/.agents/skills/rt-scenario-library/SKILL.md +292 -0
- package/packaged-assets/.agents/skills/rt-scenario-library/scenarios.csv +32 -0
- package/packaged-assets/.agents/skills/rt-scenario-m001/SKILL.md +796 -0
- package/packaged-assets/.agents/skills/rt-scenario-m002/SKILL.md +723 -0
- package/packaged-assets/.agents/skills/rt-scenario-m003/SKILL.md +463 -0
- package/packaged-assets/.agents/skills/rt-scenario-m004/SKILL.md +449 -0
- package/packaged-assets/.agents/skills/rt-scenario-m005/SKILL.md +505 -0
- package/packaged-assets/.agents/skills/rt-scenario-n001/SKILL.md +573 -0
- package/packaged-assets/.agents/skills/rt-scenario-n002/SKILL.md +112 -0
- package/packaged-assets/.agents/skills/rt-scenario-n003/SKILL.md +100 -0
- package/packaged-assets/.agents/skills/rt-scenario-n004/SKILL.md +90 -0
- package/packaged-assets/.agents/skills/rt-scenario-n005/SKILL.md +71 -0
- package/packaged-assets/.agents/skills/rt-scenario-w001/SKILL.md +635 -0
- package/packaged-assets/.agents/skills/rt-scenario-w002/SKILL.md +612 -0
- package/packaged-assets/.agents/skills/rt-scenario-w003/SKILL.md +449 -0
- package/packaged-assets/.agents/skills/rt-scenario-w004/SKILL.md +648 -0
- package/packaged-assets/.agents/skills/rt-scenario-w005/SKILL.md +479 -0
- package/packaged-assets/.agents/skills/rt-scenario-w006/SKILL.md +443 -0
- package/packaged-assets/.agents/skills/rt-scenario-w007/SKILL.md +494 -0
- package/packaged-assets/.agents/skills/rt-scenario-w008/SKILL.md +576 -0
- package/packaged-assets/.agents/skills/rt-scenario-w009/SKILL.md +518 -0
- package/packaged-assets/.agents/skills/rt-scenario-w010/SKILL.md +574 -0
- package/packaged-assets/.agents/skills/rt-scope-definition/SKILL.md +79 -0
- package/packaged-assets/.agents/skills/rt-scope-definition/workflow.md +68 -0
- package/packaged-assets/.agents/skills/rt-shodan-recon/SKILL.md +880 -0
- package/packaged-assets/.agents/skills/rt-status/SKILL.md +64 -0
- package/packaged-assets/.agents/skills/rt-subdomain-enum/SKILL.md +906 -0
- package/packaged-assets/.agents/skills/rt-subdomain-enum/workflow.md +68 -0
- package/packaged-assets/.agents/skills/rt-technical-report/SKILL.md +710 -0
- package/packaged-assets/.agents/skills/rt-technical-report/template.md +41 -0
- package/packaged-assets/.agents/skills/rt-technical-report/workflow.md +68 -0
- package/packaged-assets/.agents/skills/rt-threat-model/SKILL.md +59 -0
- package/packaged-assets/.agents/skills/rt-threat-model/template.md +32 -0
- package/packaged-assets/.agents/skills/rt-threat-model/workflow.md +68 -0
- package/packaged-assets/.agents/skills/rt-timeline/SKILL.md +338 -0
- package/packaged-assets/RTEXIT.md +127 -0
- package/tools/installer/commands/install.js +0 -1
- package/tools/installer/lib/asset-manifest.js +10 -5
- package/tools/installer/lib/banner.js +14 -6
- package/tools/installer/lib/copy-assets.js +5 -2
- package/tools/installer/lib/prompts.js +1 -11
- package/tools/installer/lib/write-config.js +8 -2
- /package/{_rtexit → packaged-assets/_rtexit}/config.toml +0 -0
- /package/{_rtexit → packaged-assets/_rtexit}/config.user.toml +0 -0
- /package/{_rtexit → packaged-assets/_rtexit}/custom/config.toml +0 -0
- /package/{_rtexit → packaged-assets/_rtexit}/scripts/autodoc_engine.py +0 -0
- /package/{_rtexit → packaged-assets/_rtexit}/scripts/finding_tracker.py +0 -0
- /package/{_rtexit → packaged-assets/_rtexit}/scripts/resolve_config.py +0 -0
- /package/{_rtexit → packaged-assets/_rtexit}/scripts/resolve_customization.py +0 -0
- /package/{resources → packaged-assets/resources}/certifications.md +0 -0
- /package/{resources → packaged-assets/resources}/payloads.md +0 -0
- /package/{resources → packaged-assets/resources}/tools.md +0 -0
- /package/{resources → packaged-assets/resources}/wordlists.md +0 -0
- /package/{templates → packaged-assets/templates}/attack-chain-template.md +0 -0
- /package/{templates → packaged-assets/templates}/executive-report-template.md +0 -0
- /package/{templates → packaged-assets/templates}/executive-report.md +0 -0
- /package/{templates → packaged-assets/templates}/finding-template.md +0 -0
- /package/{templates → packaged-assets/templates}/remediation-roadmap.md +0 -0
- /package/{templates → packaged-assets/templates}/sead-template.md +0 -0
- /package/{templates → packaged-assets/templates}/technical-report.md +0 -0
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Remediation Roadmap Template
|
|
2
|
+
|
|
3
|
+
## Prioritization Logic
|
|
4
|
+
|
|
5
|
+
Prioritize by severity, exploitability, internet exposure, affected data, dependency chains, and business owner urgency.
|
|
6
|
+
|
|
7
|
+
| Priority | Finding | Severity | Owner | Action | Timeline | Validation |
|
|
8
|
+
|---:|---|---|---|---|---|---|
|
|
9
|
+
| 1 | F-XXX | Critical | [team] | [action] | 0-7 days | [test] |
|
|
10
|
+
|
|
11
|
+
## Immediate: 0-7 Days
|
|
12
|
+
|
|
13
|
+
- [ ] Contain externally exposed critical issues.
|
|
14
|
+
- [ ] Rotate exposed secrets.
|
|
15
|
+
- [ ] Disable vulnerable functionality if required.
|
|
16
|
+
|
|
17
|
+
## Short Term: 8-30 Days
|
|
18
|
+
|
|
19
|
+
- [ ] Patch affected components.
|
|
20
|
+
- [ ] Add authorization and input validation tests.
|
|
21
|
+
- [ ] Harden identity and network controls.
|
|
22
|
+
|
|
23
|
+
## Long Term: 31-90 Days
|
|
24
|
+
|
|
25
|
+
- [ ] Add secure SDLC guardrails.
|
|
26
|
+
- [ ] Add attack surface monitoring.
|
|
27
|
+
- [ ] Add recurring control validation.
|
|
28
|
+
|
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: rt-risk-matrix
|
|
3
|
+
description: "Generate risk matrix (Likelihood x Impact) for all engagement findings. Plots each finding on 5x5 risk grid, calculates residual risk, and produces executive heat map visualization. Shows risk distribution and helps prioritize remediation. Uses CVSS scores as input and adds business context."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# rt-risk-matrix Skill
|
|
7
|
+
|
|
8
|
+
## Purpose and When to Use
|
|
9
|
+
|
|
10
|
+
The `rt-risk-matrix` skill generates a structured risk matrix for all findings produced during an RTExit engagement. It translates raw technical findings (CVSS scores, vulnerability classifications) into a business-contextualized risk view by plotting each finding on a 5x5 Likelihood x Impact grid, calculating residual risk scores, and producing an executive-ready heat map visualization.
|
|
11
|
+
|
|
12
|
+
Use this skill when:
|
|
13
|
+
|
|
14
|
+
- An engagement is complete or near-complete and findings need to be prioritized for the client.
|
|
15
|
+
- The client requires an executive summary with visual risk communication (heat map).
|
|
16
|
+
- You need to calculate residual risk after applying existing or proposed controls.
|
|
17
|
+
- Remediation prioritization is needed across a large set of heterogeneous findings.
|
|
18
|
+
- A risk register deliverable is required as part of the reporting package.
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## Step-by-Step Workflow
|
|
23
|
+
|
|
24
|
+
### Step 1: Gather Findings Input
|
|
25
|
+
|
|
26
|
+
Collect all findings from the engagement. Accepted input formats:
|
|
27
|
+
|
|
28
|
+
- JSON findings export from RTExit pipeline (`findings.json`)
|
|
29
|
+
- CVSS vector strings (v3.0 or v3.1) per finding
|
|
30
|
+
- Manual finding entries with title, description, likelihood, and impact ratings
|
|
31
|
+
|
|
32
|
+
Each finding should include at minimum:
|
|
33
|
+
|
|
34
|
+
- Finding ID or title
|
|
35
|
+
- CVSS base score (or manual likelihood/impact values)
|
|
36
|
+
- Affected asset or component
|
|
37
|
+
- Existing controls (if any, for residual risk calculation)
|
|
38
|
+
|
|
39
|
+
### Step 2: Map CVSS to Likelihood and Impact
|
|
40
|
+
|
|
41
|
+
The skill decomposes CVSS scores into the two matrix axes:
|
|
42
|
+
|
|
43
|
+
| CVSS Range | Risk Level | Matrix Value |
|
|
44
|
+
|------------|------------|--------------|
|
|
45
|
+
| 9.0 - 10.0 | Critical | 5 |
|
|
46
|
+
| 7.0 - 8.9 | High | 4 |
|
|
47
|
+
| 4.0 - 6.9 | Medium | 3 |
|
|
48
|
+
| 2.0 - 3.9 | Low | 2 |
|
|
49
|
+
| 0.0 - 1.9 | Informational | 1 |
|
|
50
|
+
|
|
51
|
+
Likelihood derives from CVSS Attack Vector, Attack Complexity, and Privileges Required sub-scores. Impact derives from Confidentiality, Integrity, and Availability impact sub-scores.
|
|
52
|
+
|
|
53
|
+
If CVSS is unavailable, prompt for manual 1-5 ratings on each axis.
|
|
54
|
+
|
|
55
|
+
### Step 3: Plot the 5x5 Risk Grid
|
|
56
|
+
|
|
57
|
+
Each finding is placed on the grid using coordinates (Likelihood, Impact). The resulting heat map zones are:
|
|
58
|
+
|
|
59
|
+
```
|
|
60
|
+
Impact
|
|
61
|
+
5 | MED HIGH CRIT CRIT CRIT
|
|
62
|
+
4 | LOW MED HIGH CRIT CRIT
|
|
63
|
+
3 | LOW LOW MED HIGH CRIT
|
|
64
|
+
2 | LOW LOW LOW MED HIGH
|
|
65
|
+
1 | LOW LOW LOW LOW MED
|
|
66
|
+
1 2 3 4 5 --> Likelihood
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
Color zones:
|
|
70
|
+
- CRIT (red): Immediate action required
|
|
71
|
+
- HIGH (orange): Action within sprint/week
|
|
72
|
+
- MED (yellow): Action within release cycle
|
|
73
|
+
- LOW (green): Accept or defer
|
|
74
|
+
|
|
75
|
+
### Step 4: Calculate Residual Risk
|
|
76
|
+
|
|
77
|
+
For each finding, apply existing controls to reduce the inherent risk:
|
|
78
|
+
|
|
79
|
+
- Identify compensating controls from asset inventory or client input.
|
|
80
|
+
- Apply control effectiveness rating (None / Partial / Effective).
|
|
81
|
+
- Recalculate likelihood and/or impact after control application.
|
|
82
|
+
- Plot residual risk position on a second overlay of the same grid.
|
|
83
|
+
|
|
84
|
+
Residual risk score formula:
|
|
85
|
+
|
|
86
|
+
```
|
|
87
|
+
Residual Risk = Inherent Risk x (1 - Control Effectiveness %)
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
Control effectiveness mappings:
|
|
91
|
+
|
|
92
|
+
| Control State | Effectiveness |
|
|
93
|
+
|---------------|---------------|
|
|
94
|
+
| None | 0% |
|
|
95
|
+
| Partial | 30% |
|
|
96
|
+
| Effective | 60% |
|
|
97
|
+
| Strong | 80% |
|
|
98
|
+
|
|
99
|
+
### Step 5: Produce Heat Map Visualization
|
|
100
|
+
|
|
101
|
+
Generate a text-based or exportable heat map suitable for the report:
|
|
102
|
+
|
|
103
|
+
- ASCII grid for inline report embedding.
|
|
104
|
+
- Finding IDs annotated at their grid coordinates.
|
|
105
|
+
- Separate overlays for inherent and residual risk.
|
|
106
|
+
- Legend with finding ID to title mapping.
|
|
107
|
+
|
|
108
|
+
### Step 6: Generate Risk Distribution Summary
|
|
109
|
+
|
|
110
|
+
Produce a summary table showing finding counts per risk zone:
|
|
111
|
+
|
|
112
|
+
```
|
|
113
|
+
Zone | Inherent Count | Residual Count | Delta
|
|
114
|
+
-------------|----------------|----------------|------
|
|
115
|
+
Critical | X | X | -X
|
|
116
|
+
High | X | X | -X
|
|
117
|
+
Medium | X | X | -X
|
|
118
|
+
Low | X | X | -X
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
### Step 7: Output Remediation Priority List
|
|
122
|
+
|
|
123
|
+
Sort all findings by risk score (descending) and output a prioritized remediation list:
|
|
124
|
+
|
|
125
|
+
- Finding ID, title, risk zone, recommended action, and suggested timeline.
|
|
126
|
+
- Flag any findings where residual risk remains Critical after controls.
|
|
127
|
+
|
|
128
|
+
---
|
|
129
|
+
|
|
130
|
+
## Integration with RTExit Scripts and Other Skills
|
|
131
|
+
|
|
132
|
+
### RTExit Script Integration
|
|
133
|
+
|
|
134
|
+
- `findings.json` — primary input; produced by the main RTExit evidence collection pipeline.
|
|
135
|
+
- `asset-inventory.json` — used to identify existing controls per asset for residual risk calculation.
|
|
136
|
+
- `report-builder` script — consumes the risk matrix output (`risk-matrix.json`) to embed the heat map and priority table in the final report.
|
|
137
|
+
- `cvss-calculator` utility — invoked automatically if CVSS vectors are present and need decomposition.
|
|
138
|
+
|
|
139
|
+
### Skill Dependencies and Handoffs
|
|
140
|
+
|
|
141
|
+
| Skill | Relationship |
|
|
142
|
+
|-------|-------------|
|
|
143
|
+
| `rt-findings-classifier` | Run before this skill to ensure findings are categorized and CVSS-scored. |
|
|
144
|
+
| `rt-executive-summary` | Consumes the heat map and risk distribution table produced by this skill. |
|
|
145
|
+
| `rt-remediation-roadmap` | Ingests the prioritized finding list to build a phased remediation plan. |
|
|
146
|
+
| `rt-report-builder` | Embeds all outputs from this skill into the deliverable report. |
|
|
147
|
+
|
|
148
|
+
Recommended skill execution order:
|
|
149
|
+
|
|
150
|
+
```
|
|
151
|
+
rt-findings-classifier -> rt-risk-matrix -> rt-remediation-roadmap -> rt-executive-summary -> rt-report-builder
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
---
|
|
155
|
+
|
|
156
|
+
## Example Outputs and Interactions
|
|
157
|
+
|
|
158
|
+
### Example 1: Basic Invocation
|
|
159
|
+
|
|
160
|
+
User prompt:
|
|
161
|
+
> Run the risk matrix for this engagement. Findings are in findings.json.
|
|
162
|
+
|
|
163
|
+
Skill response:
|
|
164
|
+
> Loading 14 findings from findings.json. Mapping CVSS scores to likelihood/impact axes.
|
|
165
|
+
> Plotting 5x5 risk grid... done.
|
|
166
|
+
> Calculating residual risk using controls from asset-inventory.json... done.
|
|
167
|
+
> Risk distribution: Critical: 3, High: 5, Medium: 4, Low: 2.
|
|
168
|
+
> Heat map and priority list ready. Exporting risk-matrix.json and risk-heatmap.txt.
|
|
169
|
+
|
|
170
|
+
### Example 2: Manual Rating Input
|
|
171
|
+
|
|
172
|
+
When CVSS scores are absent, the skill prompts:
|
|
173
|
+
|
|
174
|
+
> Finding: "Unencrypted backup storage"
|
|
175
|
+
> No CVSS score found. Please rate:
|
|
176
|
+
> - Likelihood (1=Rare, 2=Unlikely, 3=Possible, 4=Likely, 5=Almost Certain): 3
|
|
177
|
+
> - Impact (1=Negligible, 2=Minor, 3=Moderate, 4=Major, 5=Catastrophic): 5
|
|
178
|
+
> Inherent risk zone: CRITICAL (3x5=15). Existing controls? (None/Partial/Effective/Strong): Partial
|
|
179
|
+
> Residual risk zone: HIGH (adjusted score: 10.5).
|
|
180
|
+
|
|
181
|
+
### Example 3: Heat Map Output (ASCII)
|
|
182
|
+
|
|
183
|
+
```
|
|
184
|
+
RISK HEAT MAP - ACME Corp Engagement (2026-05-31)
|
|
185
|
+
Inherent Risk | O = finding location
|
|
186
|
+
|
|
187
|
+
Impact
|
|
188
|
+
5 | . . F04 F01 F03
|
|
189
|
+
4 | . F12 F07 F02 .
|
|
190
|
+
3 | F14 F11 F08 F05 .
|
|
191
|
+
2 | F13 . F10 F09 .
|
|
192
|
+
1 | . . . . F06
|
|
193
|
+
1 2 3 4 5 Likelihood
|
|
194
|
+
|
|
195
|
+
Legend:
|
|
196
|
+
F01 - SQL Injection in login endpoint [CRITICAL]
|
|
197
|
+
F02 - Default credentials on admin panel [CRITICAL]
|
|
198
|
+
F03 - Remote code execution via file upload [CRITICAL]
|
|
199
|
+
...
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
### Example 4: Prioritized Remediation List Output
|
|
203
|
+
|
|
204
|
+
```
|
|
205
|
+
Priority | ID | Title | Zone | Action | Timeline
|
|
206
|
+
---------|-----|------------------------------------|----------|-----------------|----------
|
|
207
|
+
1 | F01 | SQL Injection in login endpoint | Critical | Patch & retest | Immediate
|
|
208
|
+
2 | F03 | RCE via file upload | Critical | Patch & retest | Immediate
|
|
209
|
+
3 | F02 | Default credentials on admin panel | Critical | Rotate & harden | 24 hours
|
|
210
|
+
4 | F05 | Outdated TLS configuration | High | Update config | 1 week
|
|
211
|
+
...
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
---
|
|
215
|
+
|
|
216
|
+
## Practical Usage Tips
|
|
217
|
+
|
|
218
|
+
- Run `rt-findings-classifier` first to ensure all findings have valid CVSS scores before invoking this skill. Missing scores cause manual prompting which slows execution.
|
|
219
|
+
|
|
220
|
+
- When clients have strong existing controls, request the control inventory upfront. Residual risk often shifts the priority conversation significantly in executive presentations.
|
|
221
|
+
|
|
222
|
+
- For engagements with more than 20 findings, group findings by asset or finding category before plotting. Overcrowded grids lose readability in executive reports.
|
|
223
|
+
|
|
224
|
+
- Always produce both inherent and residual heat maps. The delta between the two maps is often the most compelling visual for demonstrating the value of existing security investments.
|
|
225
|
+
|
|
226
|
+
- If a finding remains Critical after all controls are applied (residual risk still Critical), flag it explicitly in the executive summary as an unmitigated critical exposure requiring immediate escalation.
|
|
227
|
+
|
|
228
|
+
- The ASCII heat map is suitable for markdown reports and terminal output. For formal PDF deliverables, pass the `risk-matrix.json` output to the `rt-report-builder` skill which renders a styled visual version.
|
|
229
|
+
|
|
230
|
+
- Business context matters. After the technical risk calculation, review each Critical and High finding with the client's business impact in mind. A Critical technical finding on a non-production, air-gapped system may be re-rated once business context is applied. Document any manual overrides with justification.
|
|
231
|
+
|
|
232
|
+
- Save `risk-matrix.json` to the engagement archive. It serves as the baseline for future engagements, allowing trend analysis and control improvement tracking over time.
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: rt-rules-of-engagement
|
|
3
|
+
description: "Define and document Rules of Engagement (RoE) for the Red Team engagement. Covers testing permissions, prohibited actions, escalation procedures, emergency stop criteria, data handling, and evidence retention. Creates rules-of-engagement.md."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# rt-rules-of-engagement
|
|
7
|
+
|
|
8
|
+
# Rules of Engagement Workflow
|
|
9
|
+
|
|
10
|
+
## Step 1 — Testing Permissions Matrix
|
|
11
|
+
For each activity, confirm with client: Permitted / Not permitted / With conditions
|
|
12
|
+
|
|
13
|
+
**Automated Testing:**
|
|
14
|
+
- Vulnerability scanners (Nessus, Nuclei, OpenVAS)
|
|
15
|
+
- Web application scanners (Burp Suite, OWASP ZAP)
|
|
16
|
+
- Port scanners (Nmap, Masscan)
|
|
17
|
+
- Password spraying tools
|
|
18
|
+
|
|
19
|
+
**Manual Exploitation:**
|
|
20
|
+
- Web vulnerability exploitation
|
|
21
|
+
- Network exploitation
|
|
22
|
+
- Credential stuffing/brute force
|
|
23
|
+
- Privilege escalation attempts
|
|
24
|
+
|
|
25
|
+
**Advanced Techniques:**
|
|
26
|
+
- Social engineering (phishing, vishing)
|
|
27
|
+
- Physical security testing
|
|
28
|
+
- DoS/DDoS simulation (with prior notice)
|
|
29
|
+
- Persistent backdoors (document + remove)
|
|
30
|
+
- Data exfiltration PoC (minimum sample)
|
|
31
|
+
|
|
32
|
+
## Step 2 — Prohibited Actions (Always)
|
|
33
|
+
List activities NEVER permitted regardless of scope:
|
|
34
|
+
- Destroying or corrupting production data
|
|
35
|
+
- Taking production systems offline
|
|
36
|
+
- Accessing out-of-scope systems
|
|
37
|
+
- Sharing client data with third parties
|
|
38
|
+
- Storing credentials beyond engagement period
|
|
39
|
+
|
|
40
|
+
## Step 3 — Emergency Stop Criteria
|
|
41
|
+
Define conditions that require IMMEDIATE testing halt:
|
|
42
|
+
- Discovery of ongoing real-world attack
|
|
43
|
+
- Inadvertent access to systems outside scope
|
|
44
|
+
- Production system becomes unavailable
|
|
45
|
+
- Client requests immediate stop
|
|
46
|
+
- Discovery of criminal activity evidence
|
|
47
|
+
|
|
48
|
+
Emergency stop procedure:
|
|
49
|
+
1. Stop all testing immediately
|
|
50
|
+
2. Notify CISO/security contact
|
|
51
|
+
3. Preserve evidence of current state
|
|
52
|
+
4. Wait for written authorization to resume
|
|
53
|
+
|
|
54
|
+
## Step 4 — Escalation Procedures
|
|
55
|
+
When to escalate to CISO:
|
|
56
|
+
- Critical RCE found on production system
|
|
57
|
+
- Active data breach indicators found
|
|
58
|
+
- Credentials for extremely sensitive systems discovered
|
|
59
|
+
- Scope creep detected
|
|
60
|
+
|
|
61
|
+
## Step 5 — Save RoE Document
|
|
62
|
+
Create: `_rtexit-output/docs/engagement/rules-of-engagement.md`
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# Workflow - rt-rules-of-engagement
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
This workflow standardizes how $skill is executed inside RTExit. It is designed for authorized engagements, evidence-first documentation, and consistent handoff into reporting.
|
|
6
|
+
|
|
7
|
+
## Authorization Gate
|
|
8
|
+
|
|
9
|
+
Before execution, confirm:
|
|
10
|
+
|
|
11
|
+
- SEAD exists and explicitly covers the target asset or activity.
|
|
12
|
+
- Rules of Engagement define allowed techniques, rate limits, and stop conditions.
|
|
13
|
+
- The operator knows the evidence handling rules.
|
|
14
|
+
- Any active or sensitive validation has client approval.
|
|
15
|
+
|
|
16
|
+
If any item is unclear, pause and invoke
|
|
17
|
+
|
|
18
|
+
## Required Inputs
|
|
19
|
+
|
|
20
|
+
| Input | Source | Notes |
|
|
21
|
+
|---|---|---|
|
|
22
|
+
| Engagement reference | _rtexit/config.toml or SEAD | Used in output names. |
|
|
23
|
+
| Target asset(s) | Scope document | Must be explicitly approved. |
|
|
24
|
+
| Operator name | Config/user context | Used in timeline entries. |
|
|
25
|
+
| Evidence directory | _rtexit-output/docs/evidence/ | Store logs, screenshots, and artifacts. |
|
|
26
|
+
| Finding tracker | _rtexit-output/docs/findings/ | Create/update findings when confirmed. |
|
|
27
|
+
|
|
28
|
+
## Execution Steps
|
|
29
|
+
|
|
30
|
+
1. Load current engagement configuration.
|
|
31
|
+
2. Read scope, exclusions, and current findings.
|
|
32
|
+
3. Build a small test plan for this skill with target, expected control, and evidence type.
|
|
33
|
+
4. Run the lowest-risk validation first.
|
|
34
|
+
5. Capture baseline behavior before proof behavior.
|
|
35
|
+
6. Record exact timestamp, account/role used, and affected asset.
|
|
36
|
+
7. Stop when evidence is sufficient; avoid unnecessary data access.
|
|
37
|
+
8. Create or update findings through the RTExit finding tracker.
|
|
38
|
+
9. Map remediation owner and recommended timeline.
|
|
39
|
+
10. Add a timeline entry and evidence chain entry.
|
|
40
|
+
|
|
41
|
+
## Evidence Requirements
|
|
42
|
+
|
|
43
|
+
| Evidence | Required? | Notes |
|
|
44
|
+
|---|---|---|
|
|
45
|
+
| Command or action summary | Yes | Redact secrets and tokens. |
|
|
46
|
+
| Screenshot or transcript | If useful | Store under evidence folder. |
|
|
47
|
+
| Request/response pair | For web/API | Redact cookies and bearer tokens. |
|
|
48
|
+
| Config excerpt | For cloud/infra | Include only relevant lines. |
|
|
49
|
+
| Business impact note | Yes | Explain why it matters. |
|
|
50
|
+
|
|
51
|
+
## Autodoc Commands
|
|
52
|
+
|
|
53
|
+
`ash
|
|
54
|
+
python _rtexit/scripts/autodoc_engine.py log --skill rt-rules-of-engagement --phase auto --cmd "workflow execution" --output "summary"
|
|
55
|
+
python _rtexit/scripts/finding_tracker.py list
|
|
56
|
+
`
|
|
57
|
+
|
|
58
|
+
## Completion Criteria
|
|
59
|
+
|
|
60
|
+
- Scope and authorization are referenced.
|
|
61
|
+
- Evidence is stored and redacted.
|
|
62
|
+
- Findings are added or explicitly marked as not found.
|
|
63
|
+
- Remediation guidance is actionable.
|
|
64
|
+
- Timeline and chain of custody are updated where applicable.
|
|
65
|
+
|
|
66
|
+
## Handoff
|
|
67
|
+
|
|
68
|
+
Send confirmed findings to
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: rt-scenario-c001
|
|
3
|
+
description: "C-001: Cloud IAM privilege-escalation path assessment. Domain: cloud. Authorized scenario for identifying overpermissive identities, escalation-capable permissions, detection opportunities, and least-privilege remediation."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# C-001: Cloud IAM Escalation Path
|
|
7
|
+
|
|
8
|
+
## Overview
|
|
9
|
+
|
|
10
|
+
Cloud IAM escalation often results from combinations of permissions that look harmless alone but create administrative impact together. This scenario identifies those paths without modifying production privileges unless explicitly approved.
|
|
11
|
+
|
|
12
|
+
| Field | Value |
|
|
13
|
+
|---|---|
|
|
14
|
+
| Domain | Cloud |
|
|
15
|
+
| Objective | Find privilege-escalation paths |
|
|
16
|
+
| Required Access | Read-only IAM/security review role preferred |
|
|
17
|
+
| Detection Risk | Low for read-only review |
|
|
18
|
+
| Primary Impact | Cloud account/subscription/project compromise |
|
|
19
|
+
|
|
20
|
+
## Prerequisites
|
|
21
|
+
|
|
22
|
+
- Cloud accounts/subscriptions/projects in scope.
|
|
23
|
+
- Approved role and API access.
|
|
24
|
+
- Permission boundaries for validation.
|
|
25
|
+
- Change freeze rules understood.
|
|
26
|
+
- Break-glass contact available.
|
|
27
|
+
|
|
28
|
+
## Risk Patterns
|
|
29
|
+
|
|
30
|
+
| Pattern | Example Control Gap |
|
|
31
|
+
|---|---|
|
|
32
|
+
| Policy Attachment | Identity can grant itself broader permissions. |
|
|
33
|
+
| Role Passing | Identity can pass privileged roles to compute. |
|
|
34
|
+
| Function/Automation Update | Identity can modify code running as privileged role. |
|
|
35
|
+
| Key Creation | Identity can create credentials for privileged principals. |
|
|
36
|
+
| Trust Policy Weakness | External or unintended principals can assume roles. |
|
|
37
|
+
|
|
38
|
+
## Workflow
|
|
39
|
+
|
|
40
|
+
1. Inventory identities, groups, roles, service principals, and workload identities.
|
|
41
|
+
2. Identify high-value permissions and admin-equivalent roles.
|
|
42
|
+
3. Build escalation path candidates.
|
|
43
|
+
4. Validate with policy simulation or read-only evidence.
|
|
44
|
+
5. Document affected identity, target role, required permissions, and impact.
|
|
45
|
+
6. Recommend the earliest permission removal that breaks the path.
|
|
46
|
+
|
|
47
|
+
## MITRE ATT&CK Mapping
|
|
48
|
+
|
|
49
|
+
| Phase | Tactic | Technique |
|
|
50
|
+
|---|---|---|
|
|
51
|
+
| Access | Initial Access | Valid Cloud Accounts |
|
|
52
|
+
| Escalation | Privilege Escalation | Abuse Elevation Control Mechanism |
|
|
53
|
+
| Defense | Defense Evasion | Modify Cloud Compute Infrastructure |
|
|
54
|
+
|
|
55
|
+
## Evidence
|
|
56
|
+
|
|
57
|
+
- Identity ARN/object ID.
|
|
58
|
+
- Relevant policy statements.
|
|
59
|
+
- Trust relationship.
|
|
60
|
+
- Simulation output.
|
|
61
|
+
- Business owner if known.
|
|
62
|
+
|
|
63
|
+
## Remediation
|
|
64
|
+
|
|
65
|
+
- Apply least privilege.
|
|
66
|
+
- Use permission boundaries.
|
|
67
|
+
- Restrict role passing.
|
|
68
|
+
- Separate deployment and runtime roles.
|
|
69
|
+
- Monitor IAM policy changes.
|
|
70
|
+
- Require approval for privileged role changes.
|
|
71
|
+
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: rt-scenario-c002
|
|
3
|
+
description: "C-002: Object storage exposure assessment for S3/Azure Blob/GCS. Domain: cloud. Authorized scenario for public access review, sensitive data sampling, logging validation, and remediation."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# C-002: Object Storage Data Exposure
|
|
7
|
+
|
|
8
|
+
## Overview
|
|
9
|
+
|
|
10
|
+
Object storage frequently holds backups, exports, logs, application assets, and sensitive documents. Misconfigured public access or overly broad IAM can expose data at large scale.
|
|
11
|
+
|
|
12
|
+
| Field | Value |
|
|
13
|
+
|---|---|
|
|
14
|
+
| Domain | Cloud Storage |
|
|
15
|
+
| Objective | Validate storage exposure and data sensitivity |
|
|
16
|
+
| Required Access | Cloud inventory/read role or approved public review |
|
|
17
|
+
| Detection Risk | Low |
|
|
18
|
+
| Primary Impact | Sensitive data disclosure |
|
|
19
|
+
|
|
20
|
+
## Prerequisites
|
|
21
|
+
|
|
22
|
+
- Storage accounts/buckets/projects in scope.
|
|
23
|
+
- Sampling rules and data redaction requirements.
|
|
24
|
+
- Approval for public access checks.
|
|
25
|
+
- Logging review access if possible.
|
|
26
|
+
|
|
27
|
+
## Workflow
|
|
28
|
+
|
|
29
|
+
1. Inventory buckets/containers and owners.
|
|
30
|
+
2. Review public access blocks, ACLs, bucket policies, and IAM grants.
|
|
31
|
+
3. Review encryption, versioning, lifecycle, and logging.
|
|
32
|
+
4. Sample approved objects only.
|
|
33
|
+
5. Classify exposed data: secrets, backups, PII, logs, source code, reports.
|
|
34
|
+
6. Prioritize by exposure, sensitivity, and business owner.
|
|
35
|
+
|
|
36
|
+
## Risk Indicators
|
|
37
|
+
|
|
38
|
+
- Public listing.
|
|
39
|
+
- Public object read.
|
|
40
|
+
- Broad `allUsers` or equivalent grants.
|
|
41
|
+
- Cross-account wildcard access.
|
|
42
|
+
- Backup files in internet-accessible buckets.
|
|
43
|
+
- Logs containing tokens or credentials.
|
|
44
|
+
|
|
45
|
+
## MITRE ATT&CK Mapping
|
|
46
|
+
|
|
47
|
+
| Phase | Tactic | Technique |
|
|
48
|
+
|---|---|---|
|
|
49
|
+
| Discovery | Discovery | Cloud Storage Object Discovery |
|
|
50
|
+
| Collection | Collection | Data from Cloud Storage |
|
|
51
|
+
| Exfiltration | Exfiltration | Exfiltration to Cloud Storage |
|
|
52
|
+
|
|
53
|
+
## Evidence
|
|
54
|
+
|
|
55
|
+
- Bucket/container name.
|
|
56
|
+
- Policy excerpt.
|
|
57
|
+
- Public access state.
|
|
58
|
+
- Redacted object sample metadata.
|
|
59
|
+
- Logging status.
|
|
60
|
+
|
|
61
|
+
## Remediation
|
|
62
|
+
|
|
63
|
+
- Block public access.
|
|
64
|
+
- Remove broad IAM grants.
|
|
65
|
+
- Encrypt sensitive storage.
|
|
66
|
+
- Add access logging and alerting.
|
|
67
|
+
- Move backups to restricted accounts.
|
|
68
|
+
- Add data classification and retention controls.
|
|
69
|
+
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: rt-scenario-c003
|
|
3
|
+
description: "C-003: Cloud metadata exposure risk assessment through SSRF or workload misconfiguration. Domain: cloud. Authorized scenario for IMDS protection, workload identity minimization, and SSRF remediation."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# C-003: Metadata Exposure Risk
|
|
7
|
+
|
|
8
|
+
## Overview
|
|
9
|
+
|
|
10
|
+
Applications running on cloud compute may have access to metadata services and workload credentials. If an SSRF or egress flaw reaches metadata endpoints, a web vulnerability can become cloud identity compromise.
|
|
11
|
+
|
|
12
|
+
| Field | Value |
|
|
13
|
+
|---|---|
|
|
14
|
+
| Domain | Cloud / Web |
|
|
15
|
+
| Objective | Assess metadata credential exposure risk |
|
|
16
|
+
| Required Access | In-scope app and cloud workload context |
|
|
17
|
+
| Detection Risk | Medium for active validation |
|
|
18
|
+
| Primary Impact | Workload credential exposure |
|
|
19
|
+
|
|
20
|
+
## Prerequisites
|
|
21
|
+
|
|
22
|
+
- Application endpoint in scope.
|
|
23
|
+
- Cloud workload identified.
|
|
24
|
+
- SSRF testing approved.
|
|
25
|
+
- Metadata access rules defined.
|
|
26
|
+
- No harvesting live credentials unless explicitly authorized.
|
|
27
|
+
|
|
28
|
+
## Workflow
|
|
29
|
+
|
|
30
|
+
1. Map URL-fetching or webhook features in the application.
|
|
31
|
+
2. Identify cloud workload and assigned role/identity.
|
|
32
|
+
3. Review metadata service hardening: IMDSv2 or provider equivalent.
|
|
33
|
+
4. Validate SSRF using benign callback or safe metadata endpoint.
|
|
34
|
+
5. Determine role blast radius from IAM policy review.
|
|
35
|
+
6. Recommend SSRF and cloud identity hardening.
|
|
36
|
+
|
|
37
|
+
## Safe Evidence
|
|
38
|
+
|
|
39
|
+
Prefer:
|
|
40
|
+
|
|
41
|
+
- Metadata service configuration.
|
|
42
|
+
- Egress path proof to controlled callback.
|
|
43
|
+
- IAM role policy summary.
|
|
44
|
+
- Blocked metadata request screenshot.
|
|
45
|
+
|
|
46
|
+
Avoid collecting live temporary credentials unless approved.
|
|
47
|
+
|
|
48
|
+
## MITRE ATT&CK Mapping
|
|
49
|
+
|
|
50
|
+
| Phase | Tactic | Technique |
|
|
51
|
+
|---|---|---|
|
|
52
|
+
| Initial Access | Initial Access | Exploit Public-Facing Application |
|
|
53
|
+
| Credential Access | Credential Access | Cloud Instance Metadata API |
|
|
54
|
+
| Valid Access | Defense Evasion / Persistence | Cloud Accounts |
|
|
55
|
+
|
|
56
|
+
## Detection
|
|
57
|
+
|
|
58
|
+
- Web requests to metadata IPs.
|
|
59
|
+
- Unusual egress from application servers.
|
|
60
|
+
- Temporary credential use from unexpected IPs.
|
|
61
|
+
- IAM API enumeration after web-layer anomaly.
|
|
62
|
+
|
|
63
|
+
## Remediation
|
|
64
|
+
|
|
65
|
+
- Enforce IMDSv2 or equivalent.
|
|
66
|
+
- Block metadata IP access from application fetchers.
|
|
67
|
+
- Add URL allowlists and DNS/IP validation.
|
|
68
|
+
- Remove unnecessary workload permissions.
|
|
69
|
+
- Add egress filtering.
|
|
70
|
+
- Monitor cloud credential use.
|
|
71
|
+
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: rt-scenario-c004
|
|
3
|
+
description: "C-004: Serverless function code and deployment pipeline security assessment. Domain: cloud. Authorized scenario for function IAM, event validation, secrets handling, dependency risk, and CI/CD controls."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# C-004: Serverless Code and Event Injection Risk
|
|
7
|
+
|
|
8
|
+
## Overview
|
|
9
|
+
|
|
10
|
+
Serverless functions can become high-impact if event inputs are trusted, deployment roles are overprivileged, secrets are exposed, or dependencies are unreviewed. This scenario assesses the path from function input or pipeline weakness to business impact.
|
|
11
|
+
|
|
12
|
+
| Field | Value |
|
|
13
|
+
|---|---|
|
|
14
|
+
| Domain | Cloud / Serverless |
|
|
15
|
+
| Objective | Assess function abuse and deployment risk |
|
|
16
|
+
| Required Access | Cloud read role and app/API context |
|
|
17
|
+
| Detection Risk | Low to Medium |
|
|
18
|
+
| Primary Impact | Privileged function misuse or data access |
|
|
19
|
+
|
|
20
|
+
## Prerequisites
|
|
21
|
+
|
|
22
|
+
- Functions and triggers in scope.
|
|
23
|
+
- Source/deployment pipeline review approved if available.
|
|
24
|
+
- Test event source or staging function preferred.
|
|
25
|
+
- Secret handling rules.
|
|
26
|
+
|
|
27
|
+
## Workflow
|
|
28
|
+
|
|
29
|
+
1. Inventory functions, triggers, runtime, and owners.
|
|
30
|
+
2. Review execution roles and environment variables.
|
|
31
|
+
3. Review event validation and input parsing.
|
|
32
|
+
4. Review deployment permissions and CI/CD approval flow.
|
|
33
|
+
5. Review dependencies and runtime patching.
|
|
34
|
+
6. Model impact if the function or deployment role is abused.
|
|
35
|
+
|
|
36
|
+
## Assessment Areas
|
|
37
|
+
|
|
38
|
+
| Area | Checks |
|
|
39
|
+
|---|---|
|
|
40
|
+
| IAM | Execution role least privilege. |
|
|
41
|
+
| Secrets | Environment variables, secret manager usage, rotation. |
|
|
42
|
+
| Triggers | Public HTTP, queues, storage events, scheduled jobs. |
|
|
43
|
+
| Input Validation | Schema checks and unsafe dynamic execution. |
|
|
44
|
+
| CI/CD | Who can deploy, approve, rollback, and modify env vars. |
|
|
45
|
+
| Observability | Logs, alerts, tracing, anomaly detection. |
|
|
46
|
+
|
|
47
|
+
## MITRE ATT&CK Mapping
|
|
48
|
+
|
|
49
|
+
| Phase | Tactic | Technique |
|
|
50
|
+
|---|---|---|
|
|
51
|
+
| Execution | Execution | Serverless Execution |
|
|
52
|
+
| Credential Access | Credential Access | Unsecured Credentials |
|
|
53
|
+
| Privilege | Privilege Escalation | Cloud Administration Command |
|
|
54
|
+
|
|
55
|
+
## Evidence
|
|
56
|
+
|
|
57
|
+
- Function list.
|
|
58
|
+
- Role policy summary.
|
|
59
|
+
- Trigger map.
|
|
60
|
+
- Redacted environment variable names.
|
|
61
|
+
- Pipeline permission screenshot.
|
|
62
|
+
|
|
63
|
+
## Remediation
|
|
64
|
+
|
|
65
|
+
- Minimize execution roles.
|
|
66
|
+
- Move secrets to managed secret stores.
|
|
67
|
+
- Validate event schemas.
|
|
68
|
+
- Add deployment approvals.
|
|
69
|
+
- Scan dependencies.
|
|
70
|
+
- Alert on function updates and unusual invocations.
|
|
71
|
+
|