0xDexFi/orbital
GitHub: 0xDexFi/orbital
orbital 是一款被动式子域名接管扫描器,通过证书透明度日志和 DNS 解析发现指向已失效第三方服务的悬空 CNAME 记录,全程只读零侵扰。
Stars: 0 | Forks: 0
```
██████╗ ██████╗ ██████╗ ██╗████████╗ █████╗ ██╗
██╔═══██╗██╔══██╗██╔══██╗██║╚══██╔══╝██╔══██╗██║
██║ ██║██████╔╝██████╔╝██║ ██║ ███████║██║
██║ ██║██╔══██╗██╔══██╗██║ ██║ ██╔══██║██║
╚██████╔╝██║ ██║██████╔╝██║ ██║ ██║ ██║███████╗
╚═════╝ ╚═╝ ╚═╝╚═════╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝╚══════╝
passive subdomain-takeover scanner
```
[](LICENSE)
[](https://www.python.org/)
[](https://github.com/0xDexFi/orbital/actions/workflows/ci.yml)
[](https://github.com/0xDexFi/orbital/commits/main)
[](https://github.com/0xDexFi/orbital/stargazers)
`orbital` 是一款被动式子域名接管扫描器。它从公开的证书透明度日志中获取目标的子域名,通过 DNS 解析每一个子域名,并标记出任何指向已失效第三方服务的 CNAME —— 包括孤立的 S3 存储桶、返回 404 的 GitHub Pages 项目、已停用的 Heroku 应用,以及悬空的 Azure 端点。
整个工具是只读的:对每个候选项仅执行一次 DNS 查询和一次 HTTP GET 请求。没有探测,没有模糊测试,没有身份验证尝试。可以安全地对您有正当理由评估的任何主域名运行。
## 运行效果
```
$ orbital example.com --limit 50
[orbital] example.com: 2 candidate(s) found
▸ dead.example.com
CNAME : example.s3.us-west-2.amazonaws.com
service : AWS S3
status : 404
matched : "NoSuchBucket"
notes : Orphan S3 bucket — registerable by anyone.
▸ old-blog.example.com
CNAME : example-blog.herokuapp.com
service : Heroku
status : 404
matched : "No such app"
[!] Candidates are not confirmed takeovers. Verify manually before reporting.
```
## 为什么开发它
主动式接管扫描器会向目标发送数百个请求进行狂轰滥炸。`orbital` 不需要这样做 —— 它所依赖的每一个信号都来自公开数据:crt.sh 证书日志、公共 DNS,以及废弃服务返回的真实错误页面。
如果您的资产清单中存在过期的 CNAME,`orbital` 发现它们的速度会比您的蓝队更快。
## 安装
```
pip install -r requirements.txt
```
## 运行
```
orbital example.com
orbital example.com --limit 500 --concurrency 20 --json
```
## 检测内容
目前已提取指纹作为接管候选项的服务包括:
- AWS S3 (`NoSuchBucket`)
- GitHub Pages (`There isn't a GitHub Pages site here`)
- Heroku (`No such app`)
- Bitbucket (`Repository not found`)
- Fastly (`Fastly error: unknown domain`)
- Pantheon (`The gods are wise`)
- Tumblr (`Whatever you were looking for doesn't currently exist`)
- Shopify (`Sorry, this shop is currently unavailable`)
- Cargo Collective (`The page you were looking for does not exist`)
- Ghost (`The thing you were looking for is no longer here`)
- Unbounce, Webflow, Surge.sh, Help Scout, Tilda
添加一个指纹只需在 `src/orbital/fingerprints.py` 中添加一条记录。
## 输出
默认:将人类可读的摘要打印到标准输出。使用 `--json` 可获得适合通过管道导入您的资产清单流水线的机器可读输出。
## 注意事项
- 指纹匹配只是一个**候选结果**,而非已确认的接管。在声明存在问题之前,请务必手动验证。
- crt.sh 偶尔会缓慢或不可用。扫描器会优雅地进行容错处理,并报告其成功收集到的内容。
## 0xDexFi 的更多项目
- [**pentern**](https://github.com/0xDexFi/pentern) — 自动编写代码的侦察代理
- [**brief**](https://github.com/0xDexFi/brief) — 每日 CVE/安全公告摘要代理
- [**secmcp**](https://github.com/0xDexFi/secmcp) — 用于被动安全工具的 MCP 服务器
- [**vibe-init**](https://github.com/0xDexFi/vibe-init) — 一键生成 AI 编码器配置的脚手架工具
- [**agentlint**](https://github.com/0xDexFi/agentlint) — AI 代理配置文件的 Linter
## 许可证
MIT。详见 `LICENSE`。
标签:ASM, Azure安全, Bug Bounty, CNAME扫描, DNS安全, GitHub, GitHub Pages安全, Heroku安全, Python, S3 Bucket接管, Snort++, 动态分析, 可自定义解析器, 子域名接管, 悬空CNAME, 无后门, 白帽, 第三方服务枚举, 网络安全, 被动扫描, 证书透明度日志, 隐私保护