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.
Files changed (224) hide show
  1. package/package.json +9 -7
  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/commands/install.js +0 -1
  202. package/tools/installer/lib/asset-manifest.js +10 -5
  203. package/tools/installer/lib/banner.js +14 -6
  204. package/tools/installer/lib/copy-assets.js +5 -2
  205. package/tools/installer/lib/prompts.js +1 -11
  206. package/tools/installer/lib/write-config.js +8 -2
  207. /package/{_rtexit → packaged-assets/_rtexit}/config.toml +0 -0
  208. /package/{_rtexit → packaged-assets/_rtexit}/config.user.toml +0 -0
  209. /package/{_rtexit → packaged-assets/_rtexit}/custom/config.toml +0 -0
  210. /package/{_rtexit → packaged-assets/_rtexit}/scripts/autodoc_engine.py +0 -0
  211. /package/{_rtexit → packaged-assets/_rtexit}/scripts/finding_tracker.py +0 -0
  212. /package/{_rtexit → packaged-assets/_rtexit}/scripts/resolve_config.py +0 -0
  213. /package/{_rtexit → packaged-assets/_rtexit}/scripts/resolve_customization.py +0 -0
  214. /package/{resources → packaged-assets/resources}/certifications.md +0 -0
  215. /package/{resources → packaged-assets/resources}/payloads.md +0 -0
  216. /package/{resources → packaged-assets/resources}/tools.md +0 -0
  217. /package/{resources → packaged-assets/resources}/wordlists.md +0 -0
  218. /package/{templates → packaged-assets/templates}/attack-chain-template.md +0 -0
  219. /package/{templates → packaged-assets/templates}/executive-report-template.md +0 -0
  220. /package/{templates → packaged-assets/templates}/executive-report.md +0 -0
  221. /package/{templates → packaged-assets/templates}/finding-template.md +0 -0
  222. /package/{templates → packaged-assets/templates}/remediation-roadmap.md +0 -0
  223. /package/{templates → packaged-assets/templates}/sead-template.md +0 -0
  224. /package/{templates → packaged-assets/templates}/technical-report.md +0 -0
