X3r0Day/X3r0Day-Specter

GitHub: X3r0Day/X3r0Day-Specter

一款基于异步 Python 的子域名枚举与 TCP 端口扫描一体化侦察工具,帮助安全人员快速完成攻击面发现与资产梳理。

Stars: 0 | Forks: 0

# X3r0Day-Specter 子域名枚举与 TCP 端口扫描。 [![X3r0Day](https://img.shields.io/badge/part%20of-X3r0Day%20Project-purple?style=flat-square)](https://x3r0day.me) [![Python](https://img.shields.io/badge/python-3.10+-blue)](https://python.org) [![License](https://img.shields.io/badge/license-MIT-green)](LICENSE) ``` _____ ____ ___ __ ______ ___ ____ / ___/| \ / _] / ] | / _]| \ ( \_ | o ) [_ / /| | / [_ | D ) \__ || _/ _]/ / |_| |_|| _]| / / \ || | | [_/ \_ | | | [_ | \ \ || | | \ | | | | || . \ \___||__| |_____|\____| |__| |_____||__|\_| ``` ## 安装 ``` pipx install . ``` 从 GitHub 安装: ``` pipx install git+https://github.com/x3r0day/x3r0day-specter.git ``` ### Arch Linux 使用以下命令安装: ``` yay -S specter ``` 或者安装 VCS 包: ``` yay -S specter-git ``` ### 免安装使用 ``` python3 -m pip install rich python3 -m specter --help python3 main.py --help ``` ## 快速开始 ``` # Subdomain 枚举 specter subdomain example.com # 通过 brute force 进行 Subdomain 枚举 specter subdomain example.com -b # 保存 subdomain 报告 specter subdomain example.com -o subdomains.html # Port 扫描 specter scanme.nmap.org # Specific 端口 specter target.com -p 22,80,443 ``` ## 命令 | 命令 | 描述 | |---------|-------------| | `specter subdomain ` | 枚举子域名 | | `specter scan ` | TCP 端口扫描 | | `specter ` | 默认:TCP 端口扫描 | | `python3 -m specter ` | 仓库本地模块入口 | | `python3 main.py ` | 向后兼容的本地垫片 | ## 子域名枚举 ### 示例 ``` # Passive 枚举 specter subdomain example.com # 使用 brute force specter subdomain example.com -b # 自定义 wordlist specter subdomain example.com -b -w words.txt # 添加 Shodan specter subdomain example.com -K "$SHODAN_KEY" # 跳过 web 端口检查 specter subdomain example.com -N # 跳过页面抓取 specter subdomain example.com -W # 保存报告 specter subdomain example.com -o subdomains.html ``` ### 工作流程 1. 并发从被动源获取候选目标 2. 去重,并记录每个子域名的来源 3. 可选的暴力破解前缀 4. 解析为 IP 5. 检查常见的 Web 端口 6. 从有响应的主机中抓取标题、服务器和技术信息 ### 被动来源 | 来源 | 默认启用 | 备注 | |--------|---------|-------| | `crt.sh` | 是 | 证书透明度日志 | | `hackertarget` | 是 | 主机搜索 API | | `alienvault` | 是 | OTX 被动 DNS | | `urlscan` | 是 | 已索引的域名 | | `rapiddns` | 是 | DNS 数据 | | `shodan` | 否 | 使用 `-K` 添加 | | `bruteforce` | 否 | 使用 `-b` 添加 | ### 参数 #### 位置参数 | 参数 | 类型 | 描述 | |-----|------|-------------| | `domain` | 字符串 | 目标域名(例如 `example.com`) | #### 发现 | 短选项 | 长选项 | 类型 | 默认值 | 描述 | |-------|------|------|---------|-------------| | `-K` | `--shodan-key` | 字符串 | - | Shodan API 密钥 | | `-b` | `--brute` | 标志 | - | 暴力破解前缀 | | `-w` | `--wordlist` | 路径 | - | 自定义字典 | | `-N` | `--no-port-scan` | 标志 | - | 跳过 Web 端口检查 | | `-W` | `--no-scrape` | 标志 | - | 跳过页面抓取 | #### 性能与输出 | 短选项 | 长选项 | 类型 | 默认值 | 描述 | |-------|------|------|---------|-------------| | `-c` | `--resolve-concurrency` | 整数 | 200 | 并发 DNS 查询数 | | `-C` | `--scan-concurrency` | 整数 | 30 | 并发端口扫描数 | | `-t` | `--http-timeout` | 浮点数 | 8.0 | HTTP 超时时间(秒) | | `-o` | `--out` | 路径 | - | 输出文件 | | `-v` | - | 标志 | - | 详细输出 | | `-q` | `--quiet` | 标志 | - | 隐藏进度 | ### JSON 输出 ``` { "domain": "example.com", "subdomains": [ { "subdomain": "www.example.com", "ip": "192.168.1.1", "sources": ["crt.sh", "urlscan"], "ports": [80, 443], "status": 200, "title": "Example Domain", "server": "ECS", "tech": [], "elapsed": 0.812, "err": null } ], "total_found": 12, "total_resolved": 8, "started": "2026-03-24T10:30:00Z", "finished": "2026-03-24T10:30:04Z", "elapsed": 4.219, "errors": [] } ``` ## TCP 端口扫描 ### 示例 ``` # 基本扫描(默认:top 1000 端口) specter scanme.nmap.org # Specific 端口 specter target.com -p 22,80,443,8080 # Top 100 端口 specter target.com -P 100 # 所有端口 specter target.com -a # Stealth 模式 specter target.com --stealth # SYN 扫描(需要 root) specter target.com --syn-scan # Aggressive 服务检测 specter target.com -S -U # 保存报告 specter target.com -o results.html ``` ### 行为 - 解析主机名,扫描 TCP 端口,探测服务 - 基本模式:HTTP 提示,SSH 横幅,TLS 证书数据 - `-S` 使用 nmap 进行更深入的服务检测 - `--stealth` 降低噪音和并发 - `--syn-scan` 发送原始 SYN 数据包(需要 root 权限) ### 参数 #### 位置参数 | 参数 | 类型 | 描述 | |-----|------|-------------| | `target` | 字符串 | 要扫描的主机名或 IP | #### 端口选择 | 短选项 | 长选项 | 类型 | 默认值 | 描述 | |-------|------|------|---------|-------------| | `-p` | `--ports` | 字符串 | - | 特定端口:`22,80,443` 或范围 `1-1024` | | `-P` | `--top-ports` | 整数 | 1000 | 扫描前 N 个常用端口 | | `-a` | `--all-ports` | 标志 | - | 扫描全部 65535 个端口 | #### 扫描与服务检测 | 短选项 | 长选项 | 类型 | 默认值 | 描述 | |-------|------|------|---------|-------------| | `-c` | `--concurrency` | 整数 | 1000 | 并发连接数 | | `-t` | `--timeout` | 浮点数 | 1.5 | 连接超时(秒) | | `-C` | `--svc-concurrency` | 整数 | 20 | 并发服务探测数 | | `-S` | `--aggr-svc-scan` | 标志 | - | 使用 nmap 进行服务检测 | | `-M` | `--nmap-args` | 字符串 | `-sV --open` | nmap 参数 | | `-U` | `--sudo-nmap` | 标志 | - | 使用 sudo 运行 nmap | | `-N` | `--no-svc-scan` | 标志 | - | 跳过服务检测 | | - | `--stealth` | 标志 | - | 低噪音模式 | | - | `--syn-scan` | 标志 | - | 原始 SYN 扫描(需要 root 权限) | #### 输出 | 短选项 | 长选项 | 类型 | 默认值 | 描述 | |-------|------|------|---------|-------------| | `-o` | `--out` | 路径 | - | 输出文件 | | `-v` | - | 标志 | - | 详细输出;`-vv` 用于原始输出 | | `-q` | `--quiet` | 标志 | - | 隐藏进度 | ### JSON 输出 ``` { "target": "scanme.nmap.org", "ip": "192.168.1.0", "req_ports": [1, 2, 3], "open_ports": [22, 80, 9929], "svcs": [ { "port": 22, "ok": true, "state": "open", "svc": "ssh", "info": "Banner: SSH-2.0-OpenSSH_9.7", "elapsed": 0.023, "n_cmd": "light ssh probe", "raw": "SSH-2.0-OpenSSH_9.7", "err": null } ], "started": "2026-03-24T10:30:00Z", "finished": "2026-03-24T10:30:02Z", "elapsed": 2.345, "errors": [] } ``` ## 依赖要求 - Python 3.10+ - `pipx`,用于推荐的全局安装路径 - Rich,用于手动在本地仓库中执行 - Nmap(可选,用于激进模式) `--syn-scan` 需要 root 权限。使用 nmap 时,`--sudo-nmap` 会提示输入 sudo 密码。 ## 项目结构 ``` x3r0day-specter/ ├── pyproject.toml ├── main.py ├── packaging/ │ └── aur/ │ ├── LICENSE │ ├── README.md │ ├── specter/ │ │ ├── PKGBUILD │ │ └── .SRCINFO │ └── specter-git/ │ ├── PKGBUILD │ └── .SRCINFO ├── specter/ │ ├── scanner/ │ │ ├── port_scan.py │ │ └── subdomain.py │ └── core/ │ └── results.py ├── PLAN.md └── README.md ``` ## 链接 - [GitHub](https://github.com/x3r0day/x3r0day-specter) - [网站](https://x3r0day.me) MIT 许可证。详见 [LICENSE](LICENSE)。
标签:CTI, GitHub, Python, TCP扫描, Windows内核, 云存储安全, 侦察工具, 子域名枚举, 密码管理, 异步编程, 插件系统, 攻击路径可视化, 数据统计, 无后门, 爆破枚举, 白帽子, 端口扫描, 系统安全, 网络安全, 网络扫描, 计算机取证, 逆向工具, 隐私保护, 黑客工具