s-r-e-e-r-a-j/NetSpecter
GitHub: s-r-e-e-r-a-j/NetSpecter
基于 Python 构建的异步 OSINT 侦察引擎,整合多源情报收集与 Shodan 安全情报,提供完整目标画像和自动化风险评分。
Stars: 1 | Forks: 0
# NetSpecter
**NetSpecter** 是一个轻量但强大的异步 OSINT 和侦察引擎,使用 Python 构建。
它结合了多源情报收集(DNS、WHOIS、Web、Geo、反向 DNS)与基于 Shodan 的安全情报及完整的原始数据访问,提供完整的目标画像和风险评估。
## 免责声明
NetSpecter 的开发仅用于**教育用途**和**授权的安全研究**。
此工具执行侦察并从多个来源收集公开可访问的情报。
**严禁**在未获得所有者明确许可的情况下,针对系统、网络或域名使用 NetSpecter。
作者**不承担任何责任,也不对**因使用此工具而导致的任何滥用、损害或法律后果负责。
使用 NetSpecter 即表示您同意:
- 仅在您拥有或被授权评估的系统上使用
- 遵守所有适用的地方、国家和国际法律
- 对您的行为承担全部责任
如果您对您行为的合法性不确定,**请不要使用此工具**。
## 功能特性
### 侦察引擎
- DNS 枚举 (A, MX, NS, TXT)
- WHOIS 查询
- 反向 DNS 解析
- Web 探测(状态、服务器、标题提取)
- Geo/IP 情报
### 情报引擎 (`--full`)
- 通过官方 SDK 获取 Shodan 主机情报
- 开放端口和服务发现
- Banner 和版本提取
- OS、ASN、ISP 和组织检测
- 漏洞检测(是否存在 CVE)
### 原始情报访问
- 包含完整的原始 Shodan API 响应
- 支持高级分析和自定义解析
- 保留原始数据,无过滤或丢失
### 安全分析
- 检测暴露的服务:
- SSH (22)
- RDP (3389)
- MySQL (3306)
- 识别是否存在漏洞
- 包含 OS 信息(来自 Shodan 情报)
### 风险评分系统
- 分类:
- LOW(低危)
- MEDIUM(中危)
- HIGH(高危)
- CRITICAL(严重)
- 基于暴露的服务和漏洞
## 安装与设置
### 1. 克隆仓库
```
git clone https://github.com/s-r-e-e-r-a-j/NetSpecter.git
```
### 2. 进入 NetSpecter 目录
```
cd NetSpecter
```
### 3. 创建虚拟环境
```
python3 -m venv venv
```
*激活它:*
**Linux / macOS**
```
source venv/bin/activate
```
**Windows**
```
venv\Scripts\activate
```
### 4. 安装依赖项
```
pip3 install -r requirements.txt
```
### 5. 配置 Shodan API 密钥
编辑配置文件:
```
netspecter.cfg
```
**添加您的 API 密钥:**
```
[SHODAN]
api_key=YOUR_API_KEY
```
**重要提示:**
- 请勿在 API 密钥周围使用单引号 `' '` 或双引号 `" "`
- 直接将密钥作为纯文本添加
*正确示范:*
```
api_key=abc123xyz456
```
*错误示范:*
```
api_key="abc123xyz456"
```
```
api_key='abc123xyz456'
```
## 命令行用法
NetSpecter 提供了一个简单的 CLI 界面。
### 基本语法
```
python3 -m netspecter [options]
```
### 侦察命令
对目标运行侦察:
```
python3 -m netspecter recon
```
### 选项
| 选项 | 描述 |
|-------------|--------------------------------------------------|
| `--full` | 启用完整情报扫描(集成 Shodan) |
| `--timeout` | 设置 HTTP 请求超时(默认:5 秒) |
| `--json` | 以 JSON 格式输出结果 |
### 注意事项
- `` 可以是域名(例如,`example.com`)或 IP 地址
- 使用 `--full` 时,NetSpecter 会尝试将域名解析为 IP 地址以进行 Shodan 查询
- 如果某个域名没有可用的 Shodan 情报,请尝试使用:
- 直接的 IP 地址,或
- 域名解析出的 IP 地址
- `--full` 需要有效的 Shodan API 密钥
- 不使用 `--full` 时,仅执行基本的侦察模块
### 示例
**基本侦察:**
```
python3 -m netspecter recon example.com
```
**结合 Shodan 情报的完整扫描:**
```
python3 -m netspecter recon scanme.org --full
```
**自定义超时:**
```
python3 -m netspecter recon example.com --timeout 10
```
**JSON 输出:**
```
python3 -m netspecter recon example.com --full --json
```
**将 JSON 输出保存到文件:**
```
python3 -m netspecter recon example.com --full --json > result.json
```
## 输出
NetSpecter 支持多种输出格式:
- **默认:** 格式化打印的结构化输出(人类可读)
- **JSON (`--json`):**
- 终端中显示带颜色的 JSON
- 重定向到文件时输出干净的 JSON
示例:
```
python3 -m netspecter recon example.com --json > result.json
```
## 许可证
本项目基于 MIT 许可证授权。
标签:C2日志可视化, CVE, DNS枚举, DNS枚举, ESC4, GitHub, OSINT, Python, Web探测, WHOIS查询, 企业安全, 侦察引擎, 协议探测, 反取证, 反向DNS, 地理定位, 安全评估, 实时处理, 密码管理, 异步编程, 情报收集, 指纹识别, 数字签名, 数据展示, 数据统计, 无后门, 漏洞研究, 端口扫描, 红队, 网络安全, 网络安全工具, 网络安全工具, 网络资产管理, 计算机取证, 资产测绘, 逆向工具, 隐私保护, 黑盒测试