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.
- package/LICENSE +663 -0
- package/README.ar.md +767 -0
- package/README.bn.md +767 -0
- package/README.bs.md +767 -0
- package/README.da.md +767 -0
- package/README.de.md +770 -0
- package/README.el.md +767 -0
- package/README.es.md +769 -0
- package/README.fr.md +769 -0
- package/README.hi.md +767 -0
- package/README.it.md +767 -0
- package/README.ja.md +767 -0
- package/README.ko.md +772 -0
- package/README.md +767 -0
- package/README.no.md +767 -0
- package/README.pl.md +767 -0
- package/README.pt-BR.md +767 -0
- package/README.ru.md +767 -0
- package/README.th.md +767 -0
- package/README.tr.md +767 -0
- package/README.uk.md +767 -0
- package/README.vi.md +767 -0
- package/README.zh-TW.md +768 -0
- package/README.zh.md +768 -0
- package/dist/app/index.d.ts +3 -0
- package/dist/app/index.d.ts.map +1 -0
- package/dist/app/index.js +614 -0
- package/dist/app/index.js.map +1 -0
- package/dist/composite/analyze.d.ts +3 -0
- package/dist/composite/analyze.d.ts.map +1 -0
- package/dist/composite/analyze.js +59 -0
- package/dist/composite/analyze.js.map +1 -0
- package/dist/composite/correlate.d.ts +3 -0
- package/dist/composite/correlate.d.ts.map +1 -0
- package/dist/composite/correlate.js +184 -0
- package/dist/composite/correlate.js.map +1 -0
- package/dist/composite/enumerate.d.ts +3 -0
- package/dist/composite/enumerate.d.ts.map +1 -0
- package/dist/composite/enumerate.js +94 -0
- package/dist/composite/enumerate.js.map +1 -0
- package/dist/composite/helpers.d.ts +22 -0
- package/dist/composite/helpers.d.ts.map +1 -0
- package/dist/composite/helpers.js +111 -0
- package/dist/composite/helpers.js.map +1 -0
- package/dist/composite/index.d.ts +3 -0
- package/dist/composite/index.d.ts.map +1 -0
- package/dist/composite/index.js +29 -0
- package/dist/composite/index.js.map +1 -0
- package/dist/composite/meta.d.ts +3 -0
- package/dist/composite/meta.d.ts.map +1 -0
- package/dist/composite/meta.js +23 -0
- package/dist/composite/meta.js.map +1 -0
- package/dist/composite/osint.d.ts +3 -0
- package/dist/composite/osint.d.ts.map +1 -0
- package/dist/composite/osint.js +40 -0
- package/dist/composite/osint.js.map +1 -0
- package/dist/composite/recon.d.ts +3 -0
- package/dist/composite/recon.d.ts.map +1 -0
- package/dist/composite/recon.js +131 -0
- package/dist/composite/recon.js.map +1 -0
- package/dist/composite/scan-dns.d.ts +3 -0
- package/dist/composite/scan-dns.d.ts.map +1 -0
- package/dist/composite/scan-dns.js +44 -0
- package/dist/composite/scan-dns.js.map +1 -0
- package/dist/composite/scan-http.d.ts +3 -0
- package/dist/composite/scan-http.d.ts.map +1 -0
- package/dist/composite/scan-http.js +68 -0
- package/dist/composite/scan-http.js.map +1 -0
- package/dist/composite/scan-paths.d.ts +3 -0
- package/dist/composite/scan-paths.d.ts.map +1 -0
- package/dist/composite/scan-paths.js +32 -0
- package/dist/composite/scan-paths.js.map +1 -0
- package/dist/composite/scan-ports.d.ts +3 -0
- package/dist/composite/scan-ports.d.ts.map +1 -0
- package/dist/composite/scan-ports.js +79 -0
- package/dist/composite/scan-ports.js.map +1 -0
- package/dist/composite/scan-services.d.ts +3 -0
- package/dist/composite/scan-services.d.ts.map +1 -0
- package/dist/composite/scan-services.js +111 -0
- package/dist/composite/scan-services.js.map +1 -0
- package/dist/composite/scan-tls.d.ts +3 -0
- package/dist/composite/scan-tls.d.ts.map +1 -0
- package/dist/composite/scan-tls.js +32 -0
- package/dist/composite/scan-tls.js.map +1 -0
- package/dist/composite/scan-waf.d.ts +3 -0
- package/dist/composite/scan-waf.d.ts.map +1 -0
- package/dist/composite/scan-waf.js +35 -0
- package/dist/composite/scan-waf.js.map +1 -0
- package/dist/correlation/index.d.ts +3 -0
- package/dist/correlation/index.d.ts.map +1 -0
- package/dist/correlation/index.js +1044 -0
- package/dist/correlation/index.js.map +1 -0
- package/dist/data/analytics-patterns.d.ts +21 -0
- package/dist/data/analytics-patterns.d.ts.map +1 -0
- package/dist/data/analytics-patterns.js +449 -0
- package/dist/data/analytics-patterns.js.map +1 -0
- package/dist/data/app-signatures.d.ts +52 -0
- package/dist/data/app-signatures.d.ts.map +1 -0
- package/dist/data/app-signatures.js +1143 -0
- package/dist/data/app-signatures.js.map +1 -0
- package/dist/data/c2-signatures.d.ts +54 -0
- package/dist/data/c2-signatures.d.ts.map +1 -0
- package/dist/data/c2-signatures.js +256 -0
- package/dist/data/c2-signatures.js.map +1 -0
- package/dist/data/cloud-ranges.d.ts +34 -0
- package/dist/data/cloud-ranges.d.ts.map +1 -0
- package/dist/data/cloud-ranges.js +628 -0
- package/dist/data/cloud-ranges.js.map +1 -0
- package/dist/data/cookie-patterns.d.ts +28 -0
- package/dist/data/cookie-patterns.d.ts.map +1 -0
- package/dist/data/cookie-patterns.js +225 -0
- package/dist/data/cookie-patterns.js.map +1 -0
- package/dist/data/error-signatures.d.ts +19 -0
- package/dist/data/error-signatures.d.ts.map +1 -0
- package/dist/data/error-signatures.js +321 -0
- package/dist/data/error-signatures.js.map +1 -0
- package/dist/data/favicon-hashes.d.ts +25 -0
- package/dist/data/favicon-hashes.d.ts.map +1 -0
- package/dist/data/favicon-hashes.js +249 -0
- package/dist/data/favicon-hashes.js.map +1 -0
- package/dist/data/h2-signatures.d.ts +50 -0
- package/dist/data/h2-signatures.d.ts.map +1 -0
- package/dist/data/h2-signatures.js +211 -0
- package/dist/data/h2-signatures.js.map +1 -0
- package/dist/data/header-order.d.ts +38 -0
- package/dist/data/header-order.d.ts.map +1 -0
- package/dist/data/header-order.js +185 -0
- package/dist/data/header-order.js.map +1 -0
- package/dist/data/jarm-signatures.d.ts +25 -0
- package/dist/data/jarm-signatures.d.ts.map +1 -0
- package/dist/data/jarm-signatures.js +213 -0
- package/dist/data/jarm-signatures.js.map +1 -0
- package/dist/data/saas-patterns.d.ts +23 -0
- package/dist/data/saas-patterns.d.ts.map +1 -0
- package/dist/data/saas-patterns.js +139 -0
- package/dist/data/saas-patterns.js.map +1 -0
- package/dist/data/sensitive-paths.d.ts +12 -0
- package/dist/data/sensitive-paths.d.ts.map +1 -0
- package/dist/data/sensitive-paths.js +1539 -0
- package/dist/data/sensitive-paths.js.map +1 -0
- package/dist/data/service-banners.d.ts +59 -0
- package/dist/data/service-banners.d.ts.map +1 -0
- package/dist/data/service-banners.js +323 -0
- package/dist/data/service-banners.js.map +1 -0
- package/dist/data/smtp-signatures.d.ts +12 -0
- package/dist/data/smtp-signatures.d.ts.map +1 -0
- package/dist/data/smtp-signatures.js +350 -0
- package/dist/data/smtp-signatures.js.map +1 -0
- package/dist/data/takeover-patterns.d.ts +37 -0
- package/dist/data/takeover-patterns.d.ts.map +1 -0
- package/dist/data/takeover-patterns.js +249 -0
- package/dist/data/takeover-patterns.js.map +1 -0
- package/dist/data/tech-patterns.d.ts +44 -0
- package/dist/data/tech-patterns.d.ts.map +1 -0
- package/dist/data/tech-patterns.js +690 -0
- package/dist/data/tech-patterns.js.map +1 -0
- package/dist/data/waf-signatures.d.ts +21 -0
- package/dist/data/waf-signatures.d.ts.map +1 -0
- package/dist/data/waf-signatures.js +318 -0
- package/dist/data/waf-signatures.js.map +1 -0
- package/dist/dns/index.d.ts +3 -0
- package/dist/dns/index.d.ts.map +1 -0
- package/dist/dns/index.js +1067 -0
- package/dist/dns/index.js.map +1 -0
- package/dist/enum/index.d.ts +3 -0
- package/dist/enum/index.d.ts.map +1 -0
- package/dist/enum/index.js +818 -0
- package/dist/enum/index.js.map +1 -0
- package/dist/h2/index.d.ts +3 -0
- package/dist/h2/index.d.ts.map +1 -0
- package/dist/h2/index.js +414 -0
- package/dist/h2/index.js.map +1 -0
- package/dist/http/index.d.ts +3 -0
- package/dist/http/index.d.ts.map +1 -0
- package/dist/http/index.js +2444 -0
- package/dist/http/index.js.map +1 -0
- package/dist/identify/index.d.ts +3 -0
- package/dist/identify/index.d.ts.map +1 -0
- package/dist/identify/index.js +447 -0
- package/dist/identify/index.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +165 -0
- package/dist/index.js.map +1 -0
- package/dist/infra/index.d.ts +3 -0
- package/dist/infra/index.d.ts.map +1 -0
- package/dist/infra/index.js +989 -0
- package/dist/infra/index.js.map +1 -0
- package/dist/iot/index.d.ts +3 -0
- package/dist/iot/index.d.ts.map +1 -0
- package/dist/iot/index.js +610 -0
- package/dist/iot/index.js.map +1 -0
- package/dist/meta/index.d.ts +3 -0
- package/dist/meta/index.d.ts.map +1 -0
- package/dist/meta/index.js +442 -0
- package/dist/meta/index.js.map +1 -0
- package/dist/osint/index.d.ts +3 -0
- package/dist/osint/index.d.ts.map +1 -0
- package/dist/osint/index.js +687 -0
- package/dist/osint/index.js.map +1 -0
- package/dist/passive/index.d.ts +3 -0
- package/dist/passive/index.d.ts.map +1 -0
- package/dist/passive/index.js +944 -0
- package/dist/passive/index.js.map +1 -0
- package/dist/path/index.d.ts +3 -0
- package/dist/path/index.d.ts.map +1 -0
- package/dist/path/index.js +878 -0
- package/dist/path/index.js.map +1 -0
- package/dist/protocol/mcp-server.d.ts +4 -0
- package/dist/protocol/mcp-server.d.ts.map +1 -0
- package/dist/protocol/mcp-server.js +32 -0
- package/dist/protocol/mcp-server.js.map +1 -0
- package/dist/protocol/tools.d.ts +3 -0
- package/dist/protocol/tools.d.ts.map +1 -0
- package/dist/protocol/tools.js +5 -0
- package/dist/protocol/tools.js.map +1 -0
- package/dist/service/index.d.ts +3 -0
- package/dist/service/index.d.ts.map +1 -0
- package/dist/service/index.js +1053 -0
- package/dist/service/index.js.map +1 -0
- package/dist/smtp/index.d.ts +3 -0
- package/dist/smtp/index.d.ts.map +1 -0
- package/dist/smtp/index.js +437 -0
- package/dist/smtp/index.js.map +1 -0
- package/dist/ssh/index.d.ts +3 -0
- package/dist/ssh/index.d.ts.map +1 -0
- package/dist/ssh/index.js +676 -0
- package/dist/ssh/index.js.map +1 -0
- package/dist/tcp/index.d.ts +3 -0
- package/dist/tcp/index.d.ts.map +1 -0
- package/dist/tcp/index.js +369 -0
- package/dist/tcp/index.js.map +1 -0
- package/dist/timing/index.d.ts +3 -0
- package/dist/timing/index.d.ts.map +1 -0
- package/dist/timing/index.js +425 -0
- package/dist/timing/index.js.map +1 -0
- package/dist/tls/index.d.ts +3 -0
- package/dist/tls/index.d.ts.map +1 -0
- package/dist/tls/index.js +1332 -0
- package/dist/tls/index.js.map +1 -0
- package/dist/types/index.d.ts +26 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +8 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/cache.d.ts +11 -0
- package/dist/utils/cache.d.ts.map +1 -0
- package/dist/utils/cache.js +35 -0
- package/dist/utils/cache.js.map +1 -0
- package/dist/utils/murmurhash3.d.ts +3 -0
- package/dist/utils/murmurhash3.d.ts.map +1 -0
- package/dist/utils/murmurhash3.js +57 -0
- package/dist/utils/murmurhash3.js.map +1 -0
- package/dist/utils/rate-limiter.d.ts +10 -0
- package/dist/utils/rate-limiter.d.ts.map +1 -0
- package/dist/utils/rate-limiter.js +35 -0
- package/dist/utils/rate-limiter.js.map +1 -0
- package/dist/utils/require-key.d.ts +2 -0
- package/dist/utils/require-key.d.ts.map +1 -0
- package/dist/utils/require-key.js +8 -0
- package/dist/utils/require-key.js.map +1 -0
- package/dist/waf/index.d.ts +3 -0
- package/dist/waf/index.d.ts.map +1 -0
- package/dist/waf/index.js +767 -0
- package/dist/waf/index.js.map +1 -0
- package/dist/web/index.d.ts +3 -0
- package/dist/web/index.d.ts.map +1 -0
- package/dist/web/index.js +1366 -0
- package/dist/web/index.js.map +1 -0
- package/package.json +66 -0
package/README.pl.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
|
+
<strong>Polski</strong> |
|
|
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
|
+
<a href="README.el.md">Ελληνικά</a> |
|
|
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">Uniwersalny cyfrowy fingerprinting dla agentow AI.</h3>
|
|
37
|
+
|
|
38
|
+
<p align="center">
|
|
39
|
+
TCP, TLS/SSL, SSH, HTTP, DNS, WAF/CDN, IoT, SMTP, sondowanie uslug, JARM, JA4X, hashowanie favicon, topologia infrastruktury, wykrywanie C2, wzbogacanie OSINT — zunifikowane w jednym serwerze MCP.<br>
|
|
40
|
+
Twoj agent AI otrzymuje <b>fingerprinting pelnego spektrum na zadanie</b>, a nie 11 odlaczonych narzedzi CLI i reczna korelacje.
|
|
41
|
+
</p>
|
|
42
|
+
|
|
43
|
+
<br>
|
|
44
|
+
|
|
45
|
+
<p align="center">
|
|
46
|
+
<a href="#problem">Problem</a> •
|
|
47
|
+
<a href="#czym-si%C4%99-rozni">Czym Sie Rozni</a> •
|
|
48
|
+
<a href="#szybki-start">Szybki Start</a> •
|
|
49
|
+
<a href="#co-moze-ai">Co Moze AI</a> •
|
|
50
|
+
<a href="#dokumentacja-narzedzi-13-narzedzi-103-techniki">Narzedzia (13)</a> •
|
|
51
|
+
<a href="#zrodla-danych-21">Zrodla Danych</a> •
|
|
52
|
+
<a href="#architektura">Architektura</a> •
|
|
53
|
+
<a href="CHANGELOG.md">Changelog</a> •
|
|
54
|
+
<a href="CONTRIBUTING.md">Wspoltworz</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="Licencja"></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 Narzedzi">
|
|
63
|
+
<img src="https://img.shields.io/badge/techniques-103-f97316" alt="103 Techniki">
|
|
64
|
+
</p>
|
|
65
|
+
|
|
66
|
+
<p align="center">
|
|
67
|
+
<img src="https://raw.githubusercontent.com/badchars/fingerprint-mcp/main/.github/demo.gif" alt="Demo fingerprint-mcp" width="800">
|
|
68
|
+
</p>
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## Problem
|
|
73
|
+
|
|
74
|
+
Fingerprinting serwera dzisiaj oznacza zonglowanie tuzinem odlaczonych narzedzi. Uruchamiasz `nmap` do skanowania portow, `testssl.sh` do analizy certyfikatow, `curl -I` do naglowkow HTTP, `dig` do DNS, `wafw00f` do wykrywania WAF, `ssh-audit` do SSH, oddzielne narzedzie JARM, Wappalyzer do wykrywania technologii — a potem spedzasz 30 minut na recznym krizowym odniesieniu wszystkiego w arkuszu kalkulacyjnym, zeby dowiedziec sie, co naprawde dziala.
|
|
75
|
+
|
|
76
|
+
```
|
|
77
|
+
Tradycyjny przeplyw pracy fingerprintingu:
|
|
78
|
+
analiza certyfikatow TLS -> testssl.sh / openssl s_client
|
|
79
|
+
przechwytywanie naglowkow HTTP -> curl -I
|
|
80
|
+
wykrywanie technologii web -> wappalyzer CLI
|
|
81
|
+
rekonesans DNS -> dig / nslookup / dnsenum
|
|
82
|
+
skanowanie portow -> nmap -sV
|
|
83
|
+
wykrywanie WAF -> wafw00f
|
|
84
|
+
audyt SSH -> ssh-audit
|
|
85
|
+
fingerprinting uslug -> nmap scripts
|
|
86
|
+
fingerprint JARM -> jarm (oddzielne narzedzie)
|
|
87
|
+
sprawdzanie baz OSINT -> shodan CLI, censys CLI
|
|
88
|
+
korelacja wszystkiego -> recznie w arkuszu kalkulacyjnym
|
|
89
|
+
──────────────────────────────
|
|
90
|
+
Razem: 11 narzedzi, 30+ minut, reczna korelacja
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
**fingerprint-mcp** daje Twojemu agentowi AI 13 zlozonych narzedzi opakowujacych 103 techniki fingerprintingu w 21 dostawcach przez [Model Context Protocol](https://modelcontextprotocol.io). Agent uruchamia wielowarstwowy fingerprinting rownolegle, koreluje sygnaly miedzy warstwami TCP/TLS/HTTP/DNS/SSH, wykrywa honeypoty i infrastrukture C2 oraz przedstawia zunifikowany obraz wywiadowczy — w jednej rozmowie.
|
|
94
|
+
|
|
95
|
+
```
|
|
96
|
+
Z fingerprint-mcp:
|
|
97
|
+
Ty: "Zrob glebokie rozpoznanie target.com"
|
|
98
|
+
|
|
99
|
+
Agent: -> recon {url: "https://target.com", depth: "deep"}
|
|
100
|
+
|
|
101
|
+
-> TLS: nginx/1.24.0 przez JARM (3fd21b20d00000...),
|
|
102
|
+
certyfikat Let's Encrypt, 2 SAN, TLS 1.2+1.3
|
|
103
|
+
-> HTTP: Express.js za Cloudflare WAF,
|
|
104
|
+
React SPA, Google Analytics, 14 naglowkow bezpieczenstwa przeanalizowanych
|
|
105
|
+
-> DNS: rekordy A/AAAA/MX/TXT, SPF/DKIM/DMARC skonfigurowane,
|
|
106
|
+
Slack + Google Workspace wykryte przez CNAME/MX
|
|
107
|
+
-> Porty: 80, 443, 22 (OpenSSH 9.6), 8080 (serwer deweloperski)
|
|
108
|
+
-> WAF: Cloudflare wykryty, IP zrodla odkryty przez bezposrednie polaczenie
|
|
109
|
+
-> Enumeracja: 12 subdomen przez logi CT, wildcard DNS wykryty
|
|
110
|
+
-> "target.com uruchamia nginx/1.24.0 z Express.js za
|
|
111
|
+
Cloudflare WAF. IP zrodla 203.0.113.42 wystawiony na porcie 8080.
|
|
112
|
+
TLS jest poprawnie skonfigurowany (rownowaznik A+), ale serwer
|
|
113
|
+
deweloperski na 8080 nie ma ochrony WAF. 3 subdomeny wskazuja
|
|
114
|
+
na wycofana infrastrukture — potencjalne ryzyko przejecia."
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
## Czym Sie Rozni
|
|
120
|
+
|
|
121
|
+
Istniejace narzedzia daja surowe dane po jednej warstwie na raz. fingerprint-mcp daje Twojemu agentowi AI mozliwosc **wnioskowania na wszystkich warstwach fingerprintingu jednoczesnie**.
|
|
122
|
+
|
|
123
|
+
<table>
|
|
124
|
+
<thead>
|
|
125
|
+
<tr>
|
|
126
|
+
<th></th>
|
|
127
|
+
<th>Tradycyjne Podejscie</th>
|
|
128
|
+
<th>fingerprint-mcp</th>
|
|
129
|
+
</tr>
|
|
130
|
+
</thead>
|
|
131
|
+
<tbody>
|
|
132
|
+
<tr>
|
|
133
|
+
<td><b>Interfejs</b></td>
|
|
134
|
+
<td>11 roznych narzedzi CLI z roznymi formatami wyjscia</td>
|
|
135
|
+
<td>MCP — agent AI wywoluje narzedzia konwersacyjnie</td>
|
|
136
|
+
</tr>
|
|
137
|
+
<tr>
|
|
138
|
+
<td><b>Techniki</b></td>
|
|
139
|
+
<td>Jedno narzedzie, jedna warstwa na raz</td>
|
|
140
|
+
<td>103 techniki w 21 dostawcach, uruchamiane rownolegle</td>
|
|
141
|
+
</tr>
|
|
142
|
+
<tr>
|
|
143
|
+
<td><b>Analiza TLS</b></td>
|
|
144
|
+
<td>Wyjscie testssl.sh, reczna analiza JARM oddzielnie</td>
|
|
145
|
+
<td>Agent laczy certyfikat + JARM + JA4X + zestawy szyfrow + SNI + logi CT w jednym wywolaniu</td>
|
|
146
|
+
</tr>
|
|
147
|
+
<tr>
|
|
148
|
+
<td><b>Korelacja</b></td>
|
|
149
|
+
<td>Kopiuj-wklej wyniki do arkusza kalkulacyjnego</td>
|
|
150
|
+
<td>Agent koreluje krzyzowo: "JARM pasuje do znanego frameworka C2, timing HTTP potwierdza honeypot"</td>
|
|
151
|
+
</tr>
|
|
152
|
+
<tr>
|
|
153
|
+
<td><b>Obejscie WAF</b></td>
|
|
154
|
+
<td>wafw00f wykrywa WAF, recznie szukasz zrodla</td>
|
|
155
|
+
<td>Agent wykrywa WAF, odkrywa IP zrodla i weryfikuje, ze serwuje ta sama zawartosc</td>
|
|
156
|
+
</tr>
|
|
157
|
+
<tr>
|
|
158
|
+
<td><b>Klucze API</b></td>
|
|
159
|
+
<td>Wymagane do Shodan, Censys itp.</td>
|
|
160
|
+
<td>80+ aktywnych technik dziala bez jakichkolwiek kluczy API; klucze odblokowuja wzbogacanie OSINT</td>
|
|
161
|
+
</tr>
|
|
162
|
+
<tr>
|
|
163
|
+
<td><b>Konfiguracja</b></td>
|
|
164
|
+
<td>Zainstaluj nmap, testssl, wafw00f, ssh-audit, jarm, wappalyzer...</td>
|
|
165
|
+
<td><code>npx fingerprint-mcp</code> — jedno polecenie, zero konfiguracji</td>
|
|
166
|
+
</tr>
|
|
167
|
+
</tbody>
|
|
168
|
+
</table>
|
|
169
|
+
|
|
170
|
+
---
|
|
171
|
+
|
|
172
|
+
## Szybki Start
|
|
173
|
+
|
|
174
|
+
### Opcja 1: npx (bez instalacji)
|
|
175
|
+
|
|
176
|
+
```bash
|
|
177
|
+
npx fingerprint-mcp
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
Wszystkie 80+ aktywnych technik fingerprintingu dzialaja natychmiast. Klucze API nie sa wymagane do fingerprintingu TCP, TLS, SSH, HTTP, DNS, WAF, sciezek, uslug, timingu, IoT, SMTP i aplikacji.
|
|
181
|
+
|
|
182
|
+
### Opcja 2: Klonowanie
|
|
183
|
+
|
|
184
|
+
```bash
|
|
185
|
+
git clone https://github.com/badchars/fingerprint-mcp.git
|
|
186
|
+
cd fingerprint-mcp
|
|
187
|
+
bun install
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
### Zmienne srodowiskowe (opcjonalne)
|
|
191
|
+
|
|
192
|
+
```bash
|
|
193
|
+
# Wzbogacanie OSINT (wszystkie opcjonalne — aktywny fingerprinting dziala bez jakichkolwiek kluczy)
|
|
194
|
+
export SHODAN_API_KEY=your-key # Wlacza osint_shodan, ssh_hostkey_lookup
|
|
195
|
+
export CENSYS_API_ID=your-id # Wlacza osint_censys (darmowy: 250 zapytan/miesiac)
|
|
196
|
+
export CENSYS_API_SECRET=your-secret # Sekret API Censys
|
|
197
|
+
export SECURITYTRAILS_API_KEY=your-key # Wlacza waf_origin, enum_passive_dns
|
|
198
|
+
export VIRUSTOTAL_API_KEY=your-key # Wlacza osint_virustotal (darmowy: 500 zapytan/dzien)
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
Wszystkie klucze API sa opcjonalne. Bez nich nadal otrzymujesz pelny fingerprinting TCP/TLS/SSH/HTTP/DNS/WAF/sciezek/uslug/timingu/IoT/SMTP/infrastruktury/aplikacji, korelacje, analize pasywna, enumeracje i narzedzia meta — 80+ technik dzialajacych przez bezposrednie sondowanie celu.
|
|
202
|
+
|
|
203
|
+
### Polacz z agentem AI
|
|
204
|
+
|
|
205
|
+
<details open>
|
|
206
|
+
<summary><b>Claude Code</b></summary>
|
|
207
|
+
|
|
208
|
+
```bash
|
|
209
|
+
# Z npx
|
|
210
|
+
claude mcp add fingerprint-mcp -- npx fingerprint-mcp
|
|
211
|
+
|
|
212
|
+
# Z lokalnym klonem
|
|
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
|
+
Dodaj do `~/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 / inni klienci MCP</b></summary>
|
|
245
|
+
|
|
246
|
+
Ten sam format konfiguracji JSON. Skieruj polecenie na `npx fingerprint-mcp` lub sciezke lokalnej instalacji.
|
|
247
|
+
|
|
248
|
+
</details>
|
|
249
|
+
|
|
250
|
+
### Zacznij pytac
|
|
251
|
+
|
|
252
|
+
```
|
|
253
|
+
Ty: "Zrob fingerprinting wszystkiego o target.com — TLS, stos HTTP, WAF, DNS, otwarte porty"
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
To wszystko. Agent automatycznie obsluguje wielowarstwowy fingerprinting, korelacje sygnalow i analize infrastruktury.
|
|
257
|
+
|
|
258
|
+
---
|
|
259
|
+
|
|
260
|
+
## Co Moze AI
|
|
261
|
+
|
|
262
|
+
### Szybki Rekonesans
|
|
263
|
+
|
|
264
|
+
```
|
|
265
|
+
Ty: "Szybki rekonesans target.com"
|
|
266
|
+
|
|
267
|
+
Agent: -> recon {url: "https://target.com", depth: "quick"}
|
|
268
|
+
|
|
269
|
+
-> TCP: porty 80, 443, 22 otwarte
|
|
270
|
+
-> TLS: certyfikat RSA Let's Encrypt, TLS 1.2+1.3, sygnatura 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 skonfigurowane
|
|
273
|
+
-> WAF: Cloudflare wykryty (naglowek cf-ray)
|
|
274
|
+
-> "target.com to React SPA na Express.js za nginx/1.24.0,
|
|
275
|
+
serwowana przez Cloudflare CDN. TLS poprawnie skonfigurowany z
|
|
276
|
+
Let's Encrypt. SSH na porcie 22 z OpenSSH 9.6. Poczta
|
|
277
|
+
obslugiwana przez Google Workspace z pelnym SPF/DKIM/DMARC."
|
|
278
|
+
```
|
|
279
|
+
|
|
280
|
+
### Doglebne Badanie TLS
|
|
281
|
+
|
|
282
|
+
```
|
|
283
|
+
Ty: "Przeanalizuj szczegolowo konfiguracje TLS suspicious-server.com"
|
|
284
|
+
|
|
285
|
+
Agent: -> scan_tls {host: "suspicious-server.com"}
|
|
286
|
+
|
|
287
|
+
-> Certyfikat: samopodpisany, CN=localhost, wygasl 47 dni temu
|
|
288
|
+
-> JARM: 2ad2ad0002ad2ad00042d42d00000069d641f34fe76acdc05c40262f8815e5
|
|
289
|
+
(pasuje do domyslnego profilu Cobalt Strike)
|
|
290
|
+
-> JA4X: fingerprint pasuje do znanego wzorca frameworka C2
|
|
291
|
+
-> Zestawy szyfrow: akceptuje slabe szyfry (RC4, 3DES)
|
|
292
|
+
-> SNI: odpowiada identycznie na kazda wartosc SNI
|
|
293
|
+
-> Logi CT: certyfikat nie jest zarejestrowany (nie jest publicznie zaufany)
|
|
294
|
+
-> "WYSOKIE RYZYKO: Konfiguracja TLS silnie wskazuje na infrastrukture C2.
|
|
295
|
+
Samopodpisany wygasly certyfikat, fingerprint JARM pasuje do Cobalt Strike,
|
|
296
|
+
akceptuje slabe szyfry i odpowiada na dowolne wartosci SNI.
|
|
297
|
+
Zalecane natychmiastowe zbadanie i zablokowanie."
|
|
298
|
+
```
|
|
299
|
+
|
|
300
|
+
### Obejscie WAF i Odkrywanie Zrodla
|
|
301
|
+
|
|
302
|
+
```
|
|
303
|
+
Ty: "target.com jest za WAF. Czy mozesz znalezc serwer zrodlowy?"
|
|
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), strona wyzwania na podejrzane zadania
|
|
310
|
+
-> DNS: rekord A wskazuje na IP Cloudflare 104.21.x.x
|
|
311
|
+
-> Subdomeny: dev.target.com rozwiazuje do 203.0.113.42 (nie-Cloudflare)
|
|
312
|
+
-> Bezposrednie polaczenie z 203.0.113.42:443 zwraca ten sam certyfikat TLS
|
|
313
|
+
-> Historia SecurityTrails: zrodlo to 203.0.113.42 przed Cloudflare
|
|
314
|
+
-> "Znaleziono IP zrodla: 203.0.113.42. Odkryty przez subdomene
|
|
315
|
+
dev.target.com, ktora omija Cloudflare. Zrodlo serwuje ten sam
|
|
316
|
+
certyfikat TLS i odpowiada na naglowek Host target.com.
|
|
317
|
+
Zrodlo nie ma ochrony WAF — mozliwy bezposredni dostep."
|
|
318
|
+
```
|
|
319
|
+
|
|
320
|
+
### Wykrywanie Uslug na Hoscie
|
|
321
|
+
|
|
322
|
+
```
|
|
323
|
+
Ty: "Jakie uslugi dzialaja na 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
|
+
-> Port 22: OpenSSH 8.9p1 Ubuntu, klucz hosta ED25519
|
|
329
|
+
-> Port 80: Apache/2.4.57, PHP/8.2, WordPress 6.4
|
|
330
|
+
-> Port 3306: MySQL 8.0.36, wymagane uwierzytelnienie
|
|
331
|
+
-> Port 5432: PostgreSQL 16.1, wymagany SSL
|
|
332
|
+
-> Port 6379: Redis 7.2.4, BRAK uwierzytelnienia (otwarty)
|
|
333
|
+
-> Port 8080: serwer deweloperski Node.js Express, CORS: *
|
|
334
|
+
-> "KRYTYCZNE: Redis na porcie 6379 nie ma uwierzytelnienia — kazdy w
|
|
335
|
+
sieci moze czytac/zapisywac dane. Serwer deweloperski Express na 8080
|
|
336
|
+
ma wildcard CORS. MySQL i PostgreSQL prawidlowo wymagaja uwierzytelnienia.
|
|
337
|
+
WordPress jest o 2 mniejsze wersje w tyle. Wymagane natychmiastowe
|
|
338
|
+
dzialanie w sprawie Redisa i ekspozycji serwera deweloperskiego."
|
|
339
|
+
```
|
|
340
|
+
|
|
341
|
+
---
|
|
342
|
+
|
|
343
|
+
## Dokumentacja Narzedzi (13 narzedzi, 103 techniki)
|
|
344
|
+
|
|
345
|
+
<details open>
|
|
346
|
+
<summary><b>recon — Pelny rekonesans z wyborem technik opartym na glebokosci</b></summary>
|
|
347
|
+
|
|
348
|
+
| Parametr | Typ | Opis |
|
|
349
|
+
|----------|-----|------|
|
|
350
|
+
| `url` | string | Docelowy URL do fingerprintingu |
|
|
351
|
+
| `depth` | `quick` \| `standard` \| `deep` | Glebokosc skanowania: quick=5 technik, standard=20, deep=50+ |
|
|
352
|
+
|
|
353
|
+
Orkiestruje techniki ze wszystkich dostawcow na podstawie poziomu glebokosci. Tryb quick daje szybki przeglad; tryb deep uruchamia wyczerpujacy fingerprinting wlaczajac enumeracje, OSINT i korelacje.
|
|
354
|
+
|
|
355
|
+
</details>
|
|
356
|
+
|
|
357
|
+
<details>
|
|
358
|
+
<summary><b>scan_ports — Skanowanie portow TCP z wykrywaniem uslug (3 techniki)</b></summary>
|
|
359
|
+
|
|
360
|
+
| Parametr | Typ | Opis |
|
|
361
|
+
|----------|-----|------|
|
|
362
|
+
| `host` | string | Host docelowy (IP lub domena) |
|
|
363
|
+
| `ports` | number[] | Opcjonalny — konkretne porty do skanowania (domyslnie: popularne porty) |
|
|
364
|
+
|
|
365
|
+
| Technika | Opis |
|
|
366
|
+
|----------|------|
|
|
367
|
+
| `tcp_probe` | Skanowanie TCP connect do wykrywania otwartych portow |
|
|
368
|
+
| `tcp_banner` | Przechwytywanie bannerow na otwartych portach do identyfikacji uslug |
|
|
369
|
+
| `tcp_analysis` | Analiza kombinacji portow i wnioskowanie uslug |
|
|
370
|
+
|
|
371
|
+
</details>
|
|
372
|
+
|
|
373
|
+
<details>
|
|
374
|
+
<summary><b>scan_tls — Kompletna analiza TLS/SSL (8 technik)</b></summary>
|
|
375
|
+
|
|
376
|
+
| Parametr | Typ | Opis |
|
|
377
|
+
|----------|-----|------|
|
|
378
|
+
| `host` | string | Host docelowy (IP lub domena) |
|
|
379
|
+
| `port` | number | Opcjonalny — port TLS (domyslnie: 443) |
|
|
380
|
+
|
|
381
|
+
| Technika | Opis |
|
|
382
|
+
|----------|------|
|
|
383
|
+
| `tls_certificate` | Parsowanie certyfikatu X.509 — podmiot, wydawca, SAN, waznosc, lancuch |
|
|
384
|
+
| `tls_jarm` | Aktywny fingerprinting JARM — 10 sond TLS Client Hello, 62-znakowy hash |
|
|
385
|
+
| `tls_ja4x` | Pasywny fingerprinting TLS JA4X z wlasciwosci certyfikatu |
|
|
386
|
+
| `tls_ciphers` | Enumeracja zestawow szyfrow i analiza sily |
|
|
387
|
+
| `tls_protocols` | Wykrywanie obslugiwanych wersji protokolu TLS (SSLv3 do TLS 1.3) |
|
|
388
|
+
| `tls_sni` | Testowanie zachowania SNI — domyslny certyfikat vs. zadana nazwa hosta |
|
|
389
|
+
| `tls_ct_logs` | Wyszukiwanie w logach Certificate Transparency przez crt.sh |
|
|
390
|
+
| `tls_ocsp` | Sprawdzanie staplingu OCSP i statusu uniewaznien |
|
|
391
|
+
|
|
392
|
+
</details>
|
|
393
|
+
|
|
394
|
+
<details>
|
|
395
|
+
<summary><b>scan_dns — Wywiad DNS (7 technik)</b></summary>
|
|
396
|
+
|
|
397
|
+
| Parametr | Typ | Opis |
|
|
398
|
+
|----------|-----|------|
|
|
399
|
+
| `domain` | string | Domena docelowa |
|
|
400
|
+
|
|
401
|
+
| Technika | Opis |
|
|
402
|
+
|----------|------|
|
|
403
|
+
| `dns_records` | Pelna enumeracja rekordow — A, AAAA, MX, NS, TXT, CNAME, SOA |
|
|
404
|
+
| `dns_email_auth` | Analiza rekordow SPF, DKIM i DMARC |
|
|
405
|
+
| `dns_saas` | Wykrywanie SaaS/uslug przez wzorce CNAME i MX (Slack, Zendesk itp.) |
|
|
406
|
+
| `dns_server` | Fingerprinting serwera DNS (BIND, PowerDNS, Cloudflare itp.) |
|
|
407
|
+
| `dns_takeover` | Wykrywanie przejecia subdomeny przez analize wiszacych CNAME |
|
|
408
|
+
| `dns_zone` | Proba transferu strefy (AXFR) |
|
|
409
|
+
| `dns_caa` | Analiza rekordow CAA dla ograniczen urzedow certyfikacji |
|
|
410
|
+
|
|
411
|
+
</details>
|
|
412
|
+
|
|
413
|
+
<details>
|
|
414
|
+
<summary><b>scan_http — Fingerprinting HTTP/web (29 technik)</b></summary>
|
|
415
|
+
|
|
416
|
+
| Parametr | Typ | Opis |
|
|
417
|
+
|----------|-----|------|
|
|
418
|
+
| `url` | string | Docelowy URL |
|
|
419
|
+
|
|
420
|
+
| Technika | Dostawca | Opis |
|
|
421
|
+
|----------|---------|------|
|
|
422
|
+
| `http_headers` | HTTP | Analiza naglowkow odpowiedzi i identyfikacja serwera |
|
|
423
|
+
| `http_header_order` | HTTP | Fingerprint kolejnosci naglowkow (sygnatura oprogramowania serwera) |
|
|
424
|
+
| `http_security_headers` | HTTP | Audyt naglowkow bezpieczenstwa (CSP, HSTS, X-Frame-Options itp.) |
|
|
425
|
+
| `http_cookies` | HTTP | Analiza cookies — flagi, prefiksy, wykrywanie frameworka |
|
|
426
|
+
| `http_methods` | HTTP | Enumeracja dozwolonych metod HTTP (OPTIONS) |
|
|
427
|
+
| `http_cors` | HTTP | Analiza polityki CORS i wykrywanie blednej konfiguracji |
|
|
428
|
+
| `http_compression` | HTTP | Obslugiwane algorytmy kompresji (gzip, br, zstd) |
|
|
429
|
+
| `http_caching` | HTTP | Analiza naglowkow cache (wykrywanie CDN, reverse proxy) |
|
|
430
|
+
| `http_etag` | HTTP | Analiza formatu ETag do identyfikacji backendu |
|
|
431
|
+
| `http_error` | HTTP | Fingerprinting stron bledow (niestandardowe vs. domyslne strony bledow) |
|
|
432
|
+
| `http_redirect` | HTTP | Analiza lancucha przekierowan |
|
|
433
|
+
| `http_timing` | HTTP | Bazowy czas odpowiedzi do profilowania wydajnosci serwera |
|
|
434
|
+
| `http_favicon` | HTTP | Hash favicon (MurmurHash3) do identyfikacji technologii |
|
|
435
|
+
| `http_robots` | HTTP | Parsowanie robots.txt i ekstrakcja zabronionych sciezek |
|
|
436
|
+
| `http_sitemap` | HTTP | Odkrywanie mapy witryny i ekstrakcja URL |
|
|
437
|
+
| `http_wellknown` | HTTP | Odkrywanie endpointow .well-known (security.txt, openid itp.) |
|
|
438
|
+
| `web_tech` | Web | Wykrywanie technologii przez wzorce HTML/JS/CSS |
|
|
439
|
+
| `web_analytics` | Web | Wykrywanie uslug analityki i sledzenia |
|
|
440
|
+
| `web_sourcemaps` | Web | Odkrywanie plikow source map |
|
|
441
|
+
| `web_websocket` | Web | Wykrywanie endpointow WebSocket |
|
|
442
|
+
| `web_graphql` | Web | Wykrywanie endpointow GraphQL i introspekcja |
|
|
443
|
+
| `web_spa` | Web | Wykrywanie frameworkow aplikacji single-page |
|
|
444
|
+
| `web_cdn` | Web | Wykrywanie CDN przez naglowki odpowiedzi i DNS |
|
|
445
|
+
| `web_meta` | Web | Analiza metatagow HTML (generator, wskazowki frameworka) |
|
|
446
|
+
| `web_feed` | Web | Odkrywanie kanalow RSS/Atom |
|
|
447
|
+
| `h2_detect` | HTTP/2 | Wykrywanie obslugi protokolu HTTP/2 |
|
|
448
|
+
| `h2_fingerprint` | HTTP/2 | Fingerprinting serwera HTTP/2 (SETTINGS, WINDOW_UPDATE) |
|
|
449
|
+
| `h2_h3` | HTTP/2 | Wykrywanie obslugi HTTP/3 (QUIC) przez naglowek Alt-Svc |
|
|
450
|
+
| `app_cms` | Application | Wykrywanie CMS (WordPress, Drupal, Joomla itp.) |
|
|
451
|
+
|
|
452
|
+
</details>
|
|
453
|
+
|
|
454
|
+
<details>
|
|
455
|
+
<summary><b>scan_paths — Wywiad sciezkowy (5 technik)</b></summary>
|
|
456
|
+
|
|
457
|
+
| Parametr | Typ | Opis |
|
|
458
|
+
|----------|-----|------|
|
|
459
|
+
| `url` | string | Docelowy URL |
|
|
460
|
+
| `categories` | string[] | Opcjonalny — kategorie do sprawdzenia (sensitive, git, debug, api, config) |
|
|
461
|
+
|
|
462
|
+
| Technika | Opis |
|
|
463
|
+
|----------|------|
|
|
464
|
+
| `path_sensitive` | Odkrywanie wrazliwych plikow (pliki kopii zapasowych, pliki konfiguracyjne, zrzuty baz danych) |
|
|
465
|
+
| `path_robots` | Analiza robots.txt i sitemap.xml dla ukrytych sciezek |
|
|
466
|
+
| `path_git` | Wykrywanie wycieku repozytorium Git (.git/HEAD, .git/config) |
|
|
467
|
+
| `path_debug` | Odkrywanie endpointow debug (phpinfo, server-status, konsole debug) |
|
|
468
|
+
| `path_api` | Odkrywanie wersji API i endpointow dokumentacji |
|
|
469
|
+
|
|
470
|
+
</details>
|
|
471
|
+
|
|
472
|
+
<details>
|
|
473
|
+
<summary><b>scan_waf — Wykrywanie i fingerprinting WAF/CDN (4 techniki)</b></summary>
|
|
474
|
+
|
|
475
|
+
| Parametr | Typ | Opis |
|
|
476
|
+
|----------|-----|------|
|
|
477
|
+
| `url` | string | Docelowy URL |
|
|
478
|
+
|
|
479
|
+
| Technika | Opis |
|
|
480
|
+
|----------|------|
|
|
481
|
+
| `waf_detect` | Wykrywanie obecnosci WAF przez analize naglowkow odpowiedzi i zachowania |
|
|
482
|
+
| `waf_cdn` | Identyfikacja dostawcy CDN (Cloudflare, Akamai, Fastly itp.) |
|
|
483
|
+
| `waf_fingerprint` | Identyfikacja produktu WAF i wykrywanie wersji |
|
|
484
|
+
| `waf_origin` | Odkrywanie IP zrodla za WAF/CDN (wymaga `SECURITYTRAILS_API_KEY`) |
|
|
485
|
+
|
|
486
|
+
</details>
|
|
487
|
+
|
|
488
|
+
<details>
|
|
489
|
+
<summary><b>scan_services — Sondowanie na poziomie uslug (12 technik)</b></summary>
|
|
490
|
+
|
|
491
|
+
| Parametr | Typ | Opis |
|
|
492
|
+
|----------|-----|------|
|
|
493
|
+
| `host` | string | Host docelowy (IP lub domena) |
|
|
494
|
+
| `ports` | number[] | Opcjonalny — konkretne porty do sondowania |
|
|
495
|
+
| `service` | string | Opcjonalny — konkretna usluga do sondowania (mysql, postgres, redis, ftp, ssh, smtp, vnc, iot) |
|
|
496
|
+
|
|
497
|
+
| Technika | Dostawca | Opis |
|
|
498
|
+
|----------|---------|------|
|
|
499
|
+
| `ssh_probe` | SSH | Wykrywanie wersji protokolu SSH i oprogramowania |
|
|
500
|
+
| `ssh_algorithms` | SSH | Audyt algorytmow SSH (KEX, szyfry, MAC, typy kluczy hosta) |
|
|
501
|
+
| `ssh_hostkey_lookup` | SSH | Wyszukiwanie klucza hosta SSH przez Shodan (wymaga `SHODAN_API_KEY`) |
|
|
502
|
+
| `svc_mysql` | Service | Wykrywanie wersji MySQL i fingerprinting mozliwosci |
|
|
503
|
+
| `svc_postgres` | Service | Wykrywanie wersji PostgreSQL i sprawdzanie obslugi SSL |
|
|
504
|
+
| `svc_redis` | Service | Wykrywanie wersji Redis i status uwierzytelniania |
|
|
505
|
+
| `svc_ftp` | Service | Analiza bannera FTP i sprawdzanie anonimowego logowania |
|
|
506
|
+
| `svc_vnc_rdp` | Service | Wykrywanie uslug VNC/RDP i ocena bezpieczenstwa |
|
|
507
|
+
| `smtp_banner` | SMTP | Analiza bannera SMTP i identyfikacja MTA |
|
|
508
|
+
| `smtp_starttls` | SMTP | Obsluga SMTP STARTTLS i inspekcja certyfikatu |
|
|
509
|
+
| `iot_detect` | IoT | Wykrywanie urzadzen IoT przez wzorce bannerow i domyslne strony |
|
|
510
|
+
| `iot_upnp` | IoT | Odkrywanie urzadzen UPnP/SSDP w sieci lokalnej |
|
|
511
|
+
|
|
512
|
+
</details>
|
|
513
|
+
|
|
514
|
+
<details>
|
|
515
|
+
<summary><b>enumerate — Rozszerzanie zakresu (8 technik)</b></summary>
|
|
516
|
+
|
|
517
|
+
| Parametr | Typ | Opis |
|
|
518
|
+
|----------|-----|------|
|
|
519
|
+
| `domain` | string | Domena docelowa |
|
|
520
|
+
|
|
521
|
+
| Technika | Opis |
|
|
522
|
+
|----------|------|
|
|
523
|
+
| `enum_subdomains` | Enumeracja subdomen przez wiele metod |
|
|
524
|
+
| `enum_wildcard` | Wykrywanie wildcard DNS |
|
|
525
|
+
| `enum_tld` | Rozszerzenie TLD (target.com -> target.net, target.org itp.) |
|
|
526
|
+
| `enum_related` | Odkrywanie powiazanych domen przez wspolna infrastrukture |
|
|
527
|
+
| `enum_asn` | Odkrywanie sasiadow ASN — inne domeny w tej samej sieci |
|
|
528
|
+
| `enum_ct` | Ekstrakcja subdomen z logow Certificate Transparency |
|
|
529
|
+
| `enum_passive_dns` | Historia pasywnego DNS (wymaga `SECURITYTRAILS_API_KEY`) |
|
|
530
|
+
| `enum_scope` | Podsumowanie zakresu i przeglad powierzchni ataku |
|
|
531
|
+
|
|
532
|
+
</details>
|
|
533
|
+
|
|
534
|
+
<details>
|
|
535
|
+
<summary><b>osint — Wzbogacanie OSINT (6 technik)</b></summary>
|
|
536
|
+
|
|
537
|
+
| Parametr | Typ | Opis |
|
|
538
|
+
|----------|-----|------|
|
|
539
|
+
| `target` | string | Adres IP lub domena do wzbogacenia |
|
|
540
|
+
| `type` | `ip` \| `domain` | Opcjonalny — typ celu (wykrywany automatycznie jesli pominieto) |
|
|
541
|
+
|
|
542
|
+
| Technika | Auth | Opis |
|
|
543
|
+
|----------|------|------|
|
|
544
|
+
| `osint_shodan` | `SHODAN_API_KEY` | Wyszukiwanie hosta Shodan — otwarte porty, bannery, podatnosci, OS |
|
|
545
|
+
| `osint_censys` | `CENSYS_API_ID` + `CENSYS_API_SECRET` | Dane hosta Censys — uslugi, TLS, system autonomiczny |
|
|
546
|
+
| `osint_reverse_ip` | Brak | Odwrocone wyszukiwanie IP — inne domeny na tym samym IP |
|
|
547
|
+
| `osint_whois` | Brak | Dane rejestracji WHOIS — rejestrator, daty, serwery nazw |
|
|
548
|
+
| `osint_webarchive` | Brak | Historia Web Archive — pierwszy/ostatni snapshot, czestotliwosc zmian |
|
|
549
|
+
| `osint_virustotal` | `VIRUSTOTAL_API_KEY` | Raport VirusTotal domena/IP — wykrycia, kategorie, DNS |
|
|
550
|
+
|
|
551
|
+
</details>
|
|
552
|
+
|
|
553
|
+
<details>
|
|
554
|
+
<summary><b>analyze — Pasywna analiza fingerprinta (3 tryby)</b></summary>
|
|
555
|
+
|
|
556
|
+
| Parametr | Typ | Opis |
|
|
557
|
+
|----------|-----|------|
|
|
558
|
+
| `type` | `headers` \| `html` \| `banner` | Typ danych do analizy |
|
|
559
|
+
| `data` | string | Surowe dane do analizy (wklej naglowki, HTML lub wyjscie bannera) |
|
|
560
|
+
|
|
561
|
+
| Tryb | Opis |
|
|
562
|
+
|------|------|
|
|
563
|
+
| `fp_analyze_headers` | Pasywna analiza naglowkow HTTP — wykrywanie serwera, frameworka, proxy bez wysylania ruchu |
|
|
564
|
+
| `fp_analyze_html` | Pasywna analiza HTML — wykrywanie technologii, identyfikacja frameworka ze zrodla |
|
|
565
|
+
| `fp_analyze_banner` | Pasywna analiza bannera — identyfikacja uslug z surowego tekstu bannera |
|
|
566
|
+
|
|
567
|
+
</details>
|
|
568
|
+
|
|
569
|
+
<details>
|
|
570
|
+
<summary><b>correlate — Silnik korelacji wielu sygnalow (7 trybow)</b></summary>
|
|
571
|
+
|
|
572
|
+
| Parametr | Typ | Opis |
|
|
573
|
+
|----------|-----|------|
|
|
574
|
+
| `type` | `consistency` \| `honeypot` \| `spoofing` \| `compare` \| `topology` \| `c2` \| `identify` | Tryb korelacji |
|
|
575
|
+
| `signals` | object | Sygnaly fingerprinta do korelacji (roznia sie w zaleznosci od trybu) |
|
|
576
|
+
|
|
577
|
+
| Tryb | Opis |
|
|
578
|
+
|------|------|
|
|
579
|
+
| `fp_consistency` | Sprawdzenie spojnosci sygnalow miedzywarstwowych — czy fingerprinty TCP, TLS, HTTP i DNS sa zgodne? |
|
|
580
|
+
| `fp_honeypot` | Wykrywanie honeypotow — sprawdzanie niemozliwych kombinacji uslug i anomalii behawioralnych |
|
|
581
|
+
| `fp_spoofing` | Wykrywanie spoofingu — identyfikacja niespojnosci naglowkow serwera vs. faktyczne zachowanie |
|
|
582
|
+
| `fp_compare` | Porownanie obok siebie profili fingerprintow dwoch hostow |
|
|
583
|
+
| `fp_topology` | Mapowanie topologii infrastruktury — lancuch CDN, load balancer, reverse proxy |
|
|
584
|
+
| `fp_c2` | Wykrywanie frameworka C2 przez korelacje JARM, TLS, HTTP i timingu |
|
|
585
|
+
| `fp_identify` | Identyfikacja oparta na hashach wobec bazy znanych sygnatur |
|
|
586
|
+
|
|
587
|
+
</details>
|
|
588
|
+
|
|
589
|
+
<details>
|
|
590
|
+
<summary><b>meta — Konfiguracja serwera i dane (3 tryby)</b></summary>
|
|
591
|
+
|
|
592
|
+
| Parametr | Typ | Opis |
|
|
593
|
+
|----------|-----|------|
|
|
594
|
+
| `category` | string | Opcjonalny — filtruj wedlug kategorii |
|
|
595
|
+
|
|
596
|
+
| Tryb | Opis |
|
|
597
|
+
|------|------|
|
|
598
|
+
| `fp_sources` | Lista wszystkich dostepnych zrodel danych z konfiguracja i statusem kluczy API |
|
|
599
|
+
| `fp_config` | Konfiguracja serwera — wersja, zaladowani dostawcy, liczba technik |
|
|
600
|
+
| `fp_signatures` | Lista bazy sygnatur — sygnatury JARM, bannerow, WAF, aplikacji |
|
|
601
|
+
|
|
602
|
+
</details>
|
|
603
|
+
|
|
604
|
+
---
|
|
605
|
+
|
|
606
|
+
### Uzycie CLI
|
|
607
|
+
|
|
608
|
+
```bash
|
|
609
|
+
# Wyswietl wszystkie dostepne narzedzia i techniki
|
|
610
|
+
npx fingerprint-mcp --list
|
|
611
|
+
|
|
612
|
+
# Uruchom dowolne narzedzie bezposrednio
|
|
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
|
+
# Narzedzia OSINT (wymagaja kluczy API)
|
|
626
|
+
SHODAN_API_KEY=your-key npx fingerprint-mcp --tool osint '{"target":"203.0.113.42","type":"ip"}'
|
|
627
|
+
```
|
|
628
|
+
|
|
629
|
+
---
|
|
630
|
+
|
|
631
|
+
## Zrodla Danych (21)
|
|
632
|
+
|
|
633
|
+
| Zrodlo | Auth | Co zapewnia |
|
|
634
|
+
|--------|------|-------------|
|
|
635
|
+
| Sondowanie TCP | Brak | Skanowanie portow, przechwytywanie bannerow, wykrywanie uslug |
|
|
636
|
+
| Analiza TLS/SSL | Brak | Parsowanie certyfikatow, fingerprinting JARM, JA4X, enumeracja szyfrow, testowanie SNI |
|
|
637
|
+
| Sondowanie SSH | Brak | Wersja protokolu, audyt algorytmow, wykrywanie oprogramowania |
|
|
638
|
+
| Analiza HTTP | Brak | Fingerprinting naglowkow, hashowanie favicon, analiza cookies, enumeracja metod, CORS |
|
|
639
|
+
| Wykrywanie web | Brak | Wykrywanie technologii, analityka, source mapy, WebSocket, GraphQL, frameworki SPA |
|
|
640
|
+
| Odkrywanie sciezek | Brak | Wrazliwe pliki, wycieki git, endpointy debug, wersje API, robots.txt |
|
|
641
|
+
| Rozwiazywanie DNS | Brak | Enumeracja rekordow, analiza uwierzytelniania email, wykrywanie SaaS, fingerprinting serwera |
|
|
642
|
+
| Wykrywanie WAF/CDN | Brak | Identyfikacja WAF, wykrywanie CDN, fingerprinting WAF |
|
|
643
|
+
| Analiza timingu | Brak | Bazowy czas odpowiedzi, wykrywanie przesuniecia zegara |
|
|
644
|
+
| HTTP/2 i HTTP/3 | Brak | Wykrywanie i fingerprinting HTTP/2, odkrywanie HTTP/3 Alt-Svc |
|
|
645
|
+
| Sondowanie SMTP | Brak | Analiza bannera SMTP, inspekcja STARTTLS |
|
|
646
|
+
| IoT/Embedded | Brak | Wykrywanie urzadzen IoT, odkrywanie UPnP/SSDP |
|
|
647
|
+
| Wykrywanie aplikacji | Brak | Identyfikacja CMS, frameworkow i platform e-commerce |
|
|
648
|
+
| Sondowanie uslug | Brak | Fingerprinting MySQL, PostgreSQL, Redis, FTP, VNC/RDP |
|
|
649
|
+
| Wykrywanie infrastruktury | Brak | Identyfikacja dostawcy chmury, hostingu, CDN |
|
|
650
|
+
| Silnik korelacji | Brak | Spojnosc sygnalow, wykrywanie honeypotow, wykrywanie spoofingu, mapowanie topologii |
|
|
651
|
+
| Silnik identyfikacji | Brak | Identyfikacja oparta na hashach, wykrywanie C2, dopasowywanie sygnatur |
|
|
652
|
+
| [Shodan](https://www.shodan.io) | `SHODAN_API_KEY` | Wywiad o hoscie — otwarte porty, bannery, podatnosci, wykrywanie OS |
|
|
653
|
+
| [Censys](https://censys.io) | `CENSYS_API_ID` | Dane hosta — uslugi, certyfikaty TLS, informacje o systemie autonomicznym |
|
|
654
|
+
| [SecurityTrails](https://securitytrails.com) | `SECURITYTRAILS_API_KEY` | Odkrywanie zrodla WAF, historia pasywnego DNS, rekordy historyczne |
|
|
655
|
+
| [VirusTotal](https://www.virustotal.com) | `VIRUSTOTAL_API_KEY` | Reputacja domeny/IP, wyniki wykrywania, historia DNS, kategorie |
|
|
656
|
+
|
|
657
|
+
---
|
|
658
|
+
|
|
659
|
+
## Architektura
|
|
660
|
+
|
|
661
|
+
```
|
|
662
|
+
src/
|
|
663
|
+
index.ts # Punkt wejscia CLI (--help, --list, --tool, serwer stdio)
|
|
664
|
+
protocol/
|
|
665
|
+
mcp-server.ts # Konfiguracja serwera MCP (transport stdio)
|
|
666
|
+
tools.ts # Rejestr narzedzi — wszystkie 13 zlozonych narzedzi zarejestrowanych tutaj
|
|
667
|
+
types/
|
|
668
|
+
index.ts # Wspoldzielone typy (ToolDef, ToolContext, ToolResult)
|
|
669
|
+
utils/
|
|
670
|
+
rate-limiter.ts # Rate limiter per dostawca
|
|
671
|
+
cache.ts # Cache TTL dla odpowiedzi API
|
|
672
|
+
require-key.ts # Helper walidacji kluczy API
|
|
673
|
+
murmurhash3.ts # MurmurHash3 do hashowania favicon
|
|
674
|
+
composite/ # 13 orkiestratorow zlozonych narzedzi
|
|
675
|
+
recon.ts # Orkiestrator pelnego rekonesansu (quick/standard/deep)
|
|
676
|
+
scan-ports.ts # Zlozony skan portow
|
|
677
|
+
scan-tls.ts # Zlozona analiza TLS
|
|
678
|
+
scan-dns.ts # Zlozony wywiad DNS
|
|
679
|
+
scan-http.ts # Zlozony fingerprinting HTTP
|
|
680
|
+
scan-paths.ts # Zlozone odkrywanie sciezek
|
|
681
|
+
scan-waf.ts # Zlozone wykrywanie WAF/CDN
|
|
682
|
+
scan-services.ts # Zlozone sondowanie uslug
|
|
683
|
+
analyze.ts # Zlozona analiza pasywna
|
|
684
|
+
correlate.ts # Zlozony silnik korelacji
|
|
685
|
+
enumerate.ts # Zlozone rozszerzanie zakresu
|
|
686
|
+
osint.ts # Zlozone wzbogacanie OSINT
|
|
687
|
+
meta.ts # Zlozony meta serwera
|
|
688
|
+
helpers.ts # Wspoldzielone helpery zlozonych
|
|
689
|
+
tcp/ # Techniki sondowania TCP (3)
|
|
690
|
+
tls/ # Techniki analizy TLS/SSL (8)
|
|
691
|
+
ssh/ # Techniki sondowania SSH (3)
|
|
692
|
+
http/ # Techniki fingerprintingu HTTP (16)
|
|
693
|
+
web/ # Techniki wykrywania technologii web (9)
|
|
694
|
+
path/ # Techniki odkrywania sciezek (5)
|
|
695
|
+
dns/ # Techniki wywiadu DNS (7)
|
|
696
|
+
waf/ # Techniki wykrywania WAF/CDN (4)
|
|
697
|
+
timing/ # Techniki analizy timingu (2)
|
|
698
|
+
h2/ # Techniki HTTP/2 i HTTP/3 (3)
|
|
699
|
+
smtp/ # Techniki sondowania SMTP (2)
|
|
700
|
+
iot/ # Techniki wykrywania IoT/embedded (2)
|
|
701
|
+
app/ # Techniki wykrywania aplikacji (3)
|
|
702
|
+
service/ # Techniki sondowania uslug (5)
|
|
703
|
+
infra/ # Techniki wykrywania infrastruktury (3)
|
|
704
|
+
correlation/ # Silnik korelacji (5)
|
|
705
|
+
identify/ # Silnik identyfikacji (3)
|
|
706
|
+
passive/ # Analiza pasywna (3)
|
|
707
|
+
osint/ # Techniki wzbogacania OSINT (6)
|
|
708
|
+
enum/ # Techniki enumeracji (8)
|
|
709
|
+
meta/ # Narzedzia meta (3)
|
|
710
|
+
data/ # Bazy sygnatur i biblioteki wzorcow
|
|
711
|
+
jarm-signatures.ts # Znane fingerprinty JARM (C2, serwery, CDN)
|
|
712
|
+
waf-signatures.ts # Sygnatury wykrywania WAF
|
|
713
|
+
service-banners.ts # Wzorce bannerow uslug
|
|
714
|
+
tech-patterns.ts # Wzorce wykrywania technologii
|
|
715
|
+
favicon-hashes.ts # Znane wartosci MurmurHash3 favicon
|
|
716
|
+
c2-signatures.ts # Sygnatury frameworkow C2
|
|
717
|
+
... # 15+ baz sygnatur/wzorcow
|
|
718
|
+
```
|
|
719
|
+
|
|
720
|
+
**Decyzje projektowe:**
|
|
721
|
+
|
|
722
|
+
- **13 zlozonych narzedzi, 103 techniki** — Agent wywoluje narzedzia wysokiego poziomu (`recon`, `scan_tls`, `scan_http`). Kazde zlozone narzedzie orkiestruje wiele technik niskiego poziomu i zwraca skorelowane wyniki. To redukuje narzut wywolan narzedzi zachowujac granularnosc.
|
|
723
|
+
- **21 dostawcow, 1 serwer** — Kazda warstwa fingerprintingu jest niezaleznym modulem. Zlozony orkiestrator wybiera techniki na podstawie kontekstu i glebokosci.
|
|
724
|
+
- **Najpierw aktywne, OSINT opcjonalnie** — 80+ technik dziala przez bezposrednie sondowanie celu bez jakichkolwiek kluczy API. Dostawcy OSINT (Shodan, Censys, VirusTotal, SecurityTrails) dodaja wzbogacenie, ale nigdy nie sa wymagani.
|
|
725
|
+
- **Rate limitery per dostawca** — Kazdy dostawca ma wlasna instancje `RateLimiter`. Aktywne sondowanie jest ograniczone szybkoscia, aby uniknac wykrycia; API OSINT sa skalibrowane do swoich limitow.
|
|
726
|
+
- **Cache TTL** — Rekordy DNS (10min), wyniki OSINT (15min), logi CT (30min) sa cachowane, aby uniknac nadmiarowych wyszukiwan podczas wielonarzedziowych przeplywow pracy.
|
|
727
|
+
- **Lagodna degradacja** — Brakujace klucze API nie powoduja awarii serwera. Narzedzia OSINT zwracaja opisowe komunikaty: "Ustaw SHODAN_API_KEY, aby wlaczyc wyszukiwanie hostow Shodan."
|
|
728
|
+
- **3 zaleznosci** — `@modelcontextprotocol/sdk`, `zod` i `cheerio`. Cale sieciowe I/O przez natywne `fetch()` i moduly Node.js `net`/`tls`/`dns`. Bez nmap, bez zewnetrznych plikow binarnych.
|
|
729
|
+
|
|
730
|
+
---
|
|
731
|
+
|
|
732
|
+
## Ograniczenia
|
|
733
|
+
|
|
734
|
+
- Narzedzia OSINT (Shodan, Censys, VirusTotal, SecurityTrails) wymagaja kluczy API dla swoich odpowiednich technik
|
|
735
|
+
- Darmowy plan Censys ograniczony do 250 zapytan/miesiac
|
|
736
|
+
- Darmowy plan VirusTotal ograniczony do 500 zapytan/dzien
|
|
737
|
+
- Skanowanie portow uzywa TCP connect (nie skanowania SYN) — mniej ukradkowe niz nmap, ale nie wymaga uprawnien root
|
|
738
|
+
- Fingerprinting JARM wymaga bezposredniego dostepu TCP do celu (moze byc blokowany przez zapory sieciowe)
|
|
739
|
+
- Odkrywanie UPnP/SSDP dziala tylko w sieciach lokalnych
|
|
740
|
+
- Sondowanie uslug (MySQL, PostgreSQL, Redis) laczy sie, ale nie uwierzytelnia
|
|
741
|
+
- Enumeracja subdomen opiera sie na logach CT i zrodlach pasywnych (bez brute-force)
|
|
742
|
+
- Testowane na macOS / Linux (Windows nie testowany)
|
|
743
|
+
|
|
744
|
+
---
|
|
745
|
+
|
|
746
|
+
## Czesc Pakietu Bezpieczenstwa MCP
|
|
747
|
+
|
|
748
|
+
| Projekt | Domena | Narzedzia |
|
|
749
|
+
|---------|--------|-----------|
|
|
750
|
+
| [hackbrowser-mcp](https://github.com/badchars/hackbrowser-mcp) | Testy bezpieczenstwa oparte na przegladarce | 39 narzedzi, Firefox, testy iniekcji |
|
|
751
|
+
| [cloud-audit-mcp](https://github.com/badchars/cloud-audit-mcp) | Bezpieczenstwo chmury (AWS/Azure/GCP) | 38 narzedzi, 60+ kontroli |
|
|
752
|
+
| [github-security-mcp](https://github.com/badchars/github-security-mcp) | Postawa bezpieczenstwa GitHub | 39 narzedzi, 45 kontroli |
|
|
753
|
+
| [cve-mcp](https://github.com/badchars/cve-mcp) | Wywiad o podatnosciach | 23 narzedzia, 5 zrodel |
|
|
754
|
+
| [osint-mcp-server](https://github.com/badchars/osint-mcp-server) | OSINT i rekonesans | 37 narzedzi, 12 zrodel |
|
|
755
|
+
| [darknet-mcp-server](https://github.com/badchars/darknet-mcp-server) | Dark web i wywiad o zagrozeniach | 66 narzedzi, 16 zrodel |
|
|
756
|
+
| **fingerprint-mcp** | **Uniwersalny cyfrowy fingerprinting** | **13 narzedzi, 103 techniki, 21 dostawcow** |
|
|
757
|
+
|
|
758
|
+
---
|
|
759
|
+
|
|
760
|
+
<p align="center">
|
|
761
|
+
<b>Wylacznie do autoryzowanych testow bezpieczenstwa i ocen.</b><br>
|
|
762
|
+
Zawsze upewnij sie, ze masz odpowiednia autoryzacje przed wykonaniem fingerprintingu na jakimkolwiek celu.
|
|
763
|
+
</p>
|
|
764
|
+
|
|
765
|
+
<p align="center">
|
|
766
|
+
<a href="LICENSE">Licencja AGPL-3.0</a> • Zbudowane z Bun + TypeScript
|
|
767
|
+
</p>
|