@@ -0,0 +1,767 @@
1
+ ---
2
+ name: rt-active-recon
3
+ description: "Active reconnaissance skill. Use for port scanning (Nmap, Masscan), service fingerprinting, OS detection, WAF detection (wafw00f), web technology identification (WhatWeb, Wappalyzer), directory enumeration (gobuster, ffuf), and vulnerability scanning (Nuclei). Makes direct contact with target systems."
4
+ ---
5
+
6
+ # rt-active-recon
7
+
8
+ ## Overview
9
+
10
+ Active reconnaissance is the phase where the Red Team operator makes **direct, measurable contact** with target systems. Unlike passive recon (OSINT, DNS lookups, Shodan), active recon generates traffic logs on the target's infrastructure and may trigger IDS/IPS/WAF alerts. Every command in this skill should be executed only after:
11
+
12
+ 1. Rules of Engagement (ROE) are signed and in scope is confirmed (`/rt-rules-of-engagement`)
13
+ 2. Scope is locked in `_rtexit/config.user.toml` under `[scope]`
14
+ 3. Methodology has been selected (`/rt-methodology-selector`)
15
+
16
+ **Output discipline:** All tool output MUST be saved to `_rtexit-output/recon/active/` in structured subdirectories. The RTExit autodoc engine indexes everything under `_rtexit-output/`. Raw tool output + a brief operator note is sufficient — the scribe agent will formalize it.
17
+
18
+ **OPSEC note:** Active recon is loud. Consider using pivots, VPN egress nodes, or cloud burner instances for external engagements. For internal engagements, coordinate with the client's SOC window if required by ROE.
19
+
20
+ ---
21
+
22
+ ## Skill Levels
23
+
24
+ ### BEGINNER
25
+
26
+ Suitable for: Learning the toolchain, CTFs, internal lab targets, supervised engagements.
27
+
28
+ **Goal:** Get a basic open-port list and identify running services.
29
+
30
+ ```bash
31
+ # Basic Nmap scan — top 1000 ports, version detection, default scripts
32
+ nmap -sV -sC -oA _rtexit-output/recon/active/nmap/basic-scan <TARGET_IP>
33
+
34
+ # Ping sweep a /24 subnet (identify live hosts)
35
+ nmap -sn 192.168.1.0/24 -oG _rtexit-output/recon/active/nmap/ping-sweep.gnmap
36
+
37
+ # Quick web tech check with WhatWeb
38
+ whatweb http://<TARGET> -v --log-verbose=_rtexit-output/recon/active/whatweb/whatweb-basic.txt
39
+
40
+ # Basic directory bruteforce with gobuster
41
+ gobuster dir \
42
+ -u http://<TARGET> \
43
+ -w /usr/share/seclists/Discovery/Web-Content/common.txt \
44
+ -o _rtexit-output/recon/active/gobuster/common-dirs.txt
45
+ ```
46
+
47
+ ---
48
+
49
+ ### INTERMEDIATE
50
+
51
+ Suitable for: Professional penetration tests, solo operators, external attack surface assessments.
52
+
53
+ **Goal:** Full TCP/UDP coverage, OS fingerprinting, WAF detection, targeted directory enumeration, initial vulnerability scan.
54
+
55
+ ```bash
56
+ # Full TCP port scan (all 65535 ports) — use Masscan first for speed, then Nmap for fingerprinting
57
+ masscan <TARGET_IP/CIDR> -p1-65535 --rate=10000 \
58
+ -oG _rtexit-output/recon/active/masscan/full-tcp.gnmap
59
+
60
+ # Parse Masscan output to get open port list for Nmap
61
+ grep "open" _rtexit-output/recon/active/masscan/full-tcp.gnmap \
62
+ | awk '{print $5}' | cut -d'/' -f1 | sort -u | tr '\n' ',' \
63
+ > /tmp/open-ports.txt
64
+
65
+ # Targeted Nmap with version + script scan on confirmed open ports
66
+ nmap -sV -sC -A -p$(cat /tmp/open-ports.txt) \
67
+ --script=banner,http-title,ssl-cert,ssh-hostkey \
68
+ -oA _rtexit-output/recon/active/nmap/targeted-scan \
69
+ <TARGET_IP>
70
+
71
+ # WAF detection
72
+ wafw00f http://<TARGET> -o _rtexit-output/recon/active/waf/wafw00f.txt -f text
73
+
74
+ # WhatWeb with aggression level 3
75
+ whatweb http://<TARGET> -a 3 \
76
+ --log-json=_rtexit-output/recon/active/whatweb/whatweb-full.json \
77
+ --log-verbose=_rtexit-output/recon/active/whatweb/whatweb-full.txt
78
+
79
+ # Directory enumeration with medium wordlist and extension bruteforce
80
+ gobuster dir \
81
+ -u http://<TARGET> \
82
+ -w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt \
83
+ -x php,asp,aspx,jsp,html,txt,bak,zip,conf,env \
84
+ -t 50 \
85
+ -o _rtexit-output/recon/active/gobuster/medium-dirs.txt \
86
+ --timeout 15s
87
+
88
+ # Nuclei — community templates for CVE and misconfiguration detection
89
+ nuclei -u http://<TARGET> \
90
+ -t /root/nuclei-templates/ \
91
+ -severity low,medium,high,critical \
92
+ -o _rtexit-output/recon/active/nuclei/nuclei-scan.txt \
93
+ -json-export _rtexit-output/recon/active/nuclei/nuclei-scan.json
94
+ ```
95
+
96
+ ---
97
+
98
+ ### ADVANCED
99
+
100
+ Suitable for: Red team engagements, external infrastructure attacks, multi-host environments, evading detection.
101
+
102
+ **Goal:** Stealthy scanning, comprehensive fingerprinting, virtual host enumeration, API endpoint discovery, authenticated scans, custom Nuclei templates.
103
+
104
+ ```bash
105
+ # Slow stealthy Nmap scan (evade basic IDS rate thresholds)
106
+ nmap -sS -T2 -Pn -f --data-length 24 \
107
+ -p21,22,23,25,53,80,110,111,135,139,143,443,445,993,995,1723,3306,3389,5900,8080,8443 \
108
+ --randomize-hosts \
109
+ -oA _rtexit-output/recon/active/nmap/stealth-scan \
110
+ <TARGET_IP>
111
+
112
+ # UDP port scan (often missed, catches SNMP, DNS, TFTP, NFS)
113
+ nmap -sU --top-ports 200 -T3 \
114
+ -oA _rtexit-output/recon/active/nmap/udp-top200 \
115
+ <TARGET_IP>
116
+
117
+ # Virtual host enumeration (find hidden vhosts on shared IP)
118
+ ffuf -u http://<TARGET_IP> \
119
+ -H "Host: FUZZ.<TARGET_DOMAIN>" \
120
+ -w /usr/share/seclists/Discovery/DNS/subdomains-top1million-5000.txt \
121
+ -fc 404,400 \
122
+ -o _rtexit-output/recon/active/ffuf/vhost-enum.json \
123
+ -of json
124
+
125
+ # API endpoint discovery
126
+ ffuf -u http://<TARGET>/FUZZ \
127
+ -w /usr/share/seclists/Discovery/Web-Content/api/api-endpoints.txt \
128
+ -mc 200,201,204,301,302,307,401,403 \
129
+ -o _rtexit-output/recon/active/ffuf/api-endpoints.json \
130
+ -of json
131
+
132
+ # Subdomain enumeration via DNS bruteforce
133
+ gobuster dns \
134
+ -d <TARGET_DOMAIN> \
135
+ -w /usr/share/seclists/Discovery/DNS/subdomains-top1million-20000.txt \
136
+ -o _rtexit-output/recon/active/gobuster/dns-subdomains.txt \
137
+ --timeout 5s
138
+
139
+ # Nmap with NSE script categories for deeper enumeration
140
+ nmap -sV -p80,443,8080,8443 \
141
+ --script="http-enum,http-headers,http-methods,http-auth-finder,http-config-backup,http-git,http-php-version,ssl-enum-ciphers,ssl-heartbleed,ssl-poodle" \
142
+ -oA _rtexit-output/recon/active/nmap/web-scripts \
143
+ <TARGET_IP>
144
+
145
+ # SMB enumeration (if port 445 is open)
146
+ nmap -p445 --script="smb-vuln*,smb-enum*,smb2-security-mode" \
147
+ -oA _rtexit-output/recon/active/nmap/smb-enum \
148
+ <TARGET_IP>
149
+
150
+ # Custom Nuclei scan — specific tags only
151
+ nuclei -u http://<TARGET> \
152
+ -tags cve,rce,sqli,ssrf,lfi,xss,auth-bypass,misconfig \
153
+ -severity medium,high,critical \
154
+ -rl 30 \
155
+ -o _rtexit-output/recon/active/nuclei/targeted-nuclei.txt \
156
+ -json-export _rtexit-output/recon/active/nuclei/targeted-nuclei.json
157
+ ```
158
+
159
+ ---
160
+
161
+ ### EXPERT
162
+
163
+ Suitable for: Adversary simulation, APT-style engagements, red team operations requiring evasion and high-fidelity fingerprinting.
164
+
165
+ **Goal:** Operator-written scripts, authenticated scanning, WAF bypass techniques, chained tool pipelines, custom fingerprinting.
166
+
167
+ ```bash
168
+ # Masscan + Nmap pipeline — scan entire /16 fast, then deep-dive open hosts
169
+ masscan 10.0.0.0/16 -p1-65535 --rate=50000 \
170
+ --exclude 10.0.0.1 \
171
+ -oX _rtexit-output/recon/active/masscan/internal-full.xml
172
+
173
+ # Parse Masscan XML and auto-run Nmap on each live host
174
+ python3 << 'EOF'
175
+ import xml.etree.ElementTree as ET
176
+ import subprocess, os
177
+
178
+ tree = ET.parse("_rtexit-output/recon/active/masscan/internal-full.xml")
179
+ hosts = {}
180
+ for host in tree.findall("host"):
181
+ ip = host.find("address").get("addr")
182
+ for port in host.findall(".//port"):
183
+ hosts.setdefault(ip, []).append(port.get("portid"))
184
+
185
+ os.makedirs("_rtexit-output/recon/active/nmap/hosts", exist_ok=True)
186
+ for ip, ports in hosts.items():
187
+ port_str = ",".join(ports)
188
+ safe_ip = ip.replace(".", "_")
189
+ cmd = [
190
+ "nmap", "-sV", "-sC", "-A", f"-p{port_str}",
191
+ "-oA", f"_rtexit-output/recon/active/nmap/hosts/{safe_ip}",
192
+ ip
193
+ ]
194
+ print(f"[*] Scanning {ip} on ports {port_str}")
195
+ subprocess.run(cmd, capture_output=True)
196
+ print(f"[+] Done: {ip}")
197
+ print("[*] Pipeline complete.")
198
+ EOF
199
+
200
+ # ffuf with WAF bypass headers
201
+ ffuf -u "https://<TARGET>/FUZZ" \
202
+ -w /usr/share/seclists/Discovery/Web-Content/raft-large-files.txt \
203
+ -H "X-Forwarded-For: 127.0.0.1" \
204
+ -H "X-Originating-IP: 127.0.0.1" \
205
+ -H "X-Remote-IP: 127.0.0.1" \
206
+ -H "X-Remote-Addr: 127.0.0.1" \
207
+ -H "X-Client-IP: 127.0.0.1" \
208
+ -H "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36" \
209
+ -fc 404,429 \
210
+ -rate 20 \
211
+ -o _rtexit-output/recon/active/ffuf/waf-bypass-files.json \
212
+ -of json
213
+
214
+ # Nuclei with custom template targeting specific tech stack
215
+ # (assumes you know the stack from passive recon / WhatWeb output)
216
+ nuclei -u https://<TARGET> \
217
+ -t /root/nuclei-templates/technologies/wordpress/ \
218
+ -t /root/nuclei-templates/cves/2024/ \
219
+ -t /root/nuclei-templates/vulnerabilities/ \
220
+ -severity critical,high \
221
+ -rl 10 \
222
+ -H "User-Agent: Mozilla/5.0" \
223
+ -json-export _rtexit-output/recon/active/nuclei/expert-scan.json
224
+
225
+ # Authenticated Nmap scan (if credentials obtained from earlier phase)
226
+ nmap -sV -p- \
227
+ --script="http-auth,http-form-brute,http-brute" \
228
+ --script-args="http-brute.path=/admin,brute.firstonly=true" \
229
+ -oA _rtexit-output/recon/active/nmap/auth-scan \
230
+ <TARGET_IP>
231
+
232
+ # OS fingerprinting + traceroute
233
+ nmap -O --osscan-guess --traceroute \
234
+ -oA _rtexit-output/recon/active/nmap/os-fingerprint \
235
+ <TARGET_IP>
236
+
237
+ # SSL/TLS deep audit
238
+ nmap -p443,8443 \
239
+ --script="ssl-cert,ssl-enum-ciphers,ssl-dh-params,ssl-heartbleed,ssl-poodle,ssl-ccs-injection,tls-alpn,tls-nextprotoneg" \
240
+ -oA _rtexit-output/recon/active/nmap/ssl-audit \
241
+ <TARGET_IP>
242
+
243
+ # Wappalyzer CLI fingerprinting (Node.js based, more accurate than WhatWeb on SPAs)
244
+ wappalyzer https://<TARGET> \
245
+ | tee _rtexit-output/recon/active/wappalyzer/fingerprint.json
246
+ ```
247
+
248
+ ---
249
+
250
+ ## Step-by-Step Workflow
251
+
252
+ ### Step 1 — Validate Scope Before Touching Anything
253
+
254
+ ```bash
255
+ # Confirm target is in scope
256
+ cat _rtexit/config.user.toml | grep -A 20 "\[scope\]"
257
+
258
+ # Confirm ROE permits active scanning
259
+ cat _rtexit-output/docs/engagement/roe.md | grep -i "active\|scanning\|nmap\|port"
260
+ ```
261
+
262
+ Do not proceed until scope is confirmed. If uncertain, run `/rt-scope-definition` to re-validate.
263
+
264
+ ### Step 2 — Prepare Output Directory Structure
265
+
266
+ ```bash
267
+ mkdir -p _rtexit-output/recon/active/{nmap,masscan,gobuster,ffuf,nuclei,whatweb,wappalyzer,waf,screenshots,notes}
268
+ echo "Active recon started: $(date)" > _rtexit-output/recon/active/notes/session.log
269
+ echo "Target: <TARGET>" >> _rtexit-output/recon/active/notes/session.log
270
+ echo "Operator: <OPERATOR_ALIAS>" >> _rtexit-output/recon/active/notes/session.log
271
+ ```
272
+
273
+ ### Step 3 — Host Discovery (Are Targets Live?)
274
+
275
+ ```bash
276
+ # ICMP ping sweep (may be blocked by firewall)
277
+ nmap -sn <TARGET_CIDR> -oG _rtexit-output/recon/active/nmap/host-discovery.gnmap
278
+
279
+ # TCP SYN ping to common ports (more reliable than ICMP)
280
+ nmap -sn -PS22,80,443,8080,3389 <TARGET_CIDR> \
281
+ -oG _rtexit-output/recon/active/nmap/host-discovery-syn.gnmap
282
+
283
+ # Extract live hosts
284
+ grep "Up" _rtexit-output/recon/active/nmap/host-discovery.gnmap \
285
+ | awk '{print $2}' > _rtexit-output/recon/active/nmap/live-hosts.txt
286
+
287
+ echo "[*] Live hosts found: $(wc -l < _rtexit-output/recon/active/nmap/live-hosts.txt)"
288
+ ```
289
+
290
+ ### Step 4 — Port Scanning
291
+
292
+ ```bash
293
+ # Fast scan with Masscan (for large IP ranges)
294
+ masscan -iL _rtexit-output/recon/active/nmap/live-hosts.txt \
295
+ -p1-65535 --rate=5000 \
296
+ -oG _rtexit-output/recon/active/masscan/all-ports.gnmap
297
+
298
+ # Targeted Nmap service scan on open ports
299
+ nmap -iL _rtexit-output/recon/active/nmap/live-hosts.txt \
300
+ -sV -sC --version-intensity 7 \
301
+ -oA _rtexit-output/recon/active/nmap/service-scan
302
+
303
+ # UDP scan (SNMP, DNS, TFTP, NTP)
304
+ nmap -iL _rtexit-output/recon/active/nmap/live-hosts.txt \
305
+ -sU --top-ports 100 \
306
+ -oA _rtexit-output/recon/active/nmap/udp-scan
307
+ ```
308
+
309
+ ### Step 5 — Web Technology Fingerprinting
310
+
311
+ ```bash
312
+ # Extract all web-facing targets from Nmap output
313
+ grep -E "80/open|443/open|8080/open|8443/open|8000/open" \
314
+ _rtexit-output/recon/active/nmap/service-scan.gnmap \
315
+ | awk '{print $2}' > /tmp/web-targets.txt
316
+
317
+ # WhatWeb all web targets
318
+ while IFS= read -r host; do
319
+ whatweb "http://${host}" -a 3 \
320
+ --log-json=_rtexit-output/recon/active/whatweb/${host//\//_}-http.json 2>/dev/null
321
+ whatweb "https://${host}" -a 3 \
322
+ --log-json=_rtexit-output/recon/active/whatweb/${host//\//_}-https.json 2>/dev/null
323
+ done < /tmp/web-targets.txt
324
+
325
+ # WAF detection on all web targets
326
+ while IFS= read -r host; do
327
+ wafw00f "http://${host}" >> _rtexit-output/recon/active/waf/waf-results.txt
328
+ done < /tmp/web-targets.txt
329
+ ```
330
+
331
+ ### Step 6 — Directory and File Enumeration
332
+
333
+ ```bash
334
+ # gobuster with raft-large wordlist + common extensions
335
+ gobuster dir \
336
+ -u http://<TARGET> \
337
+ -w /usr/share/seclists/Discovery/Web-Content/raft-large-directories.txt \
338
+ -x php,asp,aspx,jsp,html,txt,bak,zip,conf,env,json,xml,yaml,yml,log,old,backup \
339
+ -t 40 \
340
+ -b 404,400 \
341
+ -o _rtexit-output/recon/active/gobuster/raft-large.txt \
342
+ --timeout 20s
343
+
344
+ # ffuf for parameter fuzzing on a discovered endpoint
345
+ ffuf -u "http://<TARGET>/api/endpoint?FUZZ=test" \
346
+ -w /usr/share/seclists/Discovery/Web-Content/burp-parameter-names.txt \
347
+ -mc 200,302 \
348
+ -o _rtexit-output/recon/active/ffuf/param-fuzz.json \
349
+ -of json
350
+ ```
351
+
352
+ ### Step 7 — Vulnerability Scanning with Nuclei
353
+
354
+ ```bash
355
+ # Full Nuclei scan (all severities, all templates)
356
+ nuclei -u http://<TARGET> \
357
+ -t /root/nuclei-templates/ \
358
+ -severity info,low,medium,high,critical \
359
+ -rate-limit 20 \
360
+ -o _rtexit-output/recon/active/nuclei/full-scan.txt \
361
+ -json-export _rtexit-output/recon/active/nuclei/full-scan.json \
362
+ -stats
363
+
364
+ # Technology-specific scan (e.g., after WhatWeb reveals Apache Tomcat)
365
+ nuclei -u http://<TARGET> \
366
+ -tags tomcat,apache \
367
+ -severity medium,high,critical \
368
+ -o _rtexit-output/recon/active/nuclei/tomcat-scan.txt
369
+ ```
370
+
371
+ ### Step 8 — Screenshot and Evidence Collection
372
+
373
+ ```bash
374
+ # EyeWitness — screenshot all web targets for visual review
375
+ eyewitness --web -f /tmp/web-targets.txt \
376
+ --timeout 10 \
377
+ -d _rtexit-output/recon/active/screenshots/eyewitness/
378
+
379
+ # gowitness — fast Chromium-based screenshotter
380
+ gowitness file -f /tmp/web-targets.txt \
381
+ --screenshot-path _rtexit-output/recon/active/screenshots/gowitness/ \
382
+ --log-scan-errors
383
+ ```
384
+
385
+ ### Step 9 — Document Findings and Feed Autodoc Engine
386
+
387
+ ```bash
388
+ # Generate a consolidated summary for the RTExit autodoc engine
389
+ cat > _rtexit-output/recon/active/notes/active-recon-summary.md << 'EOF'
390
+ # Active Recon Summary
391
+
392
+ ## Engagement: <ENGAGEMENT_NAME>
393
+ ## Date: $(date)
394
+ ## Operator: <OPERATOR_ALIAS>
395
+
396
+ ## Live Hosts
397
+ $(cat _rtexit-output/recon/active/nmap/live-hosts.txt)
398
+
399
+ ## Open Ports (Key Services)
400
+ <!-- Paste Nmap service scan highlights here -->
401
+
402
+ ## Web Technologies Identified
403
+ <!-- WhatWeb/Wappalyzer key findings -->
404
+
405
+ ## WAF Status
406
+ <!-- wafw00f results -->
407
+
408
+ ## Directories/Files Found
409
+ <!-- Notable gobuster/ffuf findings -->
410
+
411
+ ## Nuclei Findings Summary
412
+ <!-- Count by severity, list critical/high findings -->
413
+
414
+ ## Next Phase
415
+ <!-- Reference to exploitation plan or next skill -->
416
+ EOF
417
+ ```
418
+
419
+ The RTExit autodoc engine will detect and index `_rtexit-output/recon/active/notes/active-recon-summary.md` on next run of `/rt-status`.
420
+
421
+ ---
422
+
423
+ ## All Relevant Commands with Explanations
424
+
425
+ ### Nmap
426
+
427
+ | Flag | Purpose |
428
+ |------|---------|
429
+ | `-sS` | SYN scan (stealth, requires root) |
430
+ | `-sV` | Version detection |
431
+ | `-sC` | Default NSE scripts |
432
+ | `-A` | Aggressive: OS detect + version + scripts + traceroute |
433
+ | `-T0` to `-T5` | Timing (T0=paranoid/stealth, T5=insane/fast) |
434
+ | `-p-` | All 65535 ports |
435
+ | `-Pn` | Skip host discovery (treat all as up) |
436
+ | `-f` | Fragment packets (evade simple firewalls) |
437
+ | `--data-length 24` | Append random data to packets (IDS evasion) |
438
+ | `--randomize-hosts` | Scan hosts in random order |
439
+ | `-oA` | Output in all formats (nmap, gnmap, xml) |
440
+ | `-oX` | XML output only |
441
+ | `-oG` | Grepable output |
442
+ | `--script=` | Specify NSE scripts |
443
+ | `--open` | Show only open ports |
444
+
445
+ ### Masscan
446
+
447
+ | Flag | Purpose |
448
+ |------|---------|
449
+ | `-p1-65535` | Scan all ports |
450
+ | `--rate=` | Packets per second (10000 = fast, 100000 = very fast) |
451
+ | `--exclude` | Exclude specific IPs from scan |
452
+ | `-oG` | Grepable output |
453
+ | `-oX` | XML output |
454
+ | `-iL` | Input from file |
455
+
456
+ ### gobuster
457
+
458
+ | Flag | Purpose |
459
+ |------|---------|
460
+ | `dir` | Directory/file enumeration mode |
461
+ | `dns` | DNS subdomain enumeration mode |
462
+ | `vhost` | Virtual host enumeration mode |
463
+ | `-u` | Target URL |
464
+ | `-w` | Wordlist path |
465
+ | `-x` | File extensions to append |
466
+ | `-t` | Threads |
467
+ | `-b` | Blacklist status codes |
468
+ | `-o` | Output file |
469
+ | `--timeout` | Request timeout |
470
+
471
+ ### ffuf
472
+
473
+ | Flag | Purpose |
474
+ |------|---------|
475
+ | `-u` | URL with FUZZ keyword |
476
+ | `-w` | Wordlist |
477
+ | `-H` | Custom header |
478
+ | `-mc` | Match HTTP status codes |
479
+ | `-fc` | Filter/exclude status codes |
480
+ | `-rate` | Requests per second limit |
481
+ | `-of json` | Output format JSON |
482
+ | `-o` | Output file |
483
+ | `-fs` | Filter by response size |
484
+ | `-fw` | Filter by word count |
485
+
486
+ ### wafw00f
487
+
488
+ | Flag | Purpose |
489
+ |------|---------|
490
+ | `-a` | Try to detect all WAFs |
491
+ | `-o` | Output file |
492
+ | `-f` | Output format (json, text, csv) |
493
+
494
+ ### WhatWeb
495
+
496
+ | Flag | Purpose |
497
+ |------|---------|
498
+ | `-a 1` | Stealthy (no extra requests) |
499
+ | `-a 3` | Aggressive (many extra requests) |
500
+ | `--log-json=` | JSON log file |
501
+ | `--log-verbose=` | Verbose text log |
502
+
503
+ ### Nuclei
504
+
505
+ | Flag | Purpose |
506
+ |------|---------|
507
+ | `-u` | Single target URL |
508
+ | `-l` | List of targets |
509
+ | `-t` | Template directory |
510
+ | `-tags` | Run templates matching tags |
511
+ | `-severity` | Filter by severity |
512
+ | `-rl` / `-rate-limit` | Requests per second |
513
+ | `-o` | Text output file |
514
+ | `-json-export` | JSON output file |
515
+ | `-stats` | Show scan statistics |
516
+ | `-H` | Custom header |
517
+
518
+ ---
519
+
520
+ ## Tools Referenced
521
+
522
+ | Tool | Purpose | URL |
523
+ |------|---------|-----|
524
+ | Nmap | Port scanning, service detection, NSE scripts | https://github.com/nmap/nmap |
525
+ | Masscan | Ultra-fast TCP port scanner | https://github.com/robertdavidgraham/masscan |
526
+ | gobuster | Directory, DNS, vhost enumeration | https://github.com/OJ/gobuster |
527
+ | ffuf | Fuzzing — directories, parameters, headers, vhosts | https://github.com/ffuf/ffuf |
528
+ | Nuclei | Template-based vulnerability scanner | https://github.com/projectdiscovery/nuclei |
529
+ | nuclei-templates | Community vulnerability templates | https://github.com/projectdiscovery/nuclei-templates |
530
+ | WhatWeb | Web technology fingerprinting | https://github.com/urbanadventurer/WhatWeb |
531
+ | wafw00f | WAF detection and fingerprinting | https://github.com/EnableSecurity/wafw00f |
532
+ | EyeWitness | Web screenshot and report generation | https://github.com/RedSiege/EyeWitness |
533
+ | gowitness | Fast Chromium-based screenshotter | https://github.com/sensepost/gowitness |
534
+ | SecLists | Community wordlists for all enumeration types | https://github.com/danielmiessler/SecLists |
535
+ | Wappalyzer CLI | SPA-aware tech fingerprinting | https://github.com/wappalyzer/wappalyzer |
536
+
537
+ ---
538
+
539
+ ## Output Files — What to Save and Where
540
+
541
+ All output goes under `_rtexit-output/recon/active/`. The RTExit autodoc engine watches this tree.
542
+
543
+ ```
544
+ _rtexit-output/recon/active/
545
+ ├── nmap/
546
+ │ ├── basic-scan.{nmap,gnmap,xml} # Initial scan
547
+ │ ├── targeted-scan.{nmap,gnmap,xml} # Deep service scan on open ports
548
+ │ ├── udp-scan.{nmap,gnmap,xml} # UDP scan
549
+ │ ├── ssl-audit.{nmap,gnmap,xml} # SSL/TLS audit
550
+ │ ├── smb-enum.{nmap,gnmap,xml} # SMB enumeration
551
+ │ ├── web-scripts.{nmap,gnmap,xml} # Web-specific NSE scripts
552
+ │ ├── os-fingerprint.{nmap,gnmap,xml} # OS detection
553
+ │ ├── live-hosts.txt # Clean list of live IPs
554
+ │ └── hosts/ # Per-host scan files (pipeline output)
555
+ │ └── 10_0_0_1.{nmap,gnmap,xml}
556
+ ├── masscan/
557
+ │ ├── full-tcp.gnmap # All-port masscan output
558
+ │ └── internal-full.xml # Large subnet XML output
559
+ ├── gobuster/
560
+ │ ├── common-dirs.txt # Common wordlist results
561
+ │ ├── medium-dirs.txt # Medium wordlist results
562
+ │ ├── raft-large.txt # Raft-large results
563
+ │ └── dns-subdomains.txt # DNS subdomain enumeration
564
+ ├── ffuf/
565
+ │ ├── vhost-enum.json # Virtual host enumeration
566
+ │ ├── api-endpoints.json # API endpoint discovery
567
+ │ ├── param-fuzz.json # Parameter fuzzing
568
+ │ └── waf-bypass-files.json # WAF bypass attempts
569
+ ├── nuclei/
570
+ │ ├── full-scan.txt # Full Nuclei text output
571
+ │ ├── full-scan.json # Full Nuclei JSON export
572
+ │ ├── targeted-nuclei.json # Tag-targeted scan
573
+ │ └── expert-scan.json # Expert-mode scan
574
+ ├── whatweb/
575
+ │ ├── whatweb-basic.txt # Basic WhatWeb output
576
+ │ ├── whatweb-full.txt # Verbose WhatWeb output
577
+ │ └── whatweb-full.json # WhatWeb JSON log
578
+ ├── wappalyzer/
579
+ │ └── fingerprint.json # Wappalyzer fingerprint
580
+ ├── waf/
581
+ │ ├── wafw00f.txt # WAF detection results
582
+ │ └── waf-results.txt # Multi-target WAF results
583
+ ├── screenshots/
584
+ │ ├── eyewitness/ # EyeWitness report
585
+ │ └── gowitness/ # gowitness screenshots
586
+ └── notes/
587
+ ├── session.log # Operator session log
588
+ └── active-recon-summary.md # Summary for autodoc engine
589
+ ```
590
+
591
+ **Naming convention:** Use underscores in filenames, no spaces, no special characters. The autodoc engine parses filenames for indexing.
592
+
593
+ **Retention:** All raw output files are evidence. Do not delete or overwrite during the engagement. Append a timestamp if re-running: `nmap-scan-$(date +%Y%m%d-%H%M%S).xml`.
594
+
595
+ ---
596
+
597
+ ## Integration with RTExit Autodoc Engine
598
+
599
+ The RTExit autodoc engine indexes `_rtexit-output/` and auto-populates the engagement report. To ensure active recon findings appear in the report:
600
+
601
+ 1. Always save output to `_rtexit-output/recon/active/` using the directory structure above.
602
+ 2. Create or update `_rtexit-output/recon/active/notes/active-recon-summary.md` with a human-readable summary after each scanning session.
603
+ 3. Run `/rt-status` to trigger autodoc re-indexing and see your findings reflected in the engagement dashboard.
604
+ 4. Run `/rt-agent-scribe` to have the Scribe agent formalize findings into the report narrative.
605
+ 5. For critical findings discovered during active recon (e.g., Nuclei detects an unauthenticated RCE), immediately log to `_rtexit-output/findings/` using the finding template format — do not wait for the post-recon phase.
606
+
607
+ ---
608
+
609
+ ## SecLists Wordlist Reference
610
+
611
+ SecLists is pre-installed on Kali at `/usr/share/seclists/`. Install manually: `sudo apt install seclists` or clone from https://github.com/danielmiessler/SecLists.
612
+
613
+ | Wordlist Path | Use Case |
614
+ |--------------|---------|
615
+ | `Discovery/Web-Content/common.txt` | Quick web directory scan |
616
+ | `Discovery/Web-Content/directory-list-2.3-medium.txt` | Standard directory scan |
617
+ | `Discovery/Web-Content/raft-large-directories.txt` | Comprehensive directory scan |
618
+ | `Discovery/Web-Content/raft-large-files.txt` | File discovery |
619
+ | `Discovery/Web-Content/api/api-endpoints.txt` | REST API endpoint discovery |
620
+ | `Discovery/Web-Content/burp-parameter-names.txt` | Parameter name fuzzing |
621
+ | `Discovery/Web-Content/CGIs.txt` | CGI endpoint discovery |
622
+ | `Discovery/DNS/subdomains-top1million-5000.txt` | Fast subdomain enum |
623
+ | `Discovery/DNS/subdomains-top1million-20000.txt` | Thorough subdomain enum |
624
+ | `Discovery/DNS/dns-Jhaddix.txt` | Comprehensive DNS wordlist |
625
+ | `Usernames/top-usernames-shortlist.txt` | Quick username bruteforce |
626
+ | `Passwords/darkweb2017-top10000.txt` | Common password list |
627
+
628
+ ---
629
+
630
+ ## Useful Python Snippets
631
+
632
+ ### Parse Nmap XML and Extract Services
633
+
634
+ ```python
635
+ #!/usr/bin/env python3
636
+ """
637
+ parse-nmap-xml.py — Extract host/port/service data from Nmap XML output.
638
+ Usage: python3 parse-nmap-xml.py <nmap-output.xml>
639
+ """
640
+ import xml.etree.ElementTree as ET
641
+ import sys
642
+ import json
643
+
644
+ def parse_nmap(xml_file):
645
+ tree = ET.parse(xml_file)
646
+ root = tree.getroot()
647
+ results = []
648
+
649
+ for host in root.findall("host"):
650
+ status = host.find("status")
651
+ if status is None or status.get("state") != "up":
652
+ continue
653
+
654
+ addr_el = host.find("address[@addrtype='ipv4']")
655
+ ip = addr_el.get("addr") if addr_el is not None else "unknown"
656
+
657
+ hostname_el = host.find(".//hostname")
658
+ hostname = hostname_el.get("name") if hostname_el is not None else ""
659
+
660
+ ports = []
661
+ for port in host.findall(".//port"):
662
+ state = port.find("state")
663
+ if state is None or state.get("state") != "open":
664
+ continue
665
+ service = port.find("service")
666
+ ports.append({
667
+ "port": port.get("portid"),
668
+ "protocol": port.get("protocol"),
669
+ "service": service.get("name") if service is not None else "unknown",
670
+ "product": service.get("product", "") if service is not None else "",
671
+ "version": service.get("version", "") if service is not None else "",
672
+ })
673
+
674
+ results.append({"ip": ip, "hostname": hostname, "ports": ports})
675
+
676
+ return results
677
+
678
+ if __name__ == "__main__":
679
+ data = parse_nmap(sys.argv[1])
680
+ print(json.dumps(data, indent=2))
681
+ # Summary
682
+ print(f"\n[*] Hosts: {len(data)}")
683
+ print(f"[*] Total open ports: {sum(len(h['ports']) for h in data)}")
684
+ ```
685
+
686
+ ### Extract Web Targets from Nmap XML
687
+
688
+ ```python
689
+ #!/usr/bin/env python3
690
+ """
691
+ extract-web-targets.py — Pull all HTTP/HTTPS targets from Nmap XML.
692
+ Usage: python3 extract-web-targets.py <nmap-output.xml> > web-targets.txt
693
+ """
694
+ import xml.etree.ElementTree as ET
695
+ import sys
696
+
697
+ WEB_PORTS = {"80": "http", "443": "https", "8080": "http", "8443": "https",
698
+ "8000": "http", "8888": "http", "3000": "http", "4443": "https"}
699
+
700
+ tree = ET.parse(sys.argv[1])
701
+ for host in tree.findall("host"):
702
+ addr = host.find("address[@addrtype='ipv4']")
703
+ if addr is None:
704
+ continue
705
+ ip = addr.get("addr")
706
+ for port in host.findall(".//port"):
707
+ state = port.find("state")
708
+ if state is None or state.get("state") != "open":
709
+ continue
710
+ portid = port.get("portid")
711
+ if portid in WEB_PORTS:
712
+ scheme = WEB_PORTS[portid]
713
+ print(f"{scheme}://{ip}:{portid}")
714
+ ```
715
+
716
+ ### Nuclei JSON to Markdown Table
717
+
718
+ ```python
719
+ #!/usr/bin/env python3
720
+ """
721
+ nuclei-to-md.py — Convert Nuclei JSON export to Markdown findings table.
722
+ Usage: python3 nuclei-to-md.py <nuclei-scan.json> > findings-table.md
723
+ """
724
+ import json, sys
725
+
726
+ severity_order = {"critical": 0, "high": 1, "medium": 2, "low": 3, "info": 4}
727
+
728
+ findings = []
729
+ with open(sys.argv[1]) as f:
730
+ for line in f:
731
+ line = line.strip()
732
+ if line:
733
+ findings.append(json.loads(line))
734
+
735
+ findings.sort(key=lambda x: severity_order.get(x.get("info", {}).get("severity", "info"), 99))
736
+
737
+ print("| Severity | Name | Host | Template ID |")
738
+ print("|----------|------|------|-------------|")
739
+ for f in findings:
740
+ info = f.get("info", {})
741
+ print(f"| {info.get('severity','').upper()} | {info.get('name','')} | {f.get('host','')} | {f.get('template-id','')} |")
742
+ ```
743
+
744
+ ---
745
+
746
+ ## Resources
747
+
748
+ | Resource | URL |
749
+ |---------|-----|
750
+ | Nmap Book (official) | https://nmap.org/book/man.html |
751
+ | Nmap NSE Script Reference | https://nmap.org/nsedoc/ |
752
+ | Masscan README | https://github.com/robertdavidgraham/masscan/blob/master/README.md |
753
+ | gobuster Documentation | https://github.com/OJ/gobuster#readme |
754
+ | ffuf Wiki | https://github.com/ffuf/ffuf/wiki |
755
+ | Nuclei Documentation | https://docs.projectdiscovery.io/tools/nuclei/overview |
756
+ | Nuclei Templates Docs | https://docs.projectdiscovery.io/templates/introduction |
757
+ | WhatWeb Wiki | https://github.com/urbanadventurer/WhatWeb/wiki |
758
+ | wafw00f Docs | https://github.com/EnableSecurity/wafw00f/blob/master/README.md |
759
+ | SecLists Repository | https://github.com/danielmiessler/SecLists |
760
+ | OWASP Testing Guide v4.2 | https://owasp.org/www-project-web-security-testing-guide/ |
761
+ | HackTricks — Network Scanning | https://book.hacktricks.xyz/network-services-pentesting/pentesting-network |
762
+ | HackTricks — Web Recon | https://book.hacktricks.xyz/network-services-pentesting/pentesting-web |
763
+ | PayloadsAllTheThings | https://github.com/swisskyrepo/PayloadsAllTheThings |
764
+ | Red Team Notes — Recon | https://www.ired.team/offensive-security/reconnaissance |
765
+ | EyeWitness Documentation | https://github.com/RedSiege/EyeWitness/blob/master/README.md |
766
+ | gowitness Documentation | https://github.com/sensepost/gowitness/wiki |
767
+ | ProjectDiscovery Tools | https://projectdiscovery.io/open-source |