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
package/README.el.md ADDED
@@ -0,0 +1,767 @@
1
+ <p align="center">
2
+ <a href="README.md">English</a> |
3
+ <a href="README.zh.md">简体中文</a> |
4
+ <a href="README.zh-TW.md">繁體中文</a> |
5
+ <a href="README.ko.md">한국어</a> |
6
+ <a href="README.de.md">Deutsch</a> |
7
+ <a href="README.es.md">Español</a> |
8
+ <a href="README.fr.md">Français</a> |
9
+ <a href="README.it.md">Italiano</a> |
10
+ <a href="README.da.md">Dansk</a> |
11
+ <a href="README.ja.md">日本語</a> |
12
+ <a href="README.pl.md">Polski</a> |
13
+ <a href="README.ru.md">Русский</a> |
14
+ <a href="README.bs.md">Bosanski</a> |
15
+ <a href="README.ar.md">العربية</a> |
16
+ <a href="README.no.md">Norsk</a> |
17
+ <a href="README.pt-BR.md">Português (Brasil)</a> |
18
+ <a href="README.th.md">ไทย</a> |
19
+ <a href="README.tr.md">Türkçe</a> |
20
+ <a href="README.uk.md">Українська</a> |
21
+ <a href="README.bn.md">বাংলা</a> |
22
+ <strong>Ελληνικά</strong> |
23
+ <a href="README.vi.md">Tiếng Việt</a> |
24
+ <a href="README.hi.md">हिन्दी</a>
25
+ </p>
26
+
27
+ <p align="center">
28
+ <br>
29
+ <picture>
30
+ <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/badchars/fingerprint-mcp/main/.github/banner-dark.svg">
31
+ <source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/badchars/fingerprint-mcp/main/.github/banner-light.svg">
32
+ <img alt="fingerprint-mcp" src="https://raw.githubusercontent.com/badchars/fingerprint-mcp/main/.github/banner-dark.svg" width="700">
33
+ </picture>
34
+ </p>
35
+
36
+ <h3 align="center">Καθολικό ψηφιακό αποτύπωμα για AI agents.</h3>
37
+
38
+ <p align="center">
39
+ TCP, TLS/SSL, SSH, HTTP, DNS, WAF/CDN, IoT, SMTP, ανίχνευση υπηρεσιών, JARM, JA4X, κατακερματισμός favicon, τοπολογία υποδομής, ανίχνευση C2, εμπλουτισμός OSINT &mdash; ενοποιημένα σε έναν ενιαίο MCP server.<br>
40
+ Ο AI agent σας αποκτά <b>αποτύπωμα πλήρους φάσματος κατ' απαίτηση</b>, όχι 11 αποσυνδεδεμένα εργαλεία CLI και χειροκίνητη συσχέτιση.
41
+ </p>
42
+
43
+ <br>
44
+
45
+ <p align="center">
46
+ <a href="#το-πρόβλημα">Το Πρόβλημα</a> &bull;
47
+ <a href="#πώς-διαφέρει">Πώς Διαφέρει</a> &bull;
48
+ <a href="#γρήγορη-εκκίνηση">Γρήγορη Εκκίνηση</a> &bull;
49
+ <a href="#τι-μπορεί-να-κάνει-το-ai">Τι Μπορεί το AI</a> &bull;
50
+ <a href="#αναφορά-εργαλείων-13-εργαλεία-103-τεχνικές">Εργαλεία (13)</a> &bull;
51
+ <a href="#πηγές-δεδομένων-21">Πηγές Δεδομένων</a> &bull;
52
+ <a href="#αρχιτεκτονική">Αρχιτεκτονική</a> &bull;
53
+ <a href="CHANGELOG.md">Αρχείο Αλλαγών</a> &bull;
54
+ <a href="CONTRIBUTING.md">Συνεισφορά</a>
55
+ </p>
56
+
57
+ <p align="center">
58
+ <a href="https://www.npmjs.com/package/fingerprint-mcp"><img src="https://img.shields.io/npm/v/fingerprint-mcp.svg" alt="npm"></a>
59
+ <a href="LICENSE"><img src="https://img.shields.io/badge/license-AGPL--3.0-blue.svg" alt="Άδεια"></a>
60
+ <img src="https://img.shields.io/badge/runtime-Bun-f472b6" alt="Bun">
61
+ <img src="https://img.shields.io/badge/protocol-MCP-8b5cf6" alt="MCP">
62
+ <img src="https://img.shields.io/badge/tools-13-ef4444" alt="13 Εργαλεία">
63
+ <img src="https://img.shields.io/badge/techniques-103-f97316" alt="103 Τεχνικές">
64
+ </p>
65
+
66
+ <p align="center">
67
+ <img src="https://raw.githubusercontent.com/badchars/fingerprint-mcp/main/.github/demo.gif" alt="Επίδειξη fingerprint-mcp" width="800">
68
+ </p>
69
+
70
+ ---
71
+
72
+ ## Το Πρόβλημα
73
+
74
+ Η αποτύπωση ενός server σήμερα σημαίνει ζογκλαρισμό με μια ντουζίνα αποσυνδεδεμένα εργαλεία. Εκτελείτε `nmap` για σάρωση θυρών, `testssl.sh` για ανάλυση πιστοποιητικών, `curl -I` για HTTP headers, `dig` για DNS, `wafw00f` για ανίχνευση WAF, `ssh-audit` για SSH, ένα ξεχωριστό εργαλείο JARM, Wappalyzer για ανίχνευση τεχνολογιών &mdash; και μετά ξοδεύετε 30 λεπτά διασταυρώνοντας χειροκίνητα τα πάντα σε ένα υπολογιστικό φύλλο για να καταλάβετε τι πραγματικά τρέχει.
75
+
76
+ ```
77
+ Παραδοσιακή ροή εργασίας αποτύπωσης:
78
+ ανάλυση TLS πιστοποιητικών -> testssl.sh / openssl s_client
79
+ λήψη HTTP headers -> curl -I
80
+ ανίχνευση web τεχνολογιών -> wappalyzer CLI
81
+ DNS αναγνώριση -> dig / nslookup / dnsenum
82
+ σάρωση θυρών -> nmap -sV
83
+ ανίχνευση WAF -> wafw00f
84
+ έλεγχος SSH -> ssh-audit
85
+ αποτύπωση υπηρεσιών -> nmap scripts
86
+ JARM αποτύπωμα -> jarm (ξεχωριστό εργαλείο)
87
+ έλεγχος βάσεων OSINT -> shodan CLI, censys CLI
88
+ συσχέτιση όλων -> χειροκίνητα σε υπολογιστικό φύλλο
89
+ ──────────────────────────────
90
+ Σύνολο: 11 εργαλεία, 30+ λεπτά, χειροκίνητη συσχέτιση
91
+ ```
92
+
93
+ **fingerprint-mcp** δίνει στον AI agent σας 13 σύνθετα εργαλεία που καλύπτουν 103 τεχνικές αποτύπωσης σε 21 παρόχους μέσω του [Model Context Protocol](https://modelcontextprotocol.io). Ο agent εκτελεί πολυεπίπεδη αποτύπωση παράλληλα, συσχετίζει σήματα μεταξύ των επιπέδων TCP/TLS/HTTP/DNS/SSH, ανιχνεύει honeypots και υποδομή C2, και παρουσιάζει μια ενοποιημένη εικόνα πληροφοριών &mdash; σε μια μόνο συνομιλία.
94
+
95
+ ```
96
+ Με fingerprint-mcp:
97
+ Εσείς: "Κάνε βαθιά αναγνώριση στο target.com"
98
+
99
+ Agent: -> recon {url: "https://target.com", depth: "deep"}
100
+
101
+ -> TLS: nginx/1.24.0 μέσω JARM (3fd21b20d00000...),
102
+ πιστοποιητικό Let's Encrypt, 2 SAN, TLS 1.2+1.3
103
+ -> HTTP: Express.js πίσω από Cloudflare WAF,
104
+ React SPA, Google Analytics, αναλύθηκαν 14 headers ασφαλείας
105
+ -> DNS: εγγραφές A/AAAA/MX/TXT, ρυθμίστηκαν SPF/DKIM/DMARC,
106
+ ανιχνεύτηκαν Slack + Google Workspace μέσω CNAME/MX
107
+ -> Θύρες: 80, 443, 22 (OpenSSH 9.6), 8080 (dev server)
108
+ -> WAF: ανιχνεύτηκε Cloudflare, βρέθηκε IP προέλευσης μέσω direct-connect
109
+ -> Απαρίθμηση: 12 subdomains μέσω CT logs, ανιχνεύτηκε wildcard DNS
110
+ -> "Το target.com τρέχει nginx/1.24.0 με Express.js πίσω από
111
+ Cloudflare WAF. Η IP προέλευσης 203.0.113.42 εκτίθεται στη θύρα 8080.
112
+ Το TLS είναι σωστά ρυθμισμένο (ισοδύναμο A+) αλλά ο dev server
113
+ στη θύρα 8080 δεν έχει προστασία WAF. 3 subdomains δείχνουν σε
114
+ αποσυρμένη υποδομή — πιθανός κίνδυνος κατάληψης."
115
+ ```
116
+
117
+ ---
118
+
119
+ ## Πώς Διαφέρει
120
+
121
+ Τα υπάρχοντα εργαλεία σας δίνουν ακατέργαστα δεδομένα ένα επίπεδο τη φορά. Το fingerprint-mcp δίνει στον AI agent σας τη δυνατότητα να **συλλογίζεται ταυτόχρονα σε όλα τα επίπεδα αποτύπωσης**.
122
+
123
+ <table>
124
+ <thead>
125
+ <tr>
126
+ <th></th>
127
+ <th>Παραδοσιακή Προσέγγιση</th>
128
+ <th>fingerprint-mcp</th>
129
+ </tr>
130
+ </thead>
131
+ <tbody>
132
+ <tr>
133
+ <td><b>Διεπαφή</b></td>
134
+ <td>11 διαφορετικά εργαλεία CLI με διαφορετικές μορφές εξόδου</td>
135
+ <td>MCP &mdash; ο AI agent καλεί εργαλεία συνομιλητικά</td>
136
+ </tr>
137
+ <tr>
138
+ <td><b>Τεχνικές</b></td>
139
+ <td>Ένα εργαλείο, ένα επίπεδο τη φορά</td>
140
+ <td>103 τεχνικές σε 21 παρόχους, εκτελούνται παράλληλα</td>
141
+ </tr>
142
+ <tr>
143
+ <td><b>Ανάλυση TLS</b></td>
144
+ <td>Έξοδος testssl.sh, χειροκίνητη ανάλυση JARM ξεχωριστά</td>
145
+ <td>Ο agent συνδυάζει πιστοποιητικό + JARM + JA4X + cipher suites + SNI + CT logs σε μία κλήση</td>
146
+ </tr>
147
+ <tr>
148
+ <td><b>Συσχέτιση</b></td>
149
+ <td>Αντιγραφή-επικόλληση αποτελεσμάτων σε υπολογιστικό φύλλο</td>
150
+ <td>Ο agent διασταυρώνει: "Το JARM ταιριάζει με γνωστό C2 framework, ο χρονισμός HTTP επιβεβαιώνει honeypot"</td>
151
+ </tr>
152
+ <tr>
153
+ <td><b>Παράκαμψη WAF</b></td>
154
+ <td>Το wafw00f ανιχνεύει WAF, εσείς ψάχνετε χειροκίνητα για την προέλευση</td>
155
+ <td>Ο agent ανιχνεύει WAF, ανακαλύπτει την IP προέλευσης και επαληθεύει ότι εξυπηρετεί το ίδιο περιεχόμενο</td>
156
+ </tr>
157
+ <tr>
158
+ <td><b>API κλειδιά</b></td>
159
+ <td>Απαιτούνται για Shodan, Censys κλπ.</td>
160
+ <td>80+ ενεργές τεχνικές λειτουργούν χωρίς κανένα API κλειδί· τα κλειδιά ξεκλειδώνουν εμπλουτισμό OSINT</td>
161
+ </tr>
162
+ <tr>
163
+ <td><b>Εγκατάσταση</b></td>
164
+ <td>Εγκαταστήστε nmap, testssl, wafw00f, ssh-audit, jarm, wappalyzer...</td>
165
+ <td><code>npx fingerprint-mcp</code> &mdash; μία εντολή, μηδέν ρύθμιση</td>
166
+ </tr>
167
+ </tbody>
168
+ </table>
169
+
170
+ ---
171
+
172
+ ## Γρήγορη Εκκίνηση
173
+
174
+ ### Επιλογή 1: npx (χωρίς εγκατάσταση)
175
+
176
+ ```bash
177
+ npx fingerprint-mcp
178
+ ```
179
+
180
+ Όλες οι 80+ ενεργές τεχνικές αποτύπωσης λειτουργούν αμέσως. Δεν απαιτούνται API κλειδιά για TCP, TLS, SSH, HTTP, DNS, WAF, μονοπάτια, υπηρεσίες, χρονισμό, IoT, SMTP, αποτύπωση υποδομής και εφαρμογών.
181
+
182
+ ### Επιλογή 2: Κλωνοποίηση
183
+
184
+ ```bash
185
+ git clone https://github.com/badchars/fingerprint-mcp.git
186
+ cd fingerprint-mcp
187
+ bun install
188
+ ```
189
+
190
+ ### Μεταβλητές περιβάλλοντος (προαιρετικά)
191
+
192
+ ```bash
193
+ # Εμπλουτισμός OSINT (όλα προαιρετικά — η ενεργή αποτύπωση λειτουργεί χωρίς κανένα κλειδί)
194
+ export SHODAN_API_KEY=your-key # Ενεργοποιεί osint_shodan, ssh_hostkey_lookup
195
+ export CENSYS_API_ID=your-id # Ενεργοποιεί osint_censys (δωρεάν: 250 ερωτήματα/μήνα)
196
+ export CENSYS_API_SECRET=your-secret # Μυστικό Censys API
197
+ export SECURITYTRAILS_API_KEY=your-key # Ενεργοποιεί waf_origin, enum_passive_dns
198
+ export VIRUSTOTAL_API_KEY=your-key # Ενεργοποιεί osint_virustotal (δωρεάν: 500 ερωτήματα/ημέρα)
199
+ ```
200
+
201
+ Όλα τα API κλειδιά είναι προαιρετικά. Χωρίς αυτά, εξακολουθείτε να έχετε πλήρη αποτύπωση TCP/TLS/SSH/HTTP/DNS/WAF/μονοπατιών/υπηρεσιών/χρονισμού/IoT/SMTP/υποδομής/εφαρμογών, συσχέτιση, παθητική ανάλυση, απαρίθμηση και meta εργαλεία &mdash; 80+ τεχνικές που λειτουργούν ανιχνεύοντας απευθείας τον στόχο.
202
+
203
+ ### Σύνδεση με τον AI agent σας
204
+
205
+ <details open>
206
+ <summary><b>Claude Code</b></summary>
207
+
208
+ ```bash
209
+ # Με npx
210
+ claude mcp add fingerprint-mcp -- npx fingerprint-mcp
211
+
212
+ # Με τοπικό κλώνο
213
+ claude mcp add fingerprint-mcp -- bun run /path/to/fingerprint-mcp/src/index.ts
214
+ ```
215
+
216
+ </details>
217
+
218
+ <details>
219
+ <summary><b>Claude Desktop</b></summary>
220
+
221
+ Προσθέστε στο `~/Library/Application Support/Claude/claude_desktop_config.json`:
222
+
223
+ ```json
224
+ {
225
+ "mcpServers": {
226
+ "fingerprint": {
227
+ "command": "npx",
228
+ "args": ["-y", "fingerprint-mcp"],
229
+ "env": {
230
+ "SHODAN_API_KEY": "optional",
231
+ "CENSYS_API_ID": "optional",
232
+ "CENSYS_API_SECRET": "optional",
233
+ "SECURITYTRAILS_API_KEY": "optional",
234
+ "VIRUSTOTAL_API_KEY": "optional"
235
+ }
236
+ }
237
+ }
238
+ }
239
+ ```
240
+
241
+ </details>
242
+
243
+ <details>
244
+ <summary><b>Cursor / Windsurf / άλλοι MCP clients</b></summary>
245
+
246
+ Ίδια μορφή ρύθμισης JSON. Κατευθύνετε την εντολή στο `npx fingerprint-mcp` ή στη διαδρομή τοπικής εγκατάστασής σας.
247
+
248
+ </details>
249
+
250
+ ### Ξεκινήστε ερωτήματα
251
+
252
+ ```
253
+ Εσείς: "Αποτύπωσε τα πάντα στο target.com — TLS, HTTP stack, WAF, DNS, ανοιχτές θύρες"
254
+ ```
255
+
256
+ Αυτό είναι. Ο agent χειρίζεται αυτόματα την πολυεπίπεδη αποτύπωση, τη συσχέτιση σημάτων και την ανάλυση υποδομής.
257
+
258
+ ---
259
+
260
+ ## Τι Μπορεί να Κάνει το AI
261
+
262
+ ### Γρήγορη Αναγνώριση
263
+
264
+ ```
265
+ Εσείς: "Γρήγορη αναγνώριση στο target.com"
266
+
267
+ Agent: -> recon {url: "https://target.com", depth: "quick"}
268
+
269
+ -> TCP: θύρες 80, 443, 22 ανοιχτές
270
+ -> TLS: πιστοποιητικό Let's Encrypt RSA, TLS 1.2+1.3, υπογραφή JARM nginx
271
+ -> HTTP: nginx/1.24.0, Express.js, React, Cloudflare CDN
272
+ -> DNS: A 203.0.113.42, MX Google Workspace, SPF/DKIM ρυθμισμένα
273
+ -> WAF: ανιχνεύτηκε Cloudflare (header cf-ray)
274
+ -> "Το target.com είναι ένα React SPA σε Express.js πίσω από nginx/1.24.0,
275
+ που εξυπηρετείται μέσω Cloudflare CDN. Το TLS ρυθμίστηκε σωστά με
276
+ Let's Encrypt. SSH στη θύρα 22 τρέχει OpenSSH 9.6. Τα email
277
+ διαχειρίζεται το Google Workspace με πλήρες SPF/DKIM/DMARC."
278
+ ```
279
+
280
+ ### Βαθιά Έρευνα TLS
281
+
282
+ ```
283
+ Εσείς: "Ανάλυσε λεπτομερώς τη ρύθμιση TLS του suspicious-server.com"
284
+
285
+ Agent: -> scan_tls {host: "suspicious-server.com"}
286
+
287
+ -> Πιστοποιητικό: αυτο-υπογεγραμμένο, CN=localhost, έληξε πριν 47 ημέρες
288
+ -> JARM: 2ad2ad0002ad2ad00042d42d00000069d641f34fe76acdc05c40262f8815e5
289
+ (ταιριάζει με το προεπιλεγμένο προφίλ Cobalt Strike)
290
+ -> JA4X: το αποτύπωμα ταιριάζει με γνωστό μοτίβο C2 framework
291
+ -> Cipher suites: δέχεται αδύναμα ciphers (RC4, 3DES)
292
+ -> SNI: απαντά ταυτόσημα σε οποιαδήποτε τιμή SNI
293
+ -> CT logs: το πιστοποιητικό δεν καταγράφηκε (δεν είναι δημόσια αξιόπιστο)
294
+ -> "ΥΨΗΛΟΣ ΚΙΝΔΥΝΟΣ: Η ρύθμιση TLS υποδεικνύει ισχυρά υποδομή C2.
295
+ Αυτο-υπογεγραμμένο ληγμένο πιστοποιητικό, αποτύπωμα JARM ταιριάζει με Cobalt Strike,
296
+ δέχεται αδύναμα ciphers, και απαντά σε αυθαίρετες τιμές SNI.
297
+ Συνιστάται άμεση έρευνα και αποκλεισμός."
298
+ ```
299
+
300
+ ### Παράκαμψη WAF & Ανακάλυψη Προέλευσης
301
+
302
+ ```
303
+ Εσείς: "Το target.com είναι πίσω από WAF. Μπορείς να βρεις τον server προέλευσης;"
304
+
305
+ Agent: -> scan_waf {url: "https://target.com"}
306
+ -> scan_dns {domain: "target.com"}
307
+ -> enumerate {domain: "target.com"}
308
+
309
+ -> WAF: Cloudflare (AS13335), σελίδα πρόκλησης σε ύποπτα αιτήματα
310
+ -> DNS: εγγραφή A δείχνει σε IP Cloudflare 104.21.x.x
311
+ -> Subdomains: dev.target.com επιλύεται σε 203.0.113.42 (μη-Cloudflare)
312
+ -> Απευθείας σύνδεση στο 203.0.113.42:443 επιστρέφει ίδιο πιστοποιητικό TLS
313
+ -> Ιστορικό SecurityTrails: η προέλευση ήταν 203.0.113.42 πριν το Cloudflare
314
+ -> "Βρέθηκε IP προέλευσης: 203.0.113.42. Ανακαλύφθηκε μέσω του subdomain
315
+ dev.target.com που παρακάμπτει το Cloudflare. Η προέλευση εξυπηρετεί
316
+ το ίδιο πιστοποιητικό TLS και απαντά στο Host header target.com.
317
+ Η προέλευση δεν έχει προστασία WAF — δυνατή η άμεση πρόσβαση."
318
+ ```
319
+
320
+ ### Ανακάλυψη Υπηρεσιών σε Host
321
+
322
+ ```
323
+ Εσείς: "Τι υπηρεσίες τρέχουν στο 10.0.1.50;"
324
+
325
+ Agent: -> scan_ports {host: "10.0.1.50"}
326
+ -> scan_services {host: "10.0.1.50", ports: [22, 80, 3306, 5432, 6379, 8080]}
327
+
328
+ -> Θύρα 22: OpenSSH 8.9p1 Ubuntu, κλειδί host ED25519
329
+ -> Θύρα 80: Apache/2.4.57, PHP/8.2, WordPress 6.4
330
+ -> Θύρα 3306: MySQL 8.0.36, απαιτείται πιστοποίηση
331
+ -> Θύρα 5432: PostgreSQL 16.1, απαιτείται SSL
332
+ -> Θύρα 6379: Redis 7.2.4, ΧΩΡΙΣ πιστοποίηση (ανοιχτό)
333
+ -> Θύρα 8080: Node.js Express dev server, CORS: *
334
+ -> "ΚΡΙΣΙΜΟ: Το Redis στη θύρα 6379 δεν έχει πιστοποίηση — οποιοσδήποτε
335
+ στο δίκτυο μπορεί να διαβάσει/γράψει δεδομένα. Ο Express dev server
336
+ στη θύρα 8080 έχει wildcard CORS. Οι MySQL και PostgreSQL απαιτούν
337
+ σωστά πιστοποίηση. Το WordPress υστερεί κατά 2 μικρές εκδόσεις.
338
+ Απαιτείται άμεση δράση για το Redis και την έκθεση του dev server."
339
+ ```
340
+
341
+ ---
342
+
343
+ ## Αναφορά Εργαλείων (13 εργαλεία, 103 τεχνικές)
344
+
345
+ <details open>
346
+ <summary><b>recon &mdash; Πλήρης αναγνώριση με επιλογή τεχνικών βάσει βάθους</b></summary>
347
+
348
+ | Παράμετρος | Τύπος | Περιγραφή |
349
+ |------------|-------|-----------|
350
+ | `url` | string | Στοχευμένο URL για αποτύπωση |
351
+ | `depth` | `quick` \| `standard` \| `deep` | Βάθος σάρωσης: quick=5 τεχνικές, standard=20, deep=50+ |
352
+
353
+ Ενορχηστρώνει τεχνικές από όλους τους παρόχους βάσει επιπέδου βάθους. Η γρήγορη λειτουργία δίνει γρήγορη επισκόπηση· η βαθιά λειτουργία εκτελεί εξαντλητική αποτύπωση συμπεριλαμβανομένων απαρίθμησης, OSINT και συσχέτισης.
354
+
355
+ </details>
356
+
357
+ <details>
358
+ <summary><b>scan_ports &mdash; Σάρωση θυρών TCP με ανίχνευση υπηρεσιών (3 τεχνικές)</b></summary>
359
+
360
+ | Παράμετρος | Τύπος | Περιγραφή |
361
+ |------------|-------|-----------|
362
+ | `host` | string | Στοχευμένο host (IP ή domain) |
363
+ | `ports` | number[] | Προαιρετικό &mdash; συγκεκριμένες θύρες για σάρωση (προεπιλογή: κοινές θύρες) |
364
+
365
+ | Τεχνική | Περιγραφή |
366
+ |---------|-----------|
367
+ | `tcp_probe` | TCP connect σάρωση για ανίχνευση ανοιχτών θυρών |
368
+ | `tcp_banner` | Λήψη banner σε ανοιχτές θύρες για αναγνώριση υπηρεσιών |
369
+ | `tcp_analysis` | Ανάλυση συνδυασμών θυρών και συμπέρασμα υπηρεσιών |
370
+
371
+ </details>
372
+
373
+ <details>
374
+ <summary><b>scan_tls &mdash; Πλήρης ανάλυση TLS/SSL (8 τεχνικές)</b></summary>
375
+
376
+ | Παράμετρος | Τύπος | Περιγραφή |
377
+ |------------|-------|-----------|
378
+ | `host` | string | Στοχευμένο host (IP ή domain) |
379
+ | `port` | number | Προαιρετικό &mdash; θύρα TLS (προεπιλογή: 443) |
380
+
381
+ | Τεχνική | Περιγραφή |
382
+ |---------|-----------|
383
+ | `tls_certificate` | Ανάλυση πιστοποιητικού X.509 &mdash; υποκείμενο, εκδότης, SAN, εγκυρότητα, αλυσίδα |
384
+ | `tls_jarm` | Ενεργή αποτύπωση JARM &mdash; 10 ανιχνεύσεις TLS Client Hello, hash 62 χαρακτήρων |
385
+ | `tls_ja4x` | Παθητική αποτύπωση JA4X TLS από ιδιότητες πιστοποιητικού |
386
+ | `tls_ciphers` | Απαρίθμηση cipher suites και ανάλυση ισχύος |
387
+ | `tls_protocols` | Ανίχνευση υποστηριζόμενων εκδόσεων πρωτοκόλλου TLS (SSLv3 έως TLS 1.3) |
388
+ | `tls_sni` | Δοκιμή συμπεριφοράς SNI &mdash; προεπιλεγμένο πιστοποιητικό vs. ζητούμενο hostname |
389
+ | `tls_ct_logs` | Αναζήτηση Certificate Transparency logs μέσω crt.sh |
390
+ | `tls_ocsp` | Έλεγχος OCSP stapling και κατάστασης ανάκλησης |
391
+
392
+ </details>
393
+
394
+ <details>
395
+ <summary><b>scan_dns &mdash; Πληροφορίες DNS (7 τεχνικές)</b></summary>
396
+
397
+ | Παράμετρος | Τύπος | Περιγραφή |
398
+ |------------|-------|-----------|
399
+ | `domain` | string | Στοχευμένο domain |
400
+
401
+ | Τεχνική | Περιγραφή |
402
+ |---------|-----------|
403
+ | `dns_records` | Πλήρης απαρίθμηση εγγραφών &mdash; A, AAAA, MX, NS, TXT, CNAME, SOA |
404
+ | `dns_email_auth` | Ανάλυση εγγραφών SPF, DKIM και DMARC |
405
+ | `dns_saas` | Ανίχνευση SaaS/υπηρεσιών μέσω μοτίβων CNAME και MX (Slack, Zendesk κλπ.) |
406
+ | `dns_server` | Αποτύπωση DNS server (BIND, PowerDNS, Cloudflare κλπ.) |
407
+ | `dns_takeover` | Ανίχνευση κατάληψης subdomain μέσω ανάλυσης κρεμασμένων CNAME |
408
+ | `dns_zone` | Απόπειρα μεταφοράς ζώνης (AXFR) |
409
+ | `dns_caa` | Ανάλυση εγγραφών CAA για περιορισμούς αρχών πιστοποίησης |
410
+
411
+ </details>
412
+
413
+ <details>
414
+ <summary><b>scan_http &mdash; Αποτύπωση HTTP/web (29 τεχνικές)</b></summary>
415
+
416
+ | Παράμετρος | Τύπος | Περιγραφή |
417
+ |------------|-------|-----------|
418
+ | `url` | string | Στοχευμένο URL |
419
+
420
+ | Τεχνική | Πάροχος | Περιγραφή |
421
+ |---------|---------|-----------|
422
+ | `http_headers` | HTTP | Ανάλυση headers απόκρισης και αναγνώριση server |
423
+ | `http_header_order` | HTTP | Αποτύπωμα σειράς headers (υπογραφή λογισμικού server) |
424
+ | `http_security_headers` | HTTP | Έλεγχος headers ασφαλείας (CSP, HSTS, X-Frame-Options κλπ.) |
425
+ | `http_cookies` | HTTP | Ανάλυση cookies &mdash; σημαίες, προθέματα, ανίχνευση framework |
426
+ | `http_methods` | HTTP | Απαρίθμηση επιτρεπόμενων HTTP μεθόδων (OPTIONS) |
427
+ | `http_cors` | HTTP | Ανάλυση πολιτικής CORS και ανίχνευση λανθασμένης ρύθμισης |
428
+ | `http_compression` | HTTP | Υποστηριζόμενοι αλγόριθμοι συμπίεσης (gzip, br, zstd) |
429
+ | `http_caching` | HTTP | Ανάλυση headers cache (ανίχνευση CDN, reverse proxy) |
430
+ | `http_etag` | HTTP | Ανάλυση μορφής ETag για αναγνώριση backend |
431
+ | `http_error` | HTTP | Αποτύπωση σελίδων σφάλματος (προσαρμοσμένες vs. προεπιλεγμένες) |
432
+ | `http_redirect` | HTTP | Ανάλυση αλυσίδας ανακατευθύνσεων |
433
+ | `http_timing` | HTTP | Βασική γραμμή χρονισμού απόκρισης για προφίλ απόδοσης server |
434
+ | `http_favicon` | HTTP | Hash favicon (MurmurHash3) για αναγνώριση τεχνολογίας |
435
+ | `http_robots` | HTTP | Ανάλυση robots.txt και εξαγωγή απαγορευμένων μονοπατιών |
436
+ | `http_sitemap` | HTTP | Ανακάλυψη sitemap και εξαγωγή URL |
437
+ | `http_wellknown` | HTTP | Ανακάλυψη σημείων .well-known (security.txt, openid κλπ.) |
438
+ | `web_tech` | Web | Ανίχνευση τεχνολογίας μέσω μοτίβων HTML/JS/CSS |
439
+ | `web_analytics` | Web | Ανίχνευση υπηρεσιών analytics και παρακολούθησης |
440
+ | `web_sourcemaps` | Web | Ανακάλυψη αρχείων source map |
441
+ | `web_websocket` | Web | Ανίχνευση σημείων WebSocket |
442
+ | `web_graphql` | Web | Ανίχνευση σημείων GraphQL και introspection |
443
+ | `web_spa` | Web | Ανίχνευση frameworks εφαρμογών μονής σελίδας |
444
+ | `web_cdn` | Web | Ανίχνευση CDN μέσω headers απόκρισης και DNS |
445
+ | `web_meta` | Web | Ανάλυση HTML meta tags (γεννήτρια, ενδείξεις framework) |
446
+ | `web_feed` | Web | Ανακάλυψη RSS/Atom feeds |
447
+ | `h2_detect` | HTTP/2 | Ανίχνευση υποστήριξης πρωτοκόλλου HTTP/2 |
448
+ | `h2_fingerprint` | HTTP/2 | Αποτύπωση HTTP/2 server (SETTINGS, WINDOW_UPDATE) |
449
+ | `h2_h3` | HTTP/2 | Ανίχνευση υποστήριξης HTTP/3 (QUIC) μέσω header Alt-Svc |
450
+ | `app_cms` | Application | Ανίχνευση CMS (WordPress, Drupal, Joomla κλπ.) |
451
+
452
+ </details>
453
+
454
+ <details>
455
+ <summary><b>scan_paths &mdash; Πληροφορίες μονοπατιών (5 τεχνικές)</b></summary>
456
+
457
+ | Παράμετρος | Τύπος | Περιγραφή |
458
+ |------------|-------|-----------|
459
+ | `url` | string | Στοχευμένο URL |
460
+ | `categories` | string[] | Προαιρετικό &mdash; κατηγορίες για έλεγχο (sensitive, git, debug, api, config) |
461
+
462
+ | Τεχνική | Περιγραφή |
463
+ |---------|-----------|
464
+ | `path_sensitive` | Ανακάλυψη ευαίσθητων αρχείων (αρχεία αντιγράφων ασφαλείας, αρχεία ρύθμισης, dumps βάσεων δεδομένων) |
465
+ | `path_robots` | Ανάλυση robots.txt και sitemap.xml για κρυφά μονοπάτια |
466
+ | `path_git` | Ανίχνευση διαρροής αποθετηρίου Git (.git/HEAD, .git/config) |
467
+ | `path_debug` | Ανακάλυψη σημείων εντοπισμού σφαλμάτων (phpinfo, server-status, κονσόλες debug) |
468
+ | `path_api` | Ανακάλυψη εκδόσεων API και σημείων τεκμηρίωσης |
469
+
470
+ </details>
471
+
472
+ <details>
473
+ <summary><b>scan_waf &mdash; Ανίχνευση και αποτύπωση WAF/CDN (4 τεχνικές)</b></summary>
474
+
475
+ | Παράμετρος | Τύπος | Περιγραφή |
476
+ |------------|-------|-----------|
477
+ | `url` | string | Στοχευμένο URL |
478
+
479
+ | Τεχνική | Περιγραφή |
480
+ |---------|-----------|
481
+ | `waf_detect` | Ανίχνευση παρουσίας WAF μέσω ανάλυσης header απόκρισης και συμπεριφοράς |
482
+ | `waf_cdn` | Αναγνώριση παρόχου CDN (Cloudflare, Akamai, Fastly κλπ.) |
483
+ | `waf_fingerprint` | Αναγνώριση προϊόντος WAF και ανίχνευση έκδοσης |
484
+ | `waf_origin` | Ανακάλυψη IP προέλευσης πίσω από WAF/CDN (απαιτεί `SECURITYTRAILS_API_KEY`) |
485
+
486
+ </details>
487
+
488
+ <details>
489
+ <summary><b>scan_services &mdash; Ανίχνευση σε επίπεδο υπηρεσίας (12 τεχνικές)</b></summary>
490
+
491
+ | Παράμετρος | Τύπος | Περιγραφή |
492
+ |------------|-------|-----------|
493
+ | `host` | string | Στοχευμένο host (IP ή domain) |
494
+ | `ports` | number[] | Προαιρετικό &mdash; συγκεκριμένες θύρες για ανίχνευση |
495
+ | `service` | string | Προαιρετικό &mdash; συγκεκριμένη υπηρεσία για ανίχνευση (mysql, postgres, redis, ftp, ssh, smtp, vnc, iot) |
496
+
497
+ | Τεχνική | Πάροχος | Περιγραφή |
498
+ |---------|---------|-----------|
499
+ | `ssh_probe` | SSH | Ανίχνευση έκδοσης πρωτοκόλλου SSH και λογισμικού |
500
+ | `ssh_algorithms` | SSH | Έλεγχος αλγορίθμων SSH (KEX, ciphers, MACs, τύποι κλειδιών host) |
501
+ | `ssh_hostkey_lookup` | SSH | Αναζήτηση κλειδιού host SSH μέσω Shodan (απαιτεί `SHODAN_API_KEY`) |
502
+ | `svc_mysql` | Service | Ανίχνευση έκδοσης MySQL και αποτύπωση δυνατοτήτων |
503
+ | `svc_postgres` | Service | Ανίχνευση έκδοσης PostgreSQL και έλεγχος υποστήριξης SSL |
504
+ | `svc_redis` | Service | Ανίχνευση έκδοσης Redis και κατάσταση πιστοποίησης |
505
+ | `svc_ftp` | Service | Ανάλυση banner FTP και έλεγχος ανώνυμης σύνδεσης |
506
+ | `svc_vnc_rdp` | Service | Ανίχνευση υπηρεσιών VNC/RDP και αξιολόγηση ασφάλειας |
507
+ | `smtp_banner` | SMTP | Ανάλυση banner SMTP και αναγνώριση MTA |
508
+ | `smtp_starttls` | SMTP | Υποστήριξη SMTP STARTTLS και επιθεώρηση πιστοποιητικού |
509
+ | `iot_detect` | IoT | Ανίχνευση συσκευών IoT μέσω μοτίβων banner και προεπιλεγμένων σελίδων |
510
+ | `iot_upnp` | IoT | Ανακάλυψη συσκευών UPnP/SSDP σε τοπικό δίκτυο |
511
+
512
+ </details>
513
+
514
+ <details>
515
+ <summary><b>enumerate &mdash; Επέκταση εύρους (8 τεχνικές)</b></summary>
516
+
517
+ | Παράμετρος | Τύπος | Περιγραφή |
518
+ |------------|-------|-----------|
519
+ | `domain` | string | Στοχευμένο domain |
520
+
521
+ | Τεχνική | Περιγραφή |
522
+ |---------|-----------|
523
+ | `enum_subdomains` | Απαρίθμηση subdomains μέσω πολλαπλών μεθόδων |
524
+ | `enum_wildcard` | Ανίχνευση wildcard DNS |
525
+ | `enum_tld` | Επέκταση TLD (target.com -> target.net, target.org κλπ.) |
526
+ | `enum_related` | Ανακάλυψη σχετικών domains μέσω κοινής υποδομής |
527
+ | `enum_asn` | Ανακάλυψη γειτόνων ASN &mdash; άλλα domains στο ίδιο δίκτυο |
528
+ | `enum_ct` | Εξαγωγή subdomains από Certificate Transparency logs |
529
+ | `enum_passive_dns` | Ιστορικό παθητικού DNS (απαιτεί `SECURITYTRAILS_API_KEY`) |
530
+ | `enum_scope` | Σύνοψη εύρους και επισκόπηση επιφάνειας επίθεσης |
531
+
532
+ </details>
533
+
534
+ <details>
535
+ <summary><b>osint &mdash; Εμπλουτισμός OSINT (6 τεχνικές)</b></summary>
536
+
537
+ | Παράμετρος | Τύπος | Περιγραφή |
538
+ |------------|-------|-----------|
539
+ | `target` | string | Διεύθυνση IP ή domain προς εμπλουτισμό |
540
+ | `type` | `ip` \| `domain` | Προαιρετικό &mdash; τύπος στόχου (αυτόματη ανίχνευση αν παραλειφθεί) |
541
+
542
+ | Τεχνική | Πιστοποίηση | Περιγραφή |
543
+ |---------|------------|-----------|
544
+ | `osint_shodan` | `SHODAN_API_KEY` | Αναζήτηση host Shodan &mdash; ανοιχτές θύρες, banners, ευπάθειες, OS |
545
+ | `osint_censys` | `CENSYS_API_ID` + `CENSYS_API_SECRET` | Δεδομένα host Censys &mdash; υπηρεσίες, TLS, αυτόνομο σύστημα |
546
+ | `osint_reverse_ip` | Κανένα | Αντίστροφη αναζήτηση IP &mdash; άλλα domains στην ίδια IP |
547
+ | `osint_whois` | Κανένα | Δεδομένα εγγραφής WHOIS &mdash; registrar, ημερομηνίες, nameservers |
548
+ | `osint_webarchive` | Κανένα | Ιστορικό Web Archive &mdash; πρώτο/τελευταίο snapshot, συχνότητα αλλαγών |
549
+ | `osint_virustotal` | `VIRUSTOTAL_API_KEY` | Αναφορά VirusTotal domain/IP &mdash; ανιχνεύσεις, κατηγορίες, DNS |
550
+
551
+ </details>
552
+
553
+ <details>
554
+ <summary><b>analyze &mdash; Παθητική ανάλυση αποτυπώματος (3 λειτουργίες)</b></summary>
555
+
556
+ | Παράμετρος | Τύπος | Περιγραφή |
557
+ |------------|-------|-----------|
558
+ | `type` | `headers` \| `html` \| `banner` | Τύπος δεδομένων για ανάλυση |
559
+ | `data` | string | Ακατέργαστα δεδομένα για ανάλυση (επικολλήστε headers, HTML ή έξοδο banner) |
560
+
561
+ | Λειτουργία | Περιγραφή |
562
+ |------------|-----------|
563
+ | `fp_analyze_headers` | Παθητική ανάλυση HTTP headers &mdash; ανίχνευση server, framework, proxy χωρίς αποστολή κίνησης |
564
+ | `fp_analyze_html` | Παθητική ανάλυση HTML &mdash; ανίχνευση τεχνολογίας, αναγνώριση framework από πηγαίο κώδικα |
565
+ | `fp_analyze_banner` | Παθητική ανάλυση banner &mdash; αναγνώριση υπηρεσίας από ακατέργαστο κείμενο banner |
566
+
567
+ </details>
568
+
569
+ <details>
570
+ <summary><b>correlate &mdash; Μηχανή συσχέτισης πολλαπλών σημάτων (7 λειτουργίες)</b></summary>
571
+
572
+ | Παράμετρος | Τύπος | Περιγραφή |
573
+ |------------|-------|-----------|
574
+ | `type` | `consistency` \| `honeypot` \| `spoofing` \| `compare` \| `topology` \| `c2` \| `identify` | Λειτουργία συσχέτισης |
575
+ | `signals` | object | Σήματα αποτυπώματος για συσχέτιση (διαφέρει ανά λειτουργία) |
576
+
577
+ | Λειτουργία | Περιγραφή |
578
+ |------------|-----------|
579
+ | `fp_consistency` | Έλεγχος συνέπειας διεπίπεδων σημάτων &mdash; συμφωνούν τα αποτυπώματα TCP, TLS, HTTP και DNS; |
580
+ | `fp_honeypot` | Ανίχνευση honeypot &mdash; έλεγχος για αδύνατους συνδυασμούς υπηρεσιών και ανωμαλίες συμπεριφοράς |
581
+ | `fp_spoofing` | Ανίχνευση πλαστογράφησης &mdash; αναγνώριση αναντιστοιχίας headers server vs. πραγματικής συμπεριφοράς |
582
+ | `fp_compare` | Σύγκριση δίπλα-δίπλα των προφίλ αποτυπώματος δύο hosts |
583
+ | `fp_topology` | Χαρτογράφηση τοπολογίας υποδομής &mdash; CDN, load balancer, αλυσίδα reverse proxy |
584
+ | `fp_c2` | Ανίχνευση C2 framework μέσω συσχέτισης JARM, TLS, HTTP και χρονισμού |
585
+ | `fp_identify` | Αναγνώριση βάσει hash έναντι βάσης δεδομένων γνωστών υπογραφών |
586
+
587
+ </details>
588
+
589
+ <details>
590
+ <summary><b>meta &mdash; Ρύθμιση και δεδομένα server (3 λειτουργίες)</b></summary>
591
+
592
+ | Παράμετρος | Τύπος | Περιγραφή |
593
+ |------------|-------|-----------|
594
+ | `category` | string | Προαιρετικό &mdash; φιλτράρισμα ανά κατηγορία |
595
+
596
+ | Λειτουργία | Περιγραφή |
597
+ |------------|-----------|
598
+ | `fp_sources` | Λίστα όλων των διαθέσιμων πηγών δεδομένων με ρύθμιση και κατάσταση API κλειδιών |
599
+ | `fp_config` | Ρύθμιση server &mdash; έκδοση, φορτωμένοι πάροχοι, αριθμός τεχνικών |
600
+ | `fp_signatures` | Λίστα βάσης δεδομένων υπογραφών &mdash; υπογραφές JARM, banner, WAF, εφαρμογών |
601
+
602
+ </details>
603
+
604
+ ---
605
+
606
+ ### Χρήση CLI
607
+
608
+ ```bash
609
+ # Λίστα όλων των διαθέσιμων εργαλείων και τεχνικών
610
+ npx fingerprint-mcp --list
611
+
612
+ # Εκτέλεση οποιουδήποτε εργαλείου απευθείας
613
+ npx fingerprint-mcp --tool recon '{"url":"https://example.com","depth":"quick"}'
614
+ npx fingerprint-mcp --tool scan_tls '{"host":"example.com"}'
615
+ npx fingerprint-mcp --tool scan_ports '{"host":"10.0.1.50","ports":[22,80,443,3306,8080]}'
616
+ npx fingerprint-mcp --tool scan_dns '{"domain":"example.com"}'
617
+ npx fingerprint-mcp --tool scan_http '{"url":"https://example.com"}'
618
+ npx fingerprint-mcp --tool scan_waf '{"url":"https://example.com"}'
619
+ npx fingerprint-mcp --tool scan_services '{"host":"10.0.1.50","service":"redis"}'
620
+ npx fingerprint-mcp --tool enumerate '{"domain":"example.com"}'
621
+ npx fingerprint-mcp --tool analyze '{"type":"headers","data":"Server: nginx/1.24.0\nX-Powered-By: Express"}'
622
+ npx fingerprint-mcp --tool correlate '{"type":"honeypot","signals":{"jarm":"...","banner":"..."}}'
623
+ npx fingerprint-mcp --tool meta '{}'
624
+
625
+ # Εργαλεία OSINT (απαιτούν API κλειδιά)
626
+ SHODAN_API_KEY=your-key npx fingerprint-mcp --tool osint '{"target":"203.0.113.42","type":"ip"}'
627
+ ```
628
+
629
+ ---
630
+
631
+ ## Πηγές Δεδομένων (21)
632
+
633
+ | Πηγή | Πιστοποίηση | Τι παρέχει |
634
+ |------|------------|------------|
635
+ | TCP ανίχνευση | Κανένα | Σάρωση θυρών, λήψη banner, ανίχνευση υπηρεσιών |
636
+ | Ανάλυση TLS/SSL | Κανένα | Ανάλυση πιστοποιητικών, αποτύπωση JARM, JA4X, απαρίθμηση ciphers, δοκιμή SNI |
637
+ | Ανίχνευση SSH | Κανένα | Έκδοση πρωτοκόλλου, έλεγχος αλγορίθμων, ανίχνευση λογισμικού |
638
+ | Ανάλυση HTTP | Κανένα | Αποτύπωση headers, κατακερματισμός favicon, ανάλυση cookies, απαρίθμηση μεθόδων, CORS |
639
+ | Ανίχνευση Web | Κανένα | Ανίχνευση τεχνολογίας, analytics, source maps, WebSocket, GraphQL, SPA frameworks |
640
+ | Ανακάλυψη μονοπατιών | Κανένα | Ευαίσθητα αρχεία, διαρροές git, σημεία debug, εκδόσεις API, robots.txt |
641
+ | Ανάλυση DNS | Κανένα | Απαρίθμηση εγγραφών, ανάλυση πιστοποίησης email, ανίχνευση SaaS, αποτύπωση servers |
642
+ | Ανίχνευση WAF/CDN | Κανένα | Αναγνώριση WAF, ανίχνευση CDN, αποτύπωση WAF |
643
+ | Ανάλυση χρονισμού | Κανένα | Βασική γραμμή χρονισμού απόκρισης, ανίχνευση απόκλισης ρολογιού |
644
+ | HTTP/2 & HTTP/3 | Κανένα | Ανίχνευση και αποτύπωση HTTP/2, ανακάλυψη HTTP/3 Alt-Svc |
645
+ | Ανίχνευση SMTP | Κανένα | Ανάλυση banner SMTP, επιθεώρηση STARTTLS |
646
+ | IoT/Ενσωματωμένα | Κανένα | Ανίχνευση συσκευών IoT, ανακάλυψη UPnP/SSDP |
647
+ | Ανίχνευση εφαρμογών | Κανένα | Αναγνώριση CMS, framework και πλατφορμών e-commerce |
648
+ | Ανίχνευση υπηρεσιών | Κανένα | Αποτύπωση MySQL, PostgreSQL, Redis, FTP, VNC/RDP |
649
+ | Ανίχνευση υποδομής | Κανένα | Αναγνώριση παρόχου cloud, παρόχου hosting, CDN |
650
+ | Μηχανή συσχέτισης | Κανένα | Συνέπεια σημάτων, ανίχνευση honeypot, ανίχνευση πλαστογράφησης, χαρτογράφηση τοπολογίας |
651
+ | Μηχανή αναγνώρισης | Κανένα | Αναγνώριση βάσει hash, ανίχνευση C2, αντιστοίχιση υπογραφών |
652
+ | [Shodan](https://www.shodan.io) | `SHODAN_API_KEY` | Πληροφορίες host &mdash; ανοιχτές θύρες, banners, ευπάθειες, ανίχνευση OS |
653
+ | [Censys](https://censys.io) | `CENSYS_API_ID` | Δεδομένα host &mdash; υπηρεσίες, πιστοποιητικά TLS, πληροφορίες αυτόνομου συστήματος |
654
+ | [SecurityTrails](https://securitytrails.com) | `SECURITYTRAILS_API_KEY` | Ανακάλυψη προέλευσης WAF, ιστορικό παθητικού DNS, ιστορικές εγγραφές |
655
+ | [VirusTotal](https://www.virustotal.com) | `VIRUSTOTAL_API_KEY` | Φήμη domain/IP, αποτελέσματα ανίχνευσης, ιστορικό DNS, κατηγορίες |
656
+
657
+ ---
658
+
659
+ ## Αρχιτεκτονική
660
+
661
+ ```
662
+ src/
663
+ index.ts # Σημείο εισόδου CLI (--help, --list, --tool, stdio server)
664
+ protocol/
665
+ mcp-server.ts # Εγκατάσταση MCP server (stdio transport)
666
+ tools.ts # Μητρώο εργαλείων — και τα 13 σύνθετα εργαλεία εγγράφονται εδώ
667
+ types/
668
+ index.ts # Κοινοί τύποι (ToolDef, ToolContext, ToolResult)
669
+ utils/
670
+ rate-limiter.ts # Περιοριστής ρυθμού ανά πάροχο
671
+ cache.ts # TTL cache για αποκρίσεις API
672
+ require-key.ts # Βοηθός επαλήθευσης API κλειδιών
673
+ murmurhash3.ts # MurmurHash3 για κατακερματισμό favicon
674
+ composite/ # 13 σύνθετοι ενορχηστρωτές εργαλείων
675
+ recon.ts # Ενορχηστρωτής πλήρους αναγνώρισης (quick/standard/deep)
676
+ scan-ports.ts # Σύνθετο σάρωσης θυρών
677
+ scan-tls.ts # Σύνθετο ανάλυσης TLS
678
+ scan-dns.ts # Σύνθετο πληροφοριών DNS
679
+ scan-http.ts # Σύνθετο αποτύπωσης HTTP
680
+ scan-paths.ts # Σύνθετο ανακάλυψης μονοπατιών
681
+ scan-waf.ts # Σύνθετο ανίχνευσης WAF/CDN
682
+ scan-services.ts # Σύνθετο ανίχνευσης υπηρεσιών
683
+ analyze.ts # Σύνθετο παθητικής ανάλυσης
684
+ correlate.ts # Σύνθετο μηχανής συσχέτισης
685
+ enumerate.ts # Σύνθετο επέκτασης εύρους
686
+ osint.ts # Σύνθετο εμπλουτισμού OSINT
687
+ meta.ts # Σύνθετο meta server
688
+ helpers.ts # Κοινοί σύνθετοι βοηθοί
689
+ tcp/ # Τεχνικές ανίχνευσης TCP (3)
690
+ tls/ # Τεχνικές ανάλυσης TLS/SSL (8)
691
+ ssh/ # Τεχνικές ανίχνευσης SSH (3)
692
+ http/ # Τεχνικές αποτύπωσης HTTP (16)
693
+ web/ # Τεχνικές ανίχνευσης web τεχνολογιών (9)
694
+ path/ # Τεχνικές ανακάλυψης μονοπατιών (5)
695
+ dns/ # Τεχνικές πληροφοριών DNS (7)
696
+ waf/ # Τεχνικές ανίχνευσης WAF/CDN (4)
697
+ timing/ # Τεχνικές ανάλυσης χρονισμού (2)
698
+ h2/ # Τεχνικές HTTP/2 & HTTP/3 (3)
699
+ smtp/ # Τεχνικές ανίχνευσης SMTP (2)
700
+ iot/ # Τεχνικές ανίχνευσης IoT/ενσωματωμένων (2)
701
+ app/ # Τεχνικές ανίχνευσης εφαρμογών (3)
702
+ service/ # Τεχνικές ανίχνευσης υπηρεσιών (5)
703
+ infra/ # Τεχνικές ανίχνευσης υποδομής (3)
704
+ correlation/ # Μηχανή συσχέτισης (5)
705
+ identify/ # Μηχανή αναγνώρισης (3)
706
+ passive/ # Παθητική ανάλυση (3)
707
+ osint/ # Τεχνικές εμπλουτισμού OSINT (6)
708
+ enum/ # Τεχνικές απαρίθμησης (8)
709
+ meta/ # Meta εργαλεία (3)
710
+ data/ # Βάσεις δεδομένων υπογραφών και βιβλιοθήκες μοτίβων
711
+ jarm-signatures.ts # Γνωστά αποτυπώματα JARM (C2, servers, CDN)
712
+ waf-signatures.ts # Υπογραφές ανίχνευσης WAF
713
+ service-banners.ts # Μοτίβα banner υπηρεσιών
714
+ tech-patterns.ts # Μοτίβα ανίχνευσης τεχνολογίας
715
+ favicon-hashes.ts # Γνωστές τιμές MurmurHash3 favicon
716
+ c2-signatures.ts # Υπογραφές C2 frameworks
717
+ ... # 15+ βάσεις δεδομένων υπογραφών/μοτίβων
718
+ ```
719
+
720
+ **Σχεδιαστικές αποφάσεις:**
721
+
722
+ - **13 σύνθετα εργαλεία, 103 τεχνικές** &mdash; Ο agent καλεί εργαλεία υψηλού επιπέδου (`recon`, `scan_tls`, `scan_http`). Κάθε σύνθετο ενορχηστρώνει πολλαπλές τεχνικές χαμηλού επιπέδου και επιστρέφει συσχετισμένα αποτελέσματα. Αυτό μειώνει το overhead κλήσεων εργαλείων διατηρώντας τη λεπτομέρεια.
723
+ - **21 πάροχοι, 1 server** &mdash; Κάθε επίπεδο αποτύπωσης είναι ανεξάρτητο module. Ο σύνθετος ενορχηστρωτής επιλέγει τεχνικές βάσει πλαισίου και βάθους.
724
+ - **Πρώτα ενεργό, OSINT προαιρετικό** &mdash; 80+ τεχνικές λειτουργούν ανιχνεύοντας απευθείας τον στόχο με μηδέν API κλειδιά. Οι πάροχοι OSINT (Shodan, Censys, VirusTotal, SecurityTrails) προσθέτουν εμπλουτισμό αλλά δεν είναι ποτέ απαραίτητοι.
725
+ - **Περιοριστές ρυθμού ανά πάροχο** &mdash; Κάθε πάροχος έχει τη δική του περίπτωση `RateLimiter`. Η ενεργή ανίχνευση περιορίζεται σε ρυθμό για αποφυγή ανίχνευσης· τα OSINT APIs βαθμονομούνται στα quotas τους.
726
+ - **TTL caching** &mdash; Εγγραφές DNS (10 λεπτά), αποτελέσματα OSINT (15 λεπτά), CT logs (30 λεπτά) αποθηκεύονται σε cache για αποφυγή περιττών αναζητήσεων κατά τη διάρκεια ροών εργασίας πολλαπλών εργαλείων.
727
+ - **Χαριτωμένη υποβάθμιση** &mdash; Τα ελλείποντα API κλειδιά δεν κρασάρουν τον server. Τα εργαλεία OSINT επιστρέφουν περιγραφικά μηνύματα: "Ρυθμίστε SHODAN_API_KEY για ενεργοποίηση αναζήτησης host Shodan."
728
+ - **3 εξαρτήσεις** &mdash; `@modelcontextprotocol/sdk`, `zod` και `cheerio`. Όλες οι λειτουργίες I/O δικτύου μέσω native `fetch()` και modules Node.js `net`/`tls`/`dns`. Χωρίς nmap, χωρίς εξωτερικά εκτελέσιμα.
729
+
730
+ ---
731
+
732
+ ## Περιορισμοί
733
+
734
+ - Τα εργαλεία OSINT (Shodan, Censys, VirusTotal, SecurityTrails) απαιτούν API κλειδιά για τις αντίστοιχες τεχνικές τους
735
+ - Η δωρεάν βαθμίδα Censys περιορίζεται σε 250 ερωτήματα/μήνα
736
+ - Η δωρεάν βαθμίδα VirusTotal περιορίζεται σε 500 ερωτήματα/ημέρα
737
+ - Η σάρωση θυρών χρησιμοποιεί TCP connect (όχι SYN scan) &mdash; λιγότερο διακριτική από nmap αλλά δεν απαιτεί δικαιώματα root
738
+ - Η αποτύπωση JARM απαιτεί άμεση πρόσβαση TCP στον στόχο (μπορεί να αποκλειστεί από firewalls)
739
+ - Η ανακάλυψη UPnP/SSDP λειτουργεί μόνο σε τοπικά δίκτυα
740
+ - Η ανίχνευση υπηρεσιών (MySQL, PostgreSQL, Redis) συνδέεται αλλά δεν πιστοποιείται
741
+ - Η απαρίθμηση subdomains βασίζεται σε CT logs και παθητικές πηγές (χωρίς brute-force)
742
+ - Δοκιμασμένο σε macOS / Linux (Windows δεν δοκιμάστηκε)
743
+
744
+ ---
745
+
746
+ ## Μέρος της Σουίτας Ασφαλείας MCP
747
+
748
+ | Έργο | Τομέας | Εργαλεία |
749
+ |------|--------|----------|
750
+ | [hackbrowser-mcp](https://github.com/badchars/hackbrowser-mcp) | Δοκιμές ασφάλειας μέσω browser | 39 εργαλεία, Firefox, δοκιμές injection |
751
+ | [cloud-audit-mcp](https://github.com/badchars/cloud-audit-mcp) | Ασφάλεια cloud (AWS/Azure/GCP) | 38 εργαλεία, 60+ έλεγχοι |
752
+ | [github-security-mcp](https://github.com/badchars/github-security-mcp) | Θέση ασφαλείας GitHub | 39 εργαλεία, 45 έλεγχοι |
753
+ | [cve-mcp](https://github.com/badchars/cve-mcp) | Πληροφορίες ευπαθειών | 23 εργαλεία, 5 πηγές |
754
+ | [osint-mcp-server](https://github.com/badchars/osint-mcp-server) | OSINT & αναγνώριση | 37 εργαλεία, 12 πηγές |
755
+ | [darknet-mcp-server](https://github.com/badchars/darknet-mcp-server) | Dark web & πληροφορίες απειλών | 66 εργαλεία, 16 πηγές |
756
+ | **fingerprint-mcp** | **Καθολικό ψηφιακό αποτύπωμα** | **13 εργαλεία, 103 τεχνικές, 21 πάροχοι** |
757
+
758
+ ---
759
+
760
+ <p align="center">
761
+ <b>Μόνο για εξουσιοδοτημένες δοκιμές και αξιολόγηση ασφάλειας.</b><br>
762
+ Πάντα βεβαιωθείτε ότι έχετε κατάλληλη εξουσιοδότηση πριν εκτελέσετε αποτύπωση σε οποιονδήποτε στόχο.
763
+ </p>
764
+
765
+ <p align="center">
766
+ <a href="LICENSE">Άδεια AGPL-3.0</a> &bull; Κατασκευάστηκε με Bun + TypeScript
767
+ </p>