cdua-org/ReconSR
GitHub: cdua-org/ReconSR
ReconSR 是一款模块化的自动化 OSINT 侦察框架,通过响应式 pipeline 递归发现并映射目标的数字足迹与攻击面。
Stars: 2 | Forks: 0
# ReconSR
[](https://github.com/cdua-org/ReconSR/actions/workflows/ci.yml)
[](https://github.com/cdua-org/ReconSR/releases)
[](https://github.com/cdua-org/ReconSR/commits/main)
[](https://github.com/cdua-org/ReconSR/issues)
[](https://github.com/cdua-org/ReconSR)
[](https://github.com/cdua-org/ReconSR/wiki)
[](LICENSE)
ReconSR 是一款自动化 OSINT 工具,旨在为网络安全研究人员提供一个模块化框架,用于映射和分析复杂的数字足迹与攻击面。
## 系统架构
ReconSR 通过实现响应式、事件驱动的 pipeline,将发现的结果递归转换为新的调查目标,从而超越了传统的扁平列表枚举。
## 共享模块工具 (`modules/utils`)
`modules/utils` 包含跨情报模块共享的可重用构建块。这些包不是 dispatcher 模块,也不直接暴露侦察功能;它们集中处理常见的关注点,例如 API key 加载、共享常量、DNS 记录解析、HTTP 重试/状态处理、模块执行辅助程序、resolver/runtime 设置等。
## 情报模块 (`modules/`)
### 1. 子域名层级 (`modules/subdomain_hierarchy`)
### 2. 高级 DNS 发现 (`modules/dns`)
### 3. 邮件身份加密 (`modules/mailcrypto`)
### 4. WHOIS/RDAP (`modules/whois`)
### 5. Hunter.io Email 情报 (`modules/hunterio`)
### 6. HaveIBeenPwned 数据泄露 (`modules/haveibeenpwned`)
### 7. 证书透明度 (`modules/domainsbycerts`)
### 8. HackerTarget 被动 DNS (`modules/hackertarget`)
### 9. Anubis DB (`modules/anubis`)
### 10. IPv4 去混淆 (`modules/ipv4ambiguous`)
### 11. IP 情报 (`modules/ip_metadata`)
### 12. IPinfo 情报 (`modules/ipinfo`)
### 13. AbuseIPDB 声誉 (`modules/abuseipdb`)
### 14. IP2Location 本地情报 (`modules/ip2location`)
### 15. MaxMind 本地情报 (`modules/maxmind`)
### 16. ASN 情报 (`modules/asn_metadata`)
### 17. Shodan 情报 (`modules/shodan`)
### 18. VirusTotal 情报 (`modules/virustotal`)
### 19. 漏洞查找 (`modules/vuln_lookup`)
### 20. LeakIX 情报 (`modules/leakix`)
### 21. Netlas 情报 (`modules/netlas`)
## 安全设计
虽然 ReconSR 目前作为本地 CLI 工具运行,但其架构构建了企业级的安全原语,以确保未来能够安全过渡到多租户 S 或 Web 环境:
* **零信任模块执行:** 核心引擎天生不信任外部模块。`Processor` 严格执行“黑盒”契约,不仅验证传入情报的语法,还核实模块是否仅返回明确请求的函数对应的数据。试图注入未经请求数据的恶意或被劫持模块将被自动拒绝。
* **严格的输入净化:** 所有实体(无论是用户提供的还是模块发现的)在存储之前,都会针对预期的类型(例如 IPv4、域名)进行严格的语法验证。数据以严格的字符串形式持久化,从结构上防止了注入攻击。
* **组件隔离与最小权限:** 内部组件仅通过严格定义的边界进行交互。模块仅与 `Dispatcher` 通信,对数据库、其他模块或用户界面一无所知。
* **不透明的项目标识符:** `Repository` 通过在运行时生成临时的、短暂的项目标识符来抽象物理存储。除了 `Repository` 之外,没有任何核心组件能够访问真实的项目 ID。这种间接引用防止了数据泄露,并缓解了未来多用户部署中的 IDOR(不安全的直接对象引用)漏洞。
## 愿景与可扩展性
ReconSR 被设计为用于攻击面发现和映射的解耦框架。我们的长期目标是将其从一个独立的 CLI 工具发展为一个全面的攻击面管理 (ASM) 情报平台。通过严格分离执行引擎、数据存储和外部模块,该架构减轻了技术债务,并确保系统能够有机地增长以满足企业需求。
* **生态系统可扩展性:** “黑盒”模块契约允许开源社区或内部安全团队独立开发和集成专有的侦察插件。这种模块化促进了一个生态系统的发展,使得 ReconSR 能够快速适应新的侦察技术和暴露模式,而无需修改核心引擎。
* **解耦的接口:** 目前,该平台通过 CLI 运行。虽然我们计划开发 RESTful API 和 Web GUI,但 `Controller` 将用户交互与核心侦察 pipeline 的严格隔离(Facade 模式)也使开发人员能够构建自定义接口——例如企业的 ChatOps 机器人或专有的仪表板集成——同时保持底层的核心逻辑不变。
* **数据库可移植性:** 所有数据操作都集中在 `Repository` 抽象之后。虽然目前的实现使用的是便携的、基于项目的 SQLite 数据库,但迁移到分布式 RDBMS(例如 PostgreSQL)以支持海量数据集,只需为存储库接口实现一个新的数据库驱动程序即可,而无需重构应用程序结构。
* **支持本地化的架构:** 界面文本与核心业务逻辑完全解耦。这种分离确保了未来的本地化可以严格在配置级别实施,而无需修改底层引擎。
### 未来目标
虽然目前的 alpha 版本专注于自动化时间点调查,但我们的长期愿景包括扩展平台的操作能力:
* **协作工作空间:** 我们旨在实现多用户环境,使分布式的安全团队能够在一个统一的项目范围内,同时对复杂的调查进行处理,共享实时见解和图形可视化。
* **持续监控:** 我们计划将 ReconSR 的功能扩展到持续的基础设施监控,与传统的单次运行侦察并行。未来的功能将专注于计划扫描、状态比较,并向团队发出关于意外的公开暴露(例如,被遗忘的子域名、暴露的敏感数据)或基础设施变更的警报。这为潜在的本地企业部署或托管 SaaS 产品铺平了道路。
* **AI 辅助分析:** 为了提高调查的效率,我们计划启用 AI 来分析大型情报数据集,揭示隐藏的威胁,映射非显而易见的攻击向量,并解释复杂的基础设施关系。
## 项目路线图
### 已完成
### 即将推出
- 本地 Web 服务器。
- 额外的基于 API 的被动情报模块。
- 主动侦察能力。
## 作者与许可证
ReconSR 是一个独立项目,由非营利专家社区 [Cyber Defense Unbiased Analysis (CDUA)](https://cdua.org) 的网络安全研究人员开发。
**许可证:** ReconSR 是在 **PolyForm Noncommercial License 1.0.0** 下分发的。所有知识产权和核心开发权严格属于个人作者:**roolsec** 和 **underhax**。
随着我们不断完善该框架,我们愿意就企业集成、合作伙伴关系和商业应用进行对话。如需业务咨询、协作或讨论自定义许可证,请联系开发团队:
* **roolsec:** roolsec [at] cdua [dot] org
* **underhax:** underhax [at] cdua [dot] org
|
|
查看详细架构
### 1. 响应式执行 pipeline (`internal/pipeline`) ReconSR 的核心是一个非阻塞的响应式循环。数据在一个周期内流动:**Dispatcher → Modules → Processor → Repository → Dispatcher**,直到没有新实体产生为止。 - **Controller** (`internal/controller`):作为外部表示层(目前为 CLI)与核心引擎之间的集成边界。通过将用户交互与核心严格隔离,它允许未来在不改变底层系统架构的情况下,添加多样化的接口——例如 Web GUI、REST API 或自动化机器人。在操作层面上,它通过将目标验证委托给 Validator 和 Scope Manager,然后使用经过验证的种子实体初始化侦察周期,从而编排初始输入流程。 - **Dispatcher** (`internal/dispatcher`):基于类型索引的注册表(例如 `domain` → DNS、WHOIS 等)将实体路由到各个模块。它跟踪每个实体已完成的函数以防止冗余执行,并强制执行每个模块调用的可配置全局超时。 - **Processor** (`internal/processor`):根据契约验证模块输出(拒绝未经授权的函数、不完整的数据和语法错误)。通过 Validator 规范化实体类型,并通过 Scope Manager 检查范围边界。 - **Repository** (`internal/repository`):集中式的数据访问层。所有数据库操作都严格隔离在此处,以确保核心与具体数据库实现无关,从而促进未来从当前基于项目的 SQLite 设置无缝迁移到企业级 RDBMS(例如 PostgreSQL)。它负责处理持久化、实体去重和分发批处理。 ### 2. 支持基础设施 - **Scope Manager** (`internal/scopemanager`):操作防火墙。通过允许/阻止规则(支持域后缀匹配、IP CIDR 范围和精确实体匹配),应用用户在 `configs/scope.txt` 中配置的严格侦察边界。在这些技术参数内操作有助于遵守授权的交战规则(法律合规性),并帮助缓解“范围爆炸”(无限递归爬取至第三方基础设施)。 - **Validator** (`internal/validator`):集中式的实体类型规范化和语法验证。自动对 domain 与 subdomain、IPv4 与 IPv6,以及标准 email 与额外 email(包含引号或括号等非标准字符的 email)进行分类。 - **Report Renderer** (`internal/report`):递归的 ASCII 树状可视化项目关系图,具备范围感知能力(Out-of-Scope 标记、循环检测)。 - **Interactive Visualizer** (`internal/html`):生成动态、可拖拽的实体关系图 HTML 表示。具备交互式布局和可切换的节点标签,以促进对复杂攻击面的可视化分析。 ### 3. 外部情报与 API 策略 ReconSR 将零配置的公共来源与用户配置的 API 集成相结合: - **无密钥集成**:公共来源模块无需用户账户或 API key 即可运行,但受限于提供商的配额和可用性。 - **用户 API Key**:基于 API 的模块仅在本地配置了相应的用户提供的 key 时才会暴露其功能。某些集成也可能支持可选的 key,同时保留无密钥操作。 - **演示模式**:支持的基于 key 的模块可以通过将其服务 key 配置为 `demo-api-key` 来显式切换到内置的示例数据。这让用户能够在决定是否获取真实的提供商凭证之前,探索模块的输出量和数据结构,且无需查询第三方 API。 - **速率限制与服务条款意识**:无密钥和经过身份验证的提供商都会执行自己的配额、速率限制、服务条款和数据许可规则。用户有责任在需要时获取凭证并遵守每个提供商的政策。 - **模块接口**:系统遵循严格的 **“黑盒”契约**。开发人员无需了解内部核心逻辑、路由或数据库结构即可扩展 ReconSR 的功能。查看详情 (1 个函数)
- `decompose`:深层子域名的层级分解。提取组织 domain(通过 Public Suffix List 获取的 eTLD+1)以及所有中间父级子域名,并使用 `Applied` 标志来防止冗余的重复处理。查看详情 (27 个函数)
用于全面 DNS 侦察的高度专业化情报模块。每种记录类型都被视为关键的情报向量(共 27 个函数): #### **基础设施与连续性** - `preflight_dns`:轻量级的区域健康验证,使用 `dns_ok` 标记可解析的目标,并在高成本枚举开始之前标记出损坏的区域。 - `get_ip`:IPv4/IPv6 解析 (A/AAAA)。 - `get_ns`:识别权威域名服务器,并进行验证和范围分析。 - `get_mx`:邮件交换服务器发现,带有优先级排序,并提取经验证的 `mx_host` 基础设施节点。 - `get_soa`:提取原始的 SOA 记录、Serial 值、经验证的 Primary NS (MNAME) 以及经验证的 Responsible Email (RNAME)。 - `get_cname`:映射目标及 `www.` 前缀的规范别名,区分范围内的别名与外部的 `cname_target` 基础设施。 - `check_wildcard`:通过随机子域名探测进行主动检测。 #### **身份与信任策略** - `get_caa`:提取授权的 CA 作为类型化的基础设施节点,并显示经验证的 `iodef` 违规报告邮箱。 - `get_dmarc`:检索 DMARC 策略并提取失败 (`ruf`) 和汇总 (`rua`) email;检测外部报告 (OOS)。 - `get_dkim`:通过暴力破解 33 个常见和 2 个动态 selector 来检索完整的 DKIM 记录。 - `get_domainkey`:提取遗留的加密记录。 - `get_txt`:在常规 TXT 数据聚合的同时检索完整的 SPF 记录。 #### **加密密钥与协议** - `get_dnskey`:提取并分类 KSK 和 ZSK 签名密钥。 - `get_ds`:映射 Delegation Signer 摘要 (SHA-1/256/384)。 - `get_cert`:提取原始的证书 payload (PKIX, PGP, SPKI)。 - `get_sshfp`:验证各种算法的 SSH 公钥指纹。 - `get_hip`:解码 Host Identity Protocol 参数,包括 HIT/公钥和经验证的 HIP 会合服务器。 - `get_ipseckey`:揭示 VPN 网关拓扑(IP/域名)及相关的公钥,并带有经验证的网关分类。 #### **服务与元数据发现** - `get_srv`:暴力破解 33 个服务前缀 (SIP、XMPP、LDAP、Kerberos、CalDAV、Matrix 等)。 - `get_tlsa`:通过暴力破解 7 个端口-协议前缀 (`_443._tcp`, `_25._tcp`, `_465._tcp`, `_587._tcp`, `_993._tcp`, `_853._tcp`, `_443._udp`) 进行 DANE 证书指纹识别。 - `get_svcb`:并行解码 SVCB (类型 64) 和 HTTPS (类型 65) 参数,包括 ALPN、ECH、IP 提示和端口。 - `get_naptr`:提取服务标识符和经验证的替换目标,包括 `_service._proto.domain` 委托模式。 - `get_uri`:针对已映射应用程序的原生 URI 解析(优先级/权重映射)。 - `get_loc`:精确解码物理坐标(纬度/经度/海拔/大小/精度)。 - `get_hinfo`:披露 CPU/OS 元数据,并带有自动噪音过滤。 - `get_rp`:提取 Responsible Person 邮箱和 TXT 引用域名作为链接节点。 - `get_nsec`:通过触发 NXDOMAIN 进行主动的区域遍历,以发现隐藏的子域名和记录覆盖提示。查看详情 (3 个函数)
专门发现与组织身份关联的加密通信密钥: - **哈希架构**:实现 RFC 7929/8162 (SHA256/Base32) 以进行确定性查找哈希。 - **双输入逻辑**: - **Email 地址**:针对指定的本地部分进行有针对性的、直接的加密密钥查找。 - **Domain/Subdomain**:可选地暴力破解 15 个管理别名(`admin`、`support`、`noc`、`security`、`abuse` 等);默认通过网络选项禁用,可供显式开启。 - `preflight_dns`:在执行加密查找之前,对目标 email 域名进行区域健康验证。 - `get_openpgpkey`:通过 OPENPGPKEY DNS 记录发现 PGP 公钥。 - `get_smimea`:提取带有 DANE 映射的 S/MIME 证书参数。查看详情 (1 个函数)
- `get_whois`:采用回退导向架构,以 RDAP 为主,TCP 43 为辅。具备从 `whois.iana.org` 开始的递归注册表发现和针对特定注册表的查询处理功能 (JPRS, Verisign, DENIC, NIC.name),通过锚点节点对注册商/注册人层级进行建模,并提取具备角色感知能力的联系人、地址、日期、域名服务器、域名状态、DNSSEC 状态以及注册商元数据(如注册商 URL、WHOIS 服务器和 IANA ID)。查看详情 (1 个函数)
- `get_hunterio_domain_search`:配置 API key 后,针对域名及可选的组织查询 Hunter.io Domain Search。提取发现的 email 地址、置信度和验证状态、email 模式、组织元数据、关联域名、人员姓名、角色、部门、资历、电话号码、社交资料、来源 URL/域名、来源日期,以及一次性邮箱、webmail、accept-all 等提供商标志,并支持 API 预检、额度跟踪、分页、重试处理和显式的演示模式。查看详情 (1 个函数)
- `get_email_breaches`:查询 HaveIBeenPwned API 以获取被攻陷的 email 账户。提取泄露元数据,包括描述、泄露的数据类别、被攻陷的记录数量、日期、相关域名等。评估风险指标(恶意软件、窃取日志等),并支持显式的演示模式。查看详情 (1 个函数)
- `get_domains`:通过可配置的证书透明度来源(包括 `crt.sh`、直接通过 PostgreSQL 访问 `crt.sh` 以及 `CertSpotter`)进行被动证书身份收集。发现子域名、泛域名和与证书绑定的 email 身份,将过期元数据附加到主机名和 email 身份,在适用情况下发出明确的 `expired` 状态,并单独汇总具有过期证书的子域名以进行分类。查看详情 (1 个函数summary> - `get_hosts`:查询 `HackerTarget` 被动 DNS 数据集,以识别经验证的域名和子域名节点及其直接关联的已解析 IP 节点。支持可选的 API key;如果没有,请求将使用公共无密钥端点,并受限于基于 IP 的服务限制。包含自动重试逻辑、API 配额检测和范围外分类。
查看详情 (1 个函数)
- `get_domains`:通过 `anubisdb.com` Anubis 数据库进行被动子域名枚举。返回经验证的子域名和泛域名,对结果进行去重,并在插入图形之前过滤掉 ARPA/范围外的噪音。查看详情 (1 个函数)
- `parse_ambiguous`:解析包含前导零的模糊 IPv4 地址。将输入(例如 `012.012.012.012`)解码为严格的十进制格式(`12.12.12.12`)和符合 POSIX 标准的八进制格式(`10.10.10.10`),以识别混淆和配置错误。查看详情 (6 个函数)
通过反向 DNS、公共黑名单和 RIPEstat 数据 endpoint 对 IPv4/IPv6 地址进行被动侦察,以揭示网络身份和声誉: - `get_ptr`:执行反向 DNS 查找,将 IP 解析回其映射的域名。 - `get_asn`:通过 Team Cymru DNS TXT 查询解析源自的 Autonomous System Number (ASN) 和 BGP 前缀。 - `get_tor`:使用官方 DNSBL 检查(`dnsel.torproject.org`、`dan.me.uk`)检测该 IP 是否为活跃的 Tor 出口节点。 - `get_rbl`:根据主要的实时黑洞列表 检查 IP,以识别垃圾邮件/僵尸网络声誉。 - `get_ip_info`:从 RIPE WHOIS 记录中提取网络名称 (`netname`) 和描述。 - `get_ip_abuse_contacts`:检索注册到特定 IP 分配的专用滥用报告 email 地址。查看详情 (1 个函数)
- `get_ip_info`:配置 API key 后,针对 IPv4/IPv6 目标查询 IPinfo API。提取地理位置、ASN、隐私、移动、托管、Anycast、卫星、反向 IP 元数据等。根据配置,它会查询富查询端点,或者默认使用免费的 lite 端点。支持显式的演示模式。查看详情 (1 个函数)
- `check_abuseipdb`:配置 API key 后,针对 IPv4/IPv6 声誉查询 AbuseIPDB。提取滥用置信度分数、报告计数、报告摘要、网络元数据(国家、ISP、使用类型等)、风险指标(恶意、可疑、白名单、Tor 出口等)、基于类别得出的威胁标签以及反向 IP 主机名/域名,并具有重试、每日配额检测和显式的演示模式支持。查看详情 (3 个函数)
基于 `data/ip2location` 下本地安装的 IP2Location/IP2Proxy BIN 数据库进行离线 IPv4/IPv6 富化: - `get_geo_ip`:从 DB11 Geo IP 数据中提取地理位置、ISP、反向 IP 域名、使用类型、移动网络元数据、连接速度、地址类型、IAB 类别等。 - `get_ip_asn`:从 IP2Location ASN 数据中解析 ASN、AS 所有者、关联的 AS 域名、AS 使用类型和 AS CIDR。 - `get_proxy_check`:通过 IP2Proxy 数据检测代理/VPN/Tor/数据中心/住宅/隐私网络指标,提取欺诈分数、最后出现时间、提供商、反向 IP 域名、使用类型以及扫描器、垃圾邮件、僵尸网络等源自威胁的标签。查看详情 (4 个函数)
基于 `data/maxmind` 下本地安装的 MaxMind MMDB 数据库进行离线 IPv4/IPv6 富化: - `get_geo_ip`:从 City 数据库中提取全面的地理位置元数据(城市、地区、国家、坐标、时区等)。 - `get_ip_asn`:从 ASN 和 ISP 数据库中解析 Autonomous System Number (ASN)、关联的组织、ISP 等。 - `get_proxy_check`:从 Anonymous IP 数据库中识别匿名 IP、VPN、Tor 出口节点等,并发出标准化的威胁标签。 - `get_mm_enterprise_data`:通过深入解析 Enterprise 数据库来提供最大数据密度。将所有可用的地理位置、ASN、ISP、连接类型、用户类型等组合成一个统一的输出。查看详情 (4 个函数)
通过 RIPEstat API 对 Autonomous System Number 进行深度分析,以映射网络层级、所有权和已公布的子网: - `get_asn_peers`:通过识别每一跳的最大上游提供商来构建严格的线性传输链,揭示该 ASN 从何处购买传输服务。 - `get_asn_prefixes`:检索该 ASN 当前公布的所有 IPv4/IPv6 CIDR 块(BGP 前缀)。 - `get_asn_info`:解析该 Autonomous System 的官方法定持有者(组织名称)。 - `get_asn_abuse_contacts`:提取与该 ASN 基础设施关联的滥用报告 email 地址。查看详情 (3 个条件函数)
Shodan 富化使用两种功能模式:没有 API key 时,仅公布公共 InternetDB 功能且包含较少的主机暴露数据;当配置了 Shodan API key 时,InternetDB 会被基于 API 的 IP 和域名功能取代,从而提供更丰富的结果和显式的演示模式支持: - `get_idb_shodan`:通过公共 Shodan InternetDB 端点对 IPv4/IPv6 目标进行被动富化。提取 PTR 主机名、开放端口、服务标签、已知 CVE 和 CPE 指纹,用于快速进行暴露分类。 - `get_shodan_api_ip`:针对 IPv4/IPv6 目标查询 Shodan Host API。提取反向 IP 域名、ASN、组织、ISP、OS、主机名、标签、最后更新时间、服务 banner、端口、CVE、CPE、SSL/TLS 元数据等。 - `get_shodan_api_domain`:针对域名及可选的子域名查询 Shodan DNS Domain API。提取被动 DNS 子域名以及大量可能与多个专用 DNS 模块重叠的 DNS 派生实体,包括记录值、最后出现日期、泛域名标记、历史标签、范围外分类等。查看详情 (4 个函数)
通过 VirusTotal API v3 对域名、可选子域名以及 IPv4/IPv6 目标进行基于 API 的富化。如果没有 VirusTotal API key,则不会向 dispatcher 公布任何函数;配置 key 后,该模块将暴露其功能并支持显式的演示模式: - `get_virustotal_domain`:查询 VirusTotal 域名元数据,并在启用时查询相关子域名。提取标签、声誉和威胁分数、类别、流行度排名、JARM、众包上下文、证书身份和指纹、DNS 派生实体、过期证书子域名汇总、范围外分类等。 - `get_virustotal_domain_communicating_files`:查询 VirusTotal 以获取与该域名通信的文件。提取关联的文件哈希、PE 元数据、文件名、魔数、日期、威胁分数、分类、类别、YARA/Sigma 规则、IDS 警报、恶意软件配置、标签、沙箱判定结果、声誉、证书、DEB/RPM 信息等。 - `get_virustotal_ip`:查询 VirusTotal IP 元数据和被动 DNS 解析。提取 ASN、网络 CIDR、AS 所有者、地理元数据、JARM、标签、威胁分数、最后更新时间、被动 DNS 主机名等。 - `get_virustotal_ip_communicating_files`:查询 VirusTotal 以获取与该 IP 地址通信的文件。提取与域名通信文件函数同样全面的文件元数据。查看详情 (2 个函数)
- `enrich_circl_cve`:查询 CIRCL Vulnerability API 以获取 CVE 实体。支持可选的 API key;如果没有,请求将使用公共无密钥端点,并受严格的速率限制。提取漏洞摘要、带有本地描述的 CWE 分类、最佳可用的 CVSS 指标、受影响的 CPE 条件、EPSS 概率和百分位数、SSVC/KEV 指标、CIRCL 响应中包含的附加元数据等。 - `search_circl_cpe`:查询 CIRCL Vulnerability API 以获取 CPE 实体。按名称搜索产品,并提取关联的 CVE、供应商详情和相关元数据。查看详情 (3 个函数)
通过 LeakIX API 对域名和 IPv4/IPv6 目标进行基于 API 的暴露和数据泄露情报获取。如果没有 LeakIX API key,则不会向 dispatcher 公布任何函数;配置 key 后,该模块将暴露所有三个功能并支持显式的演示模式: - `get_leakix_domain`:查询 LeakIX 域名情报。提取按 IP/端口/协议分组发现的 service、开放端口、协议、软件版本、Web 服务器标头、favicon 哈希、SSL/TLS 元数据(JARM、证书指纹、SAN 域名、颁发者、过期时间)、SSH 属性、泄露的凭证、泄露严重性/类型/阶段、数据集统计信息、网络上下文(ASN、组织、CIDR)、地理位置、反向 DNS、MAC 地址、标签、事件来源以及泄露汇总,并具有重试、速率限制处理和被阻止 key 检测功能。 - `get_leakix_ip`:针对 IPv4/IPv6 目标查询 LeakIX 主机情报。提取与域名函数同样全面的 service、泄露、凭证、网络和 SSL/SSH 元数据,并围绕每个主机的事件组进行组织。 - `get_leakix_subdomains`:查询针对域名的 LeakIX 被动子域名枚举。提取带有最后出现日期、不同 IP 计数、范围外分类和被动 DNS 标签的经验证的子域名。查看详情 (4 个函数)
使用 Netlas Host 和 Download API 对域名和 IPv4 目标进行基于 API 的情报模块。如果没有 Netlas API key,则不会向 dispatcher 公布任何函数;配置 key 后,该模块将暴露其功能并支持显式的演示模式。*注意:该模块可以提取范围广泛的数据,从基本信息到高级情报(例如匿名性标签、CVE、漏洞利用链接、Threat Intelligence Data 等),具体取决于您的 Netlas 定价计划(从免费层级到企业版)。* - `get_netlas_domain`:富化域名(以及可选的子域名,具体取决于配置)。在单次响应中返回来自 Netlas 各个集合的汇总数据。提取 IP 地址、端口、软件、DNS 记录、WHOIS 数据、关联标签、CVE、漏洞利用链接等。 - `get_netlas_ip`:富化 IPv4 地址。在单次响应中返回来自 Netlas 各个集合的汇总数据。提取端口、软件、WHOIS 数据、ASN 信息、地理位置、匿名性标签、反向 IP 域名、CVE、漏洞利用链接、Threat Intelligence Data 等。 - `get_netlas_domains_by_ip`:使用 Netlas 下载 API 批量检索托管在特定 IPv4 地址上的域名(反向 IP)。除了域名外,它还提取它们解析的 IP 和关联的 DNS 记录。要求配置的 `NetlasLimitPerOneDownload` > 0。 - `get_netlas_domains_by_domain`:使用 Netlas 下载 API 批量检索给定域名的相关域名(被动 DNS)。除了域名外,它还提取它们解析的 IP 和关联的 DNS 记录。要求配置的 `NetlasLimitPerOneDownload` > 0。查看已完成的里程碑
- ✅ 响应式 pipeline 架构 (Controller → Dispatcher → Processor → Repository)。 - ✅ Scope Manager 和实体类型 Validator。 - ✅ 子域名层级分解。 - ✅ CLI 模块配置和 ASCII/HTML 报告渲染器。 - ✅ DNS 侦察:27 个函数,涵盖基础设施、身份、加密、DNSSEC、服务发现和 DNS 健康预检。 - ✅ 用于 DoH 二进制响应的 RFC 3597 线格式解码器。 - ✅ WHOIS/RDAP 支持多注册表,具备结构化的注册商/注册人图形锚点和注册商元数据提取功能。 - ✅ 通过可配置的 CT 来源进行证书透明度收集,包括 `crt.sh`、直接通过 PostgreSQL 访问 `crt.sh` 以及 `CertSpotter`,支持泛域名身份、证书绑定的 email 身份、过期元数据以及具有过期证书的子域名汇总。 - ✅ 通过 HackerTarget 进行被动 DNS 枚举,具备经验证的域名/子域名到 IP 的关系,并支持可选的 API key。 - ✅ Hunter.io email 情报支持域名/组织搜索、联系人富化、来源证据以及显式的演示模式。 - ✅ 针对 email 目标的 HaveIBeenPwned 数据泄露情报,提取被攻陷的数据类别、威胁标签、元数据,并支持演示模式。 - ✅ 邮件安全:支持 OPENPGPKEY 和 SMIMEA 发现,具备可选的管理别名枚举和 DNS 预检健康检查。 - ✅ IPv4 模糊解析(十进制与 POSIX 八进制解码)。 - ✅ 通过 Shodan InternetDB 进行被动暴露富化,以及基于 API 的 Shodan Host/DNS 情报,并支持演示模式。 - ✅ 针对域名和 IPv4 目标的 Netlas 情报模块,支持反向 IP 和被动 DNS 查询,并支持演示模式。 - ✅ 通过 Anubis DB 进行被动子域名发现。 - ✅ IP 情报:PTR、DNSBL (Tor/Spam)、RIPE WHOIS 元数据(netname、描述)以及滥用联系人。 - ✅ 针对 IPv4/IPv6 目标的 IPinfo API 富化,提取地理位置、ASN、隐私、移动、托管属性等,并支持 Lite/付费端点切换和演示模式。 - ✅ AbuseIPDB 声誉检查,提供滥用分数、报告摘要、威胁标签、反向 IP 上下文,并支持演示模式。 - ✅ 离线 IP2Location/IP2Proxy 富化,用于地理位置、ASN、代理/VPN/Tor 指标以及相关的 IP 元数据。 - ✅ 通过本地安装的 MMDB 数据库进行离线 MaxMind 富化,用于地理位置、ASN、代理/VPN 指标以及全面的企业数据聚合。 - ✅ ASN 情报:通过 RIPEstat 获取传输对等层级、BGP 前缀 (CIDR)、法定持有者以及滥用联系人。 - ✅ 用于域名/IP 声誉、被动 DNS、证书、DNS 派生数据、通信文件和威胁情报发现的 VirusTotal API 富化,并支持演示模式。 - ✅ CIRCL 漏洞查找,用于 CVE 富化和 CPE 搜索,提供 CVSS、CWE、EPSS、SSVC/KEV、CPE 以及相关的漏洞元数据。 - ✅ 针对域名和 IP 的 LeakIX 暴露和数据泄露情报,包括服务发现、泄露凭证、SSL/SSH 元数据、子域名枚举,并支持演示模式。标签:ESC4, EVTX分析, GitHub, OSINT, 内存取证对抗, 实时处理, 密码管理, 攻击面分析, 日志审计, 自动化框架, 误配置预防, 资产测绘