nuclide-research/JAXEN

GitHub: nuclide-research/JAXEN

JAXEN是一款用于Shodan数据汇总和AI/ML驱动的资产发现的平台。

Stars: 1 | Forks: 0

# JAXEN 将 Shodan 查询汇总到状态化的 SQLite 资产数据库中,并大规模驱动 AI/ML 基础设施发现。 JAXEN 在汇总阶段为 NuClide 评估链提供数据。它发出 Shodan API 查询,分页显示全部人口,将每个发现的宿主持久化到 `empire.db` 中,包括 IP、端口、组织、ISP、主机名、产品、版本和 Shodan 的索引计算出的 favicon 哈希。预构建的 AI/ML dork 工作流程覆盖六个暴露类别。`import` 子命令可以摄取外部工具输出,包括可选的 Shodan 丰富化,包括 `--no-lookup` 用于手动 Shodan 网页导出。取证子命令深入检查来自实时 IP、PEM 文件或提取的固件目录树的 TLS 证书。 ## 安装 ``` git clone https://github.com/nuclide-research/JAXEN cd JAXEN go build -o jaxen . ``` Go 1.25+。SQLite 通过 `modernc.org/sqlite` 内嵌(纯 Go,无 CGo,无需 C 编译器)。 配置 Shodan API 密钥: ``` export SHODAN_API_KEY="your_key" # 或将其写入 ~/.config/shodan/api_key(Shodan CLI 位置) # 环境变量优先;两者都会被检查 ``` ## 使用 ``` jaxen hunt [--clean] [--export] [--passive ] [--web] [--pages N] [--max N] [--delay N] "" jaxen ai-hunt [category] jaxen menlo-hunt [--org name] jaxen buckets [--workers N] [--timeout N] jaxen profile [--org name] [] jaxen cert-parse jaxen pivot jaxen aimap [hostname] jaxen analyze [--fast] jaxen graph jaxen diff [--webhook ] [old.json] [new.json] jaxen list [--org ] jaxen import [--no-lookup] [--delay N] [--source name] jaxen run [args...] jaxen nuke [ip...] jaxen cheatsheet jaxen --version ``` ### 搜索标志 | 标志 | 默认 | 影响 | |------|---------|--------| | `--clean` | 关闭 | 剔除 CDN/云噪声(Google、Amazon、Microsoft、Cloudflare、Akamai、Fastly) | | `--export` | 关闭 | 写入 `summary.csv` | | `--passive ` | | 通过 crt.sh CT 日志扩展查询 | | `--web` | 关闭 | 使用浏览器会话而不是 API 密钥;无密钥时自动启用 | | `--pages N` | `1` | `--web` 模式下要获取的页面数(每页 10 个 IP) | | `--max N` | `50` | 分页时最大宿主数(每页 100 个;增加查询信用成本) | | `--delay N` | `1.0` | 分页时页面之间的秒数 | ### 导入标志 | 标志 | 影响 | |------|--------| | `--no-lookup` | 在端口 0 存储条目而不进行 Shodan 丰富化(用于手动导出) | | `--delay N` | Shodan API 调用之间的秒数 | | `--source name` | 使用源工具名称标记注释字段 | ## empire.db 架构 `empire.db` 中的两个表: ``` assets ( id INTEGER PRIMARY KEY, ip TEXT NOT NULL, port INTEGER NOT NULL, org TEXT, isp TEXT, hostname TEXT, product TEXT, version TEXT, favicon_hash TEXT, first_seen TEXT, last_seen TEXT, status TEXT DEFAULT 'active', notes TEXT, UNIQUE(ip, port) ) cloud_assets ( id INTEGER PRIMARY KEY, org TEXT, provider TEXT, bucket_name TEXT, url TEXT, status_code INTEGER, public INTEGER DEFAULT 0, first_seen TEXT, UNIQUE(url) ) ``` `favicon_hash` 被动存储 Shodan 的索引计算的 `http.favicon.hash`(无额外请求)。当哈希与已知产品默认值匹配时,JAXEN 将 `FAVICON-PRESENT DEFAULT-FAVICON:` 添加到注释中。 ## 搜索输出 `hunt` 写入 `recon_dump.json`: ``` { "query": string, "timestamp": string, "total_results_available": int, "returned": int, "hosts": [{ ...Shodan HostData fields... }] } ``` 之前的运行将自动旋转到 `recon_dump.old.json`,为 `diff` 提供基线,无需手动管理。 ## ai-hunt 类别 六个预构建的 Shodan dork 工作流程覆盖 AI/ML 暴露面: | 类别 | 目标 | |----------|---------| | `vector-db` | ChromaDB、Qdrant、Weaviate、Milvus | | `inference` | Ollama、vLLM、LocalAI、LM Studio | | `orchestration` | Flowise、Langflow、Dify、Open WebUI、AnythingLLM | | `gpu` | NVIDIA DCGM、Triton 推理 | | `mlops` | MLflow、Kubeflow、Label Studio | | `gateway` | LiteLLM 代理、OpenRouter、PromptLayer | `jaxen ai-hunt all` 依次运行每个类别。 ## 示例 ``` $ jaxen hunt --max 200 --clean 'product:"Ollama" port:11434' [*] querying Shodan: product:"Ollama" port:11434 [+] page 1: cum= 100 / total=16473 [+] page 2: cum= 200 / total=16473 [*] truncated to --max 200 of 16473 available; raise --max to capture more [*] --clean: dropped 12 CDN/cloud, 188 remain [*] total available: 16473 | returning: 188 [+] saved 48291 bytes -> recon_dump.json [+] empire.db: 188 assets upserted (141 with index favicon, 3 product-default matches) ``` ## 设计笔记 JAXEN 是 NuClide 链的汇总阶段。其输出流向: - `jaxen aimap ` 将主动指纹识别委托给 `aimap` 二进制文件 - `jaxen diff` 检测新资产并触发 Slack/Discord webhook 警报 - `jaxen run ` 执行针对 `empire.db` 的自定义 Go 代码,无需编写单独的工具 `run` 子命令编译并执行一个具有直接数据库访问的 Go 文件。 这允许将每项调查分析保留在版本控制的脚本中,而不是重复手动查询。 ## JAXEN 不是什么 JAXEN 是一个汇总和关联工具。它不在 HTTP 响应级别上指纹服务;使用 `aimap` 进行此操作。它不运行攻击链;使用更广泛的武器库。`hunt` 子命令消耗 Shodan 查询信用;使用 `--max` 和 `--clean` 来限制信用消耗。 ## 许可证 MIT。NuClide 工具链的一部分。联系:[nuclide-research.com](https://nuclide-research.com)
标签:AI/ML, API查询, BSD, CIDR, EVTX分析, Go语言, SQLite, TLS证书分析, Webhook, 代码示例, 力导向图, 数据分析, 数据导入, 数据导出, 数据库, 数据持久化, 数据挖掘, 数据比对, 数据清洗, 数据监控, 日志审计, 程序破解, 网络安全, 脚本语言, 隐私保护