fingerprint-mcp 0.1.0

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 (269) hide show
  1. package/LICENSE +663 -0
  2. package/README.ar.md +767 -0
  3. package/README.bn.md +767 -0
  4. package/README.bs.md +767 -0
  5. package/README.da.md +767 -0
  6. package/README.de.md +770 -0
  7. package/README.el.md +767 -0
  8. package/README.es.md +769 -0
  9. package/README.fr.md +769 -0
  10. package/README.hi.md +767 -0
  11. package/README.it.md +767 -0
  12. package/README.ja.md +767 -0
  13. package/README.ko.md +772 -0
  14. package/README.md +767 -0
  15. package/README.no.md +767 -0
  16. package/README.pl.md +767 -0
  17. package/README.pt-BR.md +767 -0
  18. package/README.ru.md +767 -0
  19. package/README.th.md +767 -0
  20. package/README.tr.md +767 -0
  21. package/README.uk.md +767 -0
  22. package/README.vi.md +767 -0
  23. package/README.zh-TW.md +768 -0
  24. package/README.zh.md +768 -0
  25. package/dist/app/index.d.ts +3 -0
  26. package/dist/app/index.d.ts.map +1 -0
  27. package/dist/app/index.js +614 -0
  28. package/dist/app/index.js.map +1 -0
  29. package/dist/composite/analyze.d.ts +3 -0
  30. package/dist/composite/analyze.d.ts.map +1 -0
  31. package/dist/composite/analyze.js +59 -0
  32. package/dist/composite/analyze.js.map +1 -0
  33. package/dist/composite/correlate.d.ts +3 -0
  34. package/dist/composite/correlate.d.ts.map +1 -0
  35. package/dist/composite/correlate.js +184 -0
  36. package/dist/composite/correlate.js.map +1 -0
  37. package/dist/composite/enumerate.d.ts +3 -0
  38. package/dist/composite/enumerate.d.ts.map +1 -0
  39. package/dist/composite/enumerate.js +94 -0
  40. package/dist/composite/enumerate.js.map +1 -0
  41. package/dist/composite/helpers.d.ts +22 -0
  42. package/dist/composite/helpers.d.ts.map +1 -0
  43. package/dist/composite/helpers.js +111 -0
  44. package/dist/composite/helpers.js.map +1 -0
  45. package/dist/composite/index.d.ts +3 -0
  46. package/dist/composite/index.d.ts.map +1 -0
  47. package/dist/composite/index.js +29 -0
  48. package/dist/composite/index.js.map +1 -0
  49. package/dist/composite/meta.d.ts +3 -0
  50. package/dist/composite/meta.d.ts.map +1 -0
  51. package/dist/composite/meta.js +23 -0
  52. package/dist/composite/meta.js.map +1 -0
  53. package/dist/composite/osint.d.ts +3 -0
  54. package/dist/composite/osint.d.ts.map +1 -0
  55. package/dist/composite/osint.js +40 -0
  56. package/dist/composite/osint.js.map +1 -0
  57. package/dist/composite/recon.d.ts +3 -0
  58. package/dist/composite/recon.d.ts.map +1 -0
  59. package/dist/composite/recon.js +131 -0
  60. package/dist/composite/recon.js.map +1 -0
  61. package/dist/composite/scan-dns.d.ts +3 -0
  62. package/dist/composite/scan-dns.d.ts.map +1 -0
  63. package/dist/composite/scan-dns.js +44 -0
  64. package/dist/composite/scan-dns.js.map +1 -0
  65. package/dist/composite/scan-http.d.ts +3 -0
  66. package/dist/composite/scan-http.d.ts.map +1 -0
  67. package/dist/composite/scan-http.js +68 -0
  68. package/dist/composite/scan-http.js.map +1 -0
  69. package/dist/composite/scan-paths.d.ts +3 -0
  70. package/dist/composite/scan-paths.d.ts.map +1 -0
  71. package/dist/composite/scan-paths.js +32 -0
  72. package/dist/composite/scan-paths.js.map +1 -0
  73. package/dist/composite/scan-ports.d.ts +3 -0
  74. package/dist/composite/scan-ports.d.ts.map +1 -0
  75. package/dist/composite/scan-ports.js +79 -0
  76. package/dist/composite/scan-ports.js.map +1 -0
  77. package/dist/composite/scan-services.d.ts +3 -0
  78. package/dist/composite/scan-services.d.ts.map +1 -0
  79. package/dist/composite/scan-services.js +111 -0
  80. package/dist/composite/scan-services.js.map +1 -0
  81. package/dist/composite/scan-tls.d.ts +3 -0
  82. package/dist/composite/scan-tls.d.ts.map +1 -0
  83. package/dist/composite/scan-tls.js +32 -0
  84. package/dist/composite/scan-tls.js.map +1 -0
  85. package/dist/composite/scan-waf.d.ts +3 -0
  86. package/dist/composite/scan-waf.d.ts.map +1 -0
  87. package/dist/composite/scan-waf.js +35 -0
  88. package/dist/composite/scan-waf.js.map +1 -0
  89. package/dist/correlation/index.d.ts +3 -0
  90. package/dist/correlation/index.d.ts.map +1 -0
  91. package/dist/correlation/index.js +1044 -0
  92. package/dist/correlation/index.js.map +1 -0
  93. package/dist/data/analytics-patterns.d.ts +21 -0
  94. package/dist/data/analytics-patterns.d.ts.map +1 -0
  95. package/dist/data/analytics-patterns.js +449 -0
  96. package/dist/data/analytics-patterns.js.map +1 -0
  97. package/dist/data/app-signatures.d.ts +52 -0
  98. package/dist/data/app-signatures.d.ts.map +1 -0
  99. package/dist/data/app-signatures.js +1143 -0
  100. package/dist/data/app-signatures.js.map +1 -0
  101. package/dist/data/c2-signatures.d.ts +54 -0
  102. package/dist/data/c2-signatures.d.ts.map +1 -0
  103. package/dist/data/c2-signatures.js +256 -0
  104. package/dist/data/c2-signatures.js.map +1 -0
  105. package/dist/data/cloud-ranges.d.ts +34 -0
  106. package/dist/data/cloud-ranges.d.ts.map +1 -0
  107. package/dist/data/cloud-ranges.js +628 -0
  108. package/dist/data/cloud-ranges.js.map +1 -0
  109. package/dist/data/cookie-patterns.d.ts +28 -0
  110. package/dist/data/cookie-patterns.d.ts.map +1 -0
  111. package/dist/data/cookie-patterns.js +225 -0
  112. package/dist/data/cookie-patterns.js.map +1 -0
  113. package/dist/data/error-signatures.d.ts +19 -0
  114. package/dist/data/error-signatures.d.ts.map +1 -0
  115. package/dist/data/error-signatures.js +321 -0
  116. package/dist/data/error-signatures.js.map +1 -0
  117. package/dist/data/favicon-hashes.d.ts +25 -0
  118. package/dist/data/favicon-hashes.d.ts.map +1 -0
  119. package/dist/data/favicon-hashes.js +249 -0
  120. package/dist/data/favicon-hashes.js.map +1 -0
  121. package/dist/data/h2-signatures.d.ts +50 -0
  122. package/dist/data/h2-signatures.d.ts.map +1 -0
  123. package/dist/data/h2-signatures.js +211 -0
  124. package/dist/data/h2-signatures.js.map +1 -0
  125. package/dist/data/header-order.d.ts +38 -0
  126. package/dist/data/header-order.d.ts.map +1 -0
  127. package/dist/data/header-order.js +185 -0
  128. package/dist/data/header-order.js.map +1 -0
  129. package/dist/data/jarm-signatures.d.ts +25 -0
  130. package/dist/data/jarm-signatures.d.ts.map +1 -0
  131. package/dist/data/jarm-signatures.js +213 -0
  132. package/dist/data/jarm-signatures.js.map +1 -0
  133. package/dist/data/saas-patterns.d.ts +23 -0
  134. package/dist/data/saas-patterns.d.ts.map +1 -0
  135. package/dist/data/saas-patterns.js +139 -0
  136. package/dist/data/saas-patterns.js.map +1 -0
  137. package/dist/data/sensitive-paths.d.ts +12 -0
  138. package/dist/data/sensitive-paths.d.ts.map +1 -0
  139. package/dist/data/sensitive-paths.js +1539 -0
  140. package/dist/data/sensitive-paths.js.map +1 -0
  141. package/dist/data/service-banners.d.ts +59 -0
  142. package/dist/data/service-banners.d.ts.map +1 -0
  143. package/dist/data/service-banners.js +323 -0
  144. package/dist/data/service-banners.js.map +1 -0
  145. package/dist/data/smtp-signatures.d.ts +12 -0
  146. package/dist/data/smtp-signatures.d.ts.map +1 -0
  147. package/dist/data/smtp-signatures.js +350 -0
  148. package/dist/data/smtp-signatures.js.map +1 -0
  149. package/dist/data/takeover-patterns.d.ts +37 -0
  150. package/dist/data/takeover-patterns.d.ts.map +1 -0
  151. package/dist/data/takeover-patterns.js +249 -0
  152. package/dist/data/takeover-patterns.js.map +1 -0
  153. package/dist/data/tech-patterns.d.ts +44 -0
  154. package/dist/data/tech-patterns.d.ts.map +1 -0
  155. package/dist/data/tech-patterns.js +690 -0
  156. package/dist/data/tech-patterns.js.map +1 -0
  157. package/dist/data/waf-signatures.d.ts +21 -0
  158. package/dist/data/waf-signatures.d.ts.map +1 -0
  159. package/dist/data/waf-signatures.js +318 -0
  160. package/dist/data/waf-signatures.js.map +1 -0
  161. package/dist/dns/index.d.ts +3 -0
  162. package/dist/dns/index.d.ts.map +1 -0
  163. package/dist/dns/index.js +1067 -0
  164. package/dist/dns/index.js.map +1 -0
  165. package/dist/enum/index.d.ts +3 -0
  166. package/dist/enum/index.d.ts.map +1 -0
  167. package/dist/enum/index.js +818 -0
  168. package/dist/enum/index.js.map +1 -0
  169. package/dist/h2/index.d.ts +3 -0
  170. package/dist/h2/index.d.ts.map +1 -0
  171. package/dist/h2/index.js +414 -0
  172. package/dist/h2/index.js.map +1 -0
  173. package/dist/http/index.d.ts +3 -0
  174. package/dist/http/index.d.ts.map +1 -0
  175. package/dist/http/index.js +2444 -0
  176. package/dist/http/index.js.map +1 -0
  177. package/dist/identify/index.d.ts +3 -0
  178. package/dist/identify/index.d.ts.map +1 -0
  179. package/dist/identify/index.js +447 -0
  180. package/dist/identify/index.js.map +1 -0
  181. package/dist/index.d.ts +3 -0
  182. package/dist/index.d.ts.map +1 -0
  183. package/dist/index.js +165 -0
  184. package/dist/index.js.map +1 -0
  185. package/dist/infra/index.d.ts +3 -0
  186. package/dist/infra/index.d.ts.map +1 -0
  187. package/dist/infra/index.js +989 -0
  188. package/dist/infra/index.js.map +1 -0
  189. package/dist/iot/index.d.ts +3 -0
  190. package/dist/iot/index.d.ts.map +1 -0
  191. package/dist/iot/index.js +610 -0
  192. package/dist/iot/index.js.map +1 -0
  193. package/dist/meta/index.d.ts +3 -0
  194. package/dist/meta/index.d.ts.map +1 -0
  195. package/dist/meta/index.js +442 -0
  196. package/dist/meta/index.js.map +1 -0
  197. package/dist/osint/index.d.ts +3 -0
  198. package/dist/osint/index.d.ts.map +1 -0
  199. package/dist/osint/index.js +687 -0
  200. package/dist/osint/index.js.map +1 -0
  201. package/dist/passive/index.d.ts +3 -0
  202. package/dist/passive/index.d.ts.map +1 -0
  203. package/dist/passive/index.js +944 -0
  204. package/dist/passive/index.js.map +1 -0
  205. package/dist/path/index.d.ts +3 -0
  206. package/dist/path/index.d.ts.map +1 -0
  207. package/dist/path/index.js +878 -0
  208. package/dist/path/index.js.map +1 -0
  209. package/dist/protocol/mcp-server.d.ts +4 -0
  210. package/dist/protocol/mcp-server.d.ts.map +1 -0
  211. package/dist/protocol/mcp-server.js +32 -0
  212. package/dist/protocol/mcp-server.js.map +1 -0
  213. package/dist/protocol/tools.d.ts +3 -0
  214. package/dist/protocol/tools.d.ts.map +1 -0
  215. package/dist/protocol/tools.js +5 -0
  216. package/dist/protocol/tools.js.map +1 -0
  217. package/dist/service/index.d.ts +3 -0
  218. package/dist/service/index.d.ts.map +1 -0
  219. package/dist/service/index.js +1053 -0
  220. package/dist/service/index.js.map +1 -0
  221. package/dist/smtp/index.d.ts +3 -0
  222. package/dist/smtp/index.d.ts.map +1 -0
  223. package/dist/smtp/index.js +437 -0
  224. package/dist/smtp/index.js.map +1 -0
  225. package/dist/ssh/index.d.ts +3 -0
  226. package/dist/ssh/index.d.ts.map +1 -0
  227. package/dist/ssh/index.js +676 -0
  228. package/dist/ssh/index.js.map +1 -0
  229. package/dist/tcp/index.d.ts +3 -0
  230. package/dist/tcp/index.d.ts.map +1 -0
  231. package/dist/tcp/index.js +369 -0
  232. package/dist/tcp/index.js.map +1 -0
  233. package/dist/timing/index.d.ts +3 -0
  234. package/dist/timing/index.d.ts.map +1 -0
  235. package/dist/timing/index.js +425 -0
  236. package/dist/timing/index.js.map +1 -0
  237. package/dist/tls/index.d.ts +3 -0
  238. package/dist/tls/index.d.ts.map +1 -0
  239. package/dist/tls/index.js +1332 -0
  240. package/dist/tls/index.js.map +1 -0
  241. package/dist/types/index.d.ts +26 -0
  242. package/dist/types/index.d.ts.map +1 -0
  243. package/dist/types/index.js +8 -0
  244. package/dist/types/index.js.map +1 -0
  245. package/dist/utils/cache.d.ts +11 -0
  246. package/dist/utils/cache.d.ts.map +1 -0
  247. package/dist/utils/cache.js +35 -0
  248. package/dist/utils/cache.js.map +1 -0
  249. package/dist/utils/murmurhash3.d.ts +3 -0
  250. package/dist/utils/murmurhash3.d.ts.map +1 -0
  251. package/dist/utils/murmurhash3.js +57 -0
  252. package/dist/utils/murmurhash3.js.map +1 -0
  253. package/dist/utils/rate-limiter.d.ts +10 -0
  254. package/dist/utils/rate-limiter.d.ts.map +1 -0
  255. package/dist/utils/rate-limiter.js +35 -0
  256. package/dist/utils/rate-limiter.js.map +1 -0
  257. package/dist/utils/require-key.d.ts +2 -0
  258. package/dist/utils/require-key.d.ts.map +1 -0
  259. package/dist/utils/require-key.js +8 -0
  260. package/dist/utils/require-key.js.map +1 -0
  261. package/dist/waf/index.d.ts +3 -0
  262. package/dist/waf/index.d.ts.map +1 -0
  263. package/dist/waf/index.js +767 -0
  264. package/dist/waf/index.js.map +1 -0
  265. package/dist/web/index.d.ts +3 -0
  266. package/dist/web/index.d.ts.map +1 -0
  267. package/dist/web/index.js +1366 -0
  268. package/dist/web/index.js.map +1 -0
  269. package/package.json +66 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sensitive-paths.js","sourceRoot":"","sources":["../../src/data/sensitive-paths.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ /**
2
+ * Network service banner patterns for protocol-level fingerprinting.
3
+ *
4
+ * Many network services announce themselves with distinctive banners upon connection.
5
+ * By matching these banners against known patterns we can identify the service software,
6
+ * extract version numbers, and infer OS/platform information without active scanning.
7
+ *
8
+ * Additional lookup tables map protocol-specific identifiers (SMB dialects, NTLM
9
+ * challenge versions, MySQL auth plugins) to OS and software versions.
10
+ *
11
+ * References:
12
+ * - Nmap service detection probes (nmap-service-probes)
13
+ * - https://svn.nmap.org/nmap/nmap-service-probes
14
+ * - MySQL protocol documentation
15
+ * - MS-SMB2 specification
16
+ */
17
+ /** A known service banner pattern entry. */
18
+ export interface ServiceBanner {
19
+ /** The network service / protocol name */
20
+ service: string;
21
+ /** Regex string to match against the raw banner bytes (as UTF-8 string) */
22
+ pattern: string;
23
+ /** Human-readable name for the identified software */
24
+ name: string;
25
+ /** Description of how to extract the version from the regex capture groups */
26
+ version_extract?: string;
27
+ }
28
+ export declare const SERVICE_BANNERS: ServiceBanner[];
29
+ /**
30
+ * Maps SMB dialect version strings to the Windows OS version that introduced them.
31
+ *
32
+ * During SMB2 negotiation, the server and client agree on the highest mutually supported
33
+ * dialect. The selected dialect reveals the minimum Windows version running on the server.
34
+ *
35
+ * Reference: MS-SMB2 Section 2.2.3 (NEGOTIATE Request)
36
+ */
37
+ export declare const SMB_DIALECT_MAP: Record<string, string>;
38
+ /**
39
+ * Maps the "MajorVersion.MinorVersion" extracted from an NTLM Type 2 challenge
40
+ * message (NTLMSSP_CHALLENGE) to a Windows OS version.
41
+ *
42
+ * The NTLM Type 2 message contains an 8-byte OS version structure at offset 48:
43
+ * - Byte 0: Major version
44
+ * - Byte 1: Minor version
45
+ * - Bytes 2-3: Build number (little-endian)
46
+ * - Bytes 4-7: NTLM revision
47
+ *
48
+ * Reference: MS-NLMP Section 2.2.2.1 (VERSION structure)
49
+ */
50
+ export declare const NTLM_OS_MAP: Record<string, string>;
51
+ /**
52
+ * Maps MySQL authentication plugin names (from the initial handshake packet) to
53
+ * the MySQL major version that uses them by default.
54
+ *
55
+ * Reference: MySQL Connection Phase documentation
56
+ * - https://dev.mysql.com/doc/dev/mysql-server/latest/page_protocol_connection_phase.html
57
+ */
58
+ export declare const MYSQL_AUTH_PLUGIN_MAP: Record<string, string>;
59
+ //# sourceMappingURL=service-banners.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service-banners.d.ts","sourceRoot":"","sources":["../../src/data/service-banners.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,4CAA4C;AAC5C,MAAM,WAAW,aAAa;IAC5B,0CAA0C;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,2EAA2E;IAC3E,OAAO,EAAE,MAAM,CAAC;IAChB,sDAAsD;IACtD,IAAI,EAAE,MAAM,CAAC;IACb,8EAA8E;IAC9E,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,eAAO,MAAM,eAAe,EAAE,aAAa,EA4P1C,CAAC;AAMF;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAOlD,CAAC;AAMF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAS9C,CAAC;AAMF;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAQxD,CAAC"}
@@ -0,0 +1,323 @@
1
+ /**
2
+ * Network service banner patterns for protocol-level fingerprinting.
3
+ *
4
+ * Many network services announce themselves with distinctive banners upon connection.
5
+ * By matching these banners against known patterns we can identify the service software,
6
+ * extract version numbers, and infer OS/platform information without active scanning.
7
+ *
8
+ * Additional lookup tables map protocol-specific identifiers (SMB dialects, NTLM
9
+ * challenge versions, MySQL auth plugins) to OS and software versions.
10
+ *
11
+ * References:
12
+ * - Nmap service detection probes (nmap-service-probes)
13
+ * - https://svn.nmap.org/nmap/nmap-service-probes
14
+ * - MySQL protocol documentation
15
+ * - MS-SMB2 specification
16
+ */
17
+ export const SERVICE_BANNERS = [
18
+ // ──────────────────────────────────────────────────
19
+ // MySQL / MariaDB
20
+ // ──────────────────────────────────────────────────
21
+ {
22
+ service: "mysql",
23
+ pattern: "^.\\x00\\x00\\x00\\x0a(5\\.\\d+\\.\\d+[\\w.-]*)",
24
+ name: "MySQL 5.x",
25
+ version_extract: "Capture group 1 contains the full version string (e.g. 5.7.42-log)",
26
+ },
27
+ {
28
+ service: "mysql",
29
+ pattern: "^.\\x00\\x00\\x00\\x0a(8\\.\\d+\\.\\d+[\\w.-]*)",
30
+ name: "MySQL 8.x",
31
+ version_extract: "Capture group 1 contains the full version string (e.g. 8.0.35)",
32
+ },
33
+ {
34
+ service: "mysql",
35
+ pattern: "^.\\x00\\x00\\x00\\x0a(\\d+\\.\\d+\\.\\d+-MariaDB[\\w.-]*)",
36
+ name: "MariaDB",
37
+ version_extract: "Capture group 1 contains the full version string (e.g. 10.11.6-MariaDB)",
38
+ },
39
+ {
40
+ service: "mysql",
41
+ pattern: "^.\\x00\\x00\\x00\\x0a.*Percona",
42
+ name: "Percona Server",
43
+ version_extract: "Version follows the Percona keyword in the greeting packet",
44
+ },
45
+ // ──────────────────────────────────────────────────
46
+ // PostgreSQL
47
+ // ──────────────────────────────────────────────────
48
+ {
49
+ service: "postgresql",
50
+ pattern: "server_version\\x00(\\d+\\.\\d+(?:\\.\\d+)?)",
51
+ name: "PostgreSQL",
52
+ version_extract: "Capture group 1 from the ParameterStatus 'server_version' message",
53
+ },
54
+ {
55
+ service: "postgresql",
56
+ pattern: "server_encoding\\x00(\\w+)",
57
+ name: "PostgreSQL (encoding)",
58
+ version_extract: "Capture group 1 contains the server encoding (e.g. UTF8, SQL_ASCII)",
59
+ },
60
+ // ──────────────────────────────────────────────────
61
+ // Redis
62
+ // ──────────────────────────────────────────────────
63
+ {
64
+ service: "redis",
65
+ pattern: "redis_version:(\\d+\\.\\d+\\.\\d+)",
66
+ name: "Redis",
67
+ version_extract: "Capture group 1 from INFO server output (e.g. 7.2.4)",
68
+ },
69
+ {
70
+ service: "redis",
71
+ pattern: "^-NOAUTH Authentication required",
72
+ name: "Redis (auth required)",
73
+ },
74
+ {
75
+ service: "redis",
76
+ pattern: "^-DENIED Redis is running in protected mode",
77
+ name: "Redis (protected mode)",
78
+ },
79
+ // ──────────────────────────────────────────────────
80
+ // SSH
81
+ // ──────────────────────────────────────────────────
82
+ {
83
+ service: "ssh",
84
+ pattern: "^SSH-(\\d+\\.\\d+)-OpenSSH_(\\d+\\.\\d+(?:p\\d+)?)",
85
+ name: "OpenSSH",
86
+ version_extract: "Group 1 = SSH protocol version, Group 2 = OpenSSH version (e.g. 9.6p1)",
87
+ },
88
+ {
89
+ service: "ssh",
90
+ pattern: "^SSH-(\\d+\\.\\d+)-dropbear_(\\d+\\.\\d+)",
91
+ name: "Dropbear SSH",
92
+ version_extract: "Group 1 = SSH protocol version, Group 2 = Dropbear version",
93
+ },
94
+ {
95
+ service: "ssh",
96
+ pattern: "^SSH-(\\d+\\.\\d+)-libssh[_-](\\d+\\.\\d+\\.\\d+)",
97
+ name: "libssh",
98
+ version_extract: "Group 1 = SSH protocol version, Group 2 = libssh version",
99
+ },
100
+ {
101
+ service: "ssh",
102
+ pattern: "^SSH-(\\d+\\.\\d+)-paramiko_(\\d+\\.\\d+\\.\\d+)",
103
+ name: "Paramiko SSH (Python)",
104
+ version_extract: "Group 1 = SSH protocol version, Group 2 = Paramiko version",
105
+ },
106
+ // ──────────────────────────────────────────────────
107
+ // FTP
108
+ // ──────────────────────────────────────────────────
109
+ {
110
+ service: "ftp",
111
+ pattern: "^220[- ].*\\(vsFTPd (\\d+\\.\\d+\\.\\d+)\\)",
112
+ name: "vsftpd",
113
+ version_extract: "Capture group 1 contains the vsftpd version (e.g. 3.0.5)",
114
+ },
115
+ {
116
+ service: "ftp",
117
+ pattern: "^220[- ]ProFTPD (\\d+\\.\\d+\\.\\d+\\w*)",
118
+ name: "ProFTPD",
119
+ version_extract: "Capture group 1 contains the ProFTPD version (e.g. 1.3.8b)",
120
+ },
121
+ {
122
+ service: "ftp",
123
+ pattern: "^220[- ].*Pure-FTPd",
124
+ name: "Pure-FTPd",
125
+ version_extract: "Version may follow in brackets if compiled with --with-altlog",
126
+ },
127
+ {
128
+ service: "ftp",
129
+ pattern: "^220[- ]Microsoft FTP Service",
130
+ name: "Microsoft IIS FTP",
131
+ version_extract: "Version is not typically disclosed in the banner; infer from IIS version",
132
+ },
133
+ {
134
+ service: "ftp",
135
+ pattern: "^220[- ]FileZilla Server (\\d+\\.\\d+\\.\\d+)",
136
+ name: "FileZilla Server",
137
+ version_extract: "Capture group 1 contains the FileZilla Server version",
138
+ },
139
+ {
140
+ service: "ftp",
141
+ pattern: "^220[- ].*wu-(\\d+\\.\\d+\\.\\d+)",
142
+ name: "WU-FTPD",
143
+ version_extract: "Capture group 1 contains the WU-FTPD version",
144
+ },
145
+ // ──────────────────────────────────────────────────
146
+ // SMTP
147
+ // ──────────────────────────────────────────────────
148
+ {
149
+ service: "smtp",
150
+ pattern: "^220[- ].*Postfix",
151
+ name: "Postfix SMTP",
152
+ },
153
+ {
154
+ service: "smtp",
155
+ pattern: "^220[- ].*Microsoft ESMTP MAIL Service",
156
+ name: "Microsoft Exchange SMTP",
157
+ },
158
+ {
159
+ service: "smtp",
160
+ pattern: "^220[- ].*Exim (\\d+\\.\\d+(?:\\.\\d+)?)",
161
+ name: "Exim",
162
+ version_extract: "Capture group 1 contains the Exim version",
163
+ },
164
+ {
165
+ service: "smtp",
166
+ pattern: "^220[- ].*Sendmail (\\d+\\.\\d+\\.\\d+)",
167
+ name: "Sendmail",
168
+ version_extract: "Capture group 1 contains the Sendmail version",
169
+ },
170
+ // ──────────────────────────────────────────────────
171
+ // HTTP (banner-style identification)
172
+ // ──────────────────────────────────────────────────
173
+ {
174
+ service: "http",
175
+ pattern: "Server:\\s*Apache/(\\d+\\.\\d+\\.\\d+)",
176
+ name: "Apache httpd",
177
+ version_extract: "Capture group 1 contains the Apache version (e.g. 2.4.58)",
178
+ },
179
+ {
180
+ service: "http",
181
+ pattern: "Server:\\s*nginx/(\\d+\\.\\d+\\.\\d+)",
182
+ name: "Nginx",
183
+ version_extract: "Capture group 1 contains the Nginx version (e.g. 1.25.4)",
184
+ },
185
+ {
186
+ service: "http",
187
+ pattern: "Server:\\s*Microsoft-IIS/(\\d+\\.\\d+)",
188
+ name: "Microsoft IIS",
189
+ version_extract: "Capture group 1 contains the IIS version (e.g. 10.0)",
190
+ },
191
+ {
192
+ service: "http",
193
+ pattern: "Server:\\s*LiteSpeed",
194
+ name: "LiteSpeed Web Server",
195
+ version_extract: "Version may or may not follow the LiteSpeed identifier",
196
+ },
197
+ {
198
+ service: "http",
199
+ pattern: "Server:\\s*openresty/(\\d+\\.\\d+\\.\\d+\\.\\d+)",
200
+ name: "OpenResty",
201
+ version_extract: "Capture group 1 contains the OpenResty version",
202
+ },
203
+ {
204
+ service: "http",
205
+ pattern: "Server:\\s*Caddy",
206
+ name: "Caddy",
207
+ },
208
+ {
209
+ service: "http",
210
+ pattern: "Server:\\s*cloudflare",
211
+ name: "Cloudflare",
212
+ },
213
+ // ──────────────────────────────────────────────────
214
+ // IMAP / POP3
215
+ // ──────────────────────────────────────────────────
216
+ {
217
+ service: "imap",
218
+ pattern: "^\\* OK.*Dovecot",
219
+ name: "Dovecot IMAP",
220
+ },
221
+ {
222
+ service: "imap",
223
+ pattern: "^\\* OK.*Cyrus IMAP (\\d+\\.\\d+\\.\\d+)",
224
+ name: "Cyrus IMAP",
225
+ version_extract: "Capture group 1 contains the Cyrus IMAP version",
226
+ },
227
+ {
228
+ service: "pop3",
229
+ pattern: "^\\+OK.*Dovecot",
230
+ name: "Dovecot POP3",
231
+ },
232
+ // ──────────────────────────────────────────────────
233
+ // MongoDB
234
+ // ──────────────────────────────────────────────────
235
+ {
236
+ service: "mongodb",
237
+ pattern: '"version"\\s*:\\s*"(\\d+\\.\\d+\\.\\d+)"',
238
+ name: "MongoDB",
239
+ version_extract: "Capture group 1 from the isMaster/hello response JSON",
240
+ },
241
+ // ──────────────────────────────────────────────────
242
+ // Memcached
243
+ // ──────────────────────────────────────────────────
244
+ {
245
+ service: "memcached",
246
+ pattern: "^STAT version (\\d+\\.\\d+\\.\\d+)",
247
+ name: "Memcached",
248
+ version_extract: "Capture group 1 from the 'stats' command output",
249
+ },
250
+ // ──────────────────────────────────────────────────
251
+ // DNS
252
+ // ──────────────────────────────────────────────────
253
+ {
254
+ service: "dns",
255
+ pattern: "version\\.bind.*\"(\\d+\\.\\d+\\.\\d+[\\w.-]*)\"",
256
+ name: "BIND (ISC)",
257
+ version_extract: "Capture group 1 from the version.bind CHAOS TXT response",
258
+ },
259
+ ];
260
+ // ──────────────────────────────────────────────────────────────────────────────
261
+ // SMB Dialect to OS/Windows Version Mapping
262
+ // ──────────────────────────────────────────────────────────────────────────────
263
+ /**
264
+ * Maps SMB dialect version strings to the Windows OS version that introduced them.
265
+ *
266
+ * During SMB2 negotiation, the server and client agree on the highest mutually supported
267
+ * dialect. The selected dialect reveals the minimum Windows version running on the server.
268
+ *
269
+ * Reference: MS-SMB2 Section 2.2.3 (NEGOTIATE Request)
270
+ */
271
+ export const SMB_DIALECT_MAP = {
272
+ "3.1.1": "Windows 10 / Server 2016+",
273
+ "3.0.2": "Windows 8.1 / Server 2012 R2",
274
+ "3.0": "Windows 8 / Server 2012",
275
+ "2.1": "Windows 7 / Server 2008 R2",
276
+ "2.0.2": "Windows Vista / Server 2008",
277
+ "NT LM 0.12": "Windows NT / 2000 / XP / Server 2003 (SMB1)",
278
+ };
279
+ // ──────────────────────────────────────────────────────────────────────────────
280
+ // NTLM Type 2 Challenge — OS Version Mapping
281
+ // ──────────────────────────────────────────────────────────────────────────────
282
+ /**
283
+ * Maps the "MajorVersion.MinorVersion" extracted from an NTLM Type 2 challenge
284
+ * message (NTLMSSP_CHALLENGE) to a Windows OS version.
285
+ *
286
+ * The NTLM Type 2 message contains an 8-byte OS version structure at offset 48:
287
+ * - Byte 0: Major version
288
+ * - Byte 1: Minor version
289
+ * - Bytes 2-3: Build number (little-endian)
290
+ * - Bytes 4-7: NTLM revision
291
+ *
292
+ * Reference: MS-NLMP Section 2.2.2.1 (VERSION structure)
293
+ */
294
+ export const NTLM_OS_MAP = {
295
+ "10.0": "Windows 10 / 11 / Server 2016 / 2019 / 2022",
296
+ "6.3": "Windows 8.1 / Server 2012 R2",
297
+ "6.2": "Windows 8 / Server 2012",
298
+ "6.1": "Windows 7 / Server 2008 R2",
299
+ "6.0": "Windows Vista / Server 2008",
300
+ "5.2": "Windows XP x64 / Server 2003",
301
+ "5.1": "Windows XP",
302
+ "5.0": "Windows 2000",
303
+ };
304
+ // ──────────────────────────────────────────────────────────────────────────────
305
+ // MySQL Authentication Plugin — Version Inference
306
+ // ──────────────────────────────────────────────────────────────────────────────
307
+ /**
308
+ * Maps MySQL authentication plugin names (from the initial handshake packet) to
309
+ * the MySQL major version that uses them by default.
310
+ *
311
+ * Reference: MySQL Connection Phase documentation
312
+ * - https://dev.mysql.com/doc/dev/mysql-server/latest/page_protocol_connection_phase.html
313
+ */
314
+ export const MYSQL_AUTH_PLUGIN_MAP = {
315
+ mysql_native_password: "MySQL 4.1 - 5.7 (default auth plugin for 5.x)",
316
+ caching_sha2_password: "MySQL 8.0+ (default auth plugin since 8.0.4)",
317
+ sha256_password: "MySQL 5.6+ (optional; default in some 5.7 configs)",
318
+ mysql_old_password: "MySQL 3.x - 4.0 (insecure, deprecated)",
319
+ mysql_clear_password: "MySQL 5.5+ (cleartext plugin, requires SSL)",
320
+ authentication_ldap_sasl: "MySQL 8.0+ Enterprise (LDAP SASL authentication)",
321
+ authentication_windows_client: "MySQL 5.5+ on Windows (Windows native auth)",
322
+ };
323
+ //# sourceMappingURL=service-banners.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service-banners.js","sourceRoot":"","sources":["../../src/data/service-banners.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ export interface SmtpSignature {
2
+ /** Mail server / provider name */
3
+ name: string;
4
+ /** Regex strings to match against the SMTP 220 banner */
5
+ bannerPatterns: string[];
6
+ /** EHLO extensions commonly advertised by this server */
7
+ ehloExtensions?: string[];
8
+ /** Classification of the mail server */
9
+ category: "provider" | "mta" | "relay";
10
+ }
11
+ export declare const SMTP_SIGNATURES: SmtpSignature[];
12
+ //# sourceMappingURL=smtp-signatures.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"smtp-signatures.d.ts","sourceRoot":"","sources":["../../src/data/smtp-signatures.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,aAAa;IAC5B,kCAAkC;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,yDAAyD;IACzD,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,yDAAyD;IACzD,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,wCAAwC;IACxC,QAAQ,EAAE,UAAU,GAAG,KAAK,GAAG,OAAO,CAAC;CACxC;AAED,eAAO,MAAM,eAAe,EAAE,aAAa,EA4W1C,CAAC"}