hardcod3dd/Domain-Catcher

GitHub: hardcod3dd/Domain-Catcher

一款通过监控证书透明度日志来实时发现包含指定关键词或同形字主机名的域名监控工具,支持自动化数据补充与截图存档。

Stars: 0 | Forks: 0

# Domain Catcher Domain Catcher 通过监控证书透明度日志,来寻找包含指定关注关键词的主机名。它支持精确匹配和 Unicode 同形字匹配,通过原生的 WHOIS 和 IPinfo 数据丰富捕获结果,对网站进行截图,并将所有数据存储在本地。 ![Domain Catcher 概览](https://static.pigsec.cn/wp-content/uploads/repos/cas/a6/a62852a723d8db0157a8267e859670c596492dbf6e0eae8a17c899cf17845825.png) ## 功能 - 持久化的 CertStream 后台监控 - 精确匹配与同形字关键词检测 - 针对单条记录的匹配范围控制:覆盖所有主机名标签、仅基础域名,或匹配单个精确域名及其所有子域名 - 批量关键词和域名白名单管理 - 针对可注册域名的原生本地 `whois` 查询 - DNS 和 IPinfo 国家/地区及 ASN 信息补充 - 使用本地 Chromium 进行截图,并支持可选的代理配置 - 支持搜索和过滤的实时概览面板 - 收藏夹、截图库、JSON/CSV 导出以及 JSON 导入功能 - 采用 SQLite 数据库及由 Docker 管理的持久化存储卷 ## 关键词匹配模式 每个关注的条目都有各自的匹配模式: - **全部捕获 (Catch all)**:将该值视为关键词,只要主机名中任意位置包含该词即视为匹配。 - **仅基础域名 (Base domain only)**:仅在可注册的基础域名中搜索该关键词,忽略子域名标签。 - **精确域名匹配 (Exact domain match)**:将该值视为一个完整的域名,仅捕获该域名及其子域名。 例如,如果将 `google.com` 设置为精确域名匹配条目,它会捕获 `google.com`、`mail.google.com` 和 `accounts.login.google.com`。但不会捕获 `mygoogle.com`、`google.com.evil.test` 或 `google-example.com`。 ## 截图画廊 成功捕获的网站截图会保存在本地,并显示在画廊中。选中画廊中的项目,会打开与概览面板中相同的域名详细视图。 ![Domain Catcher 截图画廊](https://static.pigsec.cn/wp-content/uploads/repos/cas/8f/8f990074c72b9ece48daaea63984efaa18b3f94cf2c9d9c069d3dfd65425975d.png) ## 使用 Docker 运行 推荐使用 Docker Compose 进行安装部署: ``` docker compose up -d --build ``` 打开 ,根据需要配置 IPinfo token,添加关键词,然后点击 **Start monitoring**。 常用命令: ``` docker compose logs -f docker compose restart domain-catcher docker compose down ``` `docker compose down` 会保留已命名的数据卷。除非您打算彻底删除数据库、截图文件以及 CertStream 游标状态,否则请不要添加 `-v` 参数。 ## 不使用 Docker 运行 环境要求:Node.js 22+、Chromium/Google Chrome 以及 `whois` 命令行工具。 ``` npm install npm start ``` 打开 。默认的数据存储路径为 `data/` 和 `screenshots/`。 ## 数据持久化与重启行为 监控的启用状态会被保存在 SQLite 中。如果服务或宿主机在监控开启状态下重启,Domain Catcher 会自动重新连接到 CertStream。处于队列中的数据补充任务是持久化的,任何在 `processing` 状态下被中断的条目,都会在启动期间被重新移回 `queued`(队列中)状态。Docker Compose 为这两个服务均配置了 `restart: unless-stopped` 策略。 Docker 数据卷: - `domain-catcher-data`:SQLite 数据库 - `domain-catcher-screenshots`:捕获的截图文件 - `certstream-state`:证书透明度游标状态 ## API - `GET /get-all`:获取每一条包含已存储的完整 WHOIS 和 IPinfo 数据的捕获记录 - `GET /api/catches`:获取支持分页及搜索的结果 - `GET /api/status`:获取监控状态及统计数据 本应用程序未启用身份验证。请将其部署在受信任的网络环境中,或将其放置在带有身份验证的反向代理之后。
标签:DFIR, Docker, MITM代理, 同形异义词, 域名监控, 威胁情报, 安全防御评估, 实时处理, 开发者工具, 自动化情报收集, 自定义脚本, 证书透明度, 请求拦截, 配置审计, 钓鱼检测