ninedter/pcap-hunter
GitHub: ninedter/pcap-hunter
这是一个集成了Zeek、Tshark与LLM的AI威胁狩猎工作台,能够自动分析PCAP文件、检测C2通信并生成多语言安全报告。
Stars: 109 | Forks: 18
# PCAP Hunter
[](https://www.python.org/downloads/)
[](LICENSE)
**PCAP Hunter** 是一个 AI 增强的威胁狩猎工作台,连接了手动数据包分析和自动化安全监控。它赋能 SOC 分析师和威胁猎人快速从原始 PCAP 文件中摄取、分析并提取可操作的情报。
通过结合行业标准网络分析工具(**Zeek**、**Tshark**、**PyShark**)与 **大语言模型** 和 **OSINT** API,PCAP Hunter 自动化了数据包分析中繁琐的部分——解析、关联和丰富——以便分析师能够专注于检测和响应。
📖 **[用户手册 (英文)](docs/en/USER_MANUAL.md)** | **[中文說明 (繁體中文)](docs/zh-TW/README.md)**
## 目录
- [主要功能](#key-features)
- [架构](#architecture)
- [安装](#installation)
- [快速开始](#quick-start)
- [使用指南](#usage-guide)
- [配置](#configuration)
- [Docker](#docker)
- [开发](#development)
- [文档](#documentation)
- [许可证](#license)
## 主要功能
### AI 驱动的威胁分析
- **自动化报告** — 生成专业的、SOC 就绪的威胁报告,包含经过严重性校准的评估、误报感知和结构化的分析工作流(特征化 → 识别 → 评估 → 建议)。
- **本地与云端 LLM 支持**
- **本地隐私**:完全兼容 [LM Studio](https://lmstudio.ai/)(Llama 3, Mistral 等),适用于物理隔离或隐私敏感的环境。
- **云端算力**:支持任何 OpenAI 兼容的 API 端点,以利用更大的模型。
- **多语言报告** — 支持 9 种语言及特定区域术语:英语、繁体中文(台湾)、简体中文、日语、韩语、意大利语、西班牙语、法语、德语。
- **MITRE ATT&CK 映射** — 自动将检测到的行为和 IOC 映射到 ATT&CK 技术和 Kill Chain 阶段。
- **攻击叙事综合** — 将原始事件转化为连贯、可操作的安全故事。
### IOC 优先级评分
- **分层信号架构** — 使用三层模型动态将指标评为严重、高、中或低:
- **第 1 层(确定性)**:OSINT 确认(VirusTotal, GreyNoise 恶意)—— 任何单个第 1 层命中都会设定分数下限。
- **第 2 层(行为性)**:C2 信标、流量不对称、DNS 隧道、DGA 域名。
- **第 3 层(上下文)**:AbuseIPDB、自签名证书、过期证书、YARA 匹配。
- 仅第 3 层信号永远不会超过“中”级;需要来自多层的佐证才能达到“高”或“严重”级。
### 跨指标关联引擎
- **独立性互补公式** — 使用 `1 − Π(1 − wᵢsᵢ)`(贝叶斯独立性模型)代替线性求和,产生收益递减效应,同时允许多个弱信号有意义地叠加。
- **强信号下限** — 确认的 VirusTotal 检测会自动设定最低分数,无论其他因素如何。
- 聚合所有分析模块(OSINT、信标、DNS、TLS、YARA、流量分析)的信号。
- 为每个指标生成综合威胁分数及判定分类(严重 / 高 / 中 / 低)。
### 流量分析与数据渗出检测
- **数据渗出检测** — 识别每个源/目标对的可疑出站:入站字节比(默认阈值:10:1,最小 1 MB)。
- **端口异常检测** — 标记非标准端口使用、C2 常见端口(4444, 5555, 6666 等)以及高位端口对。
### 多 PCAP 批处理
- **多文件上传** — 同时上传并分析多个 PCAP 文件。
- **跨文件关联** — 检测跨文件共享的 IP、域名和 JA3 指纹。
- **合并仪表板** — 聚合结果,包含每个文件的详细卡片和批处理摘要。
- **资源限制** — 可配置限制:每个文件 1 GB,最多 50 个文件,总计 5 GB。
### 并行流水线执行
- **PyShark + Zeek 并行** — 两个最繁重的阶段通过 ThreadPoolExecutor 并发运行。
- **HTTP 提取并行** 与 DNS/TLS/信标分析一起进行。
- **Tshark `-c` 优化** — 在 tshark 层级强制执行数据包限制,实现零浪费 I/O。
### 深度包检测与流量分析
- **多引擎流水线**:PyShark 用于细粒度检查,Tshark 用于高速统计。
- **协议解析**:自动提取 HTTP、DNS、TLS/SSL 和 SMB 协议的元数据。
### Zeek 集成
- 在上传的 PCAP 上自动执行 Zeek —— 无需手动 CLI。
- 解析并关联核心 Zeek 日志:`conn.log`、`dns.log`、`http.log`、`ssl.log`。
### 高级 DNS 与 TLS 取证
- **DGA 检测** — 基于香农熵的域名生成算法识别。
- **DNS 隧道** — 检测高容量 / 异常 DNS 负载。
- **Fast Flux 检测** — 识别解析到快速变化 IP 地址的域名。
- **JA3/JA3S 指纹识别** — 将 TLS 指纹与 90+ 已知恶意软件签名(Cobalt Strike, Trickbot, Emotet, QakBot 等)进行匹配。
- **证书分析** — 验证证书链;检测自签名和过期证书。
### C2 信标检测
- 基于以下因素对流进行评分的统计算法:
- **周期性** — 通信间隔的规律性(CV + 熵评分)。
- **抖动** — 模态间隔分析,具有 ±20% 容差,用于检测随机化的 C2。
- **容量** — 数据包计数和负载大小一致性。
- **误报减少** — 多层惩罚以防止良性流量触发警报:
- 基础设施白名单(DNS 解析器:1.1.1.1, 8.8.8.8 等)
- 协议感知(ICMP, NTP, mDNS, SSDP, IGMP 本质上是周期性的)
- 服务端口惩罚(HTTPS, IMAPS, Apple Push, MQTT, SIP)
- 高容量大负载过滤(流媒体/下载 vs C2)
### 负载提取与 YARA 扫描
- **HTTP 负载提取** 通过 `tshark` 并自动进行 SHA256 哈希。
- **YARA 扫描仪** — 使用自定义/社区 YARA 规则扫描提取的文件。
- **安全存储** — 带有路径遍历和符号链接保护的隔离目录。
### 交互式仪表板与世界地图
- **威胁摘要面板** — 一目了然的风险级别(严重/高/中/低),具有基于佐证的升级、警报计数、信标候选、YARA 命中和证书问题。
- **世界地图** — 威胁级别着色、基于厚度的连接弧线、可配置的家乡位置。
- **交叉筛选** — 跨地图、协议饼图和流量时间线的统一钻取。
- **持久视图选项** — “排除私有 IP”开关在交互式探索期间保持。
- **TopN 图表** — Top IP、端口、协议、域名,带有聚合条形图、指标和 **反向 DNS 主机名**。
- **仪表板检测** — 信标候选、YARA 匹配和 TLS 证书风险直接显示在仪表板上。
- **网络通信图** — 力导向图,具有威胁着色节点和等纵横比渲染。
### OSINT 丰富
与领先的威胁情报提供商集成:
- **VirusTotal** — 文件哈希和 IP/域名信誉。
- **AbuseIPDB** — 众包 IP 滥用报告。
- **GreyNoise** — 互联网背景噪声和扫描器识别。
- **OTX (AlienVault)** — 开放威胁交换脉冲和指标。
- **Shodan** — 面向互联网的设备详情和开放端口。
- **智能缓存** — 支持可配置 TTL 的 SQLite 后端缓存,以保留 API 配额。
- **批量反向 DNS** — 对所有公共 IP 进行并行 rDNS 解析,具有 7 天 SQLite 缓存。主机名在整个仪表板中显示。
### 案例管理系统
- 创建、跟踪和关闭调查案例。
- 存储带有严重性和上下文的 IOC(IP、域名、哈希、JA3、URL)。
- 调查笔记、基于标签的组织和搜索。
### 专业 PDF 导出
- 多页 PDF 报告,包含执行摘要、关键发现、技术分析和建议。
- 通过 WeasyPrint 嵌入图表/可视化。
- 可配置的 TLP 分类。
### 导出格式
- **CSV / JSON** — 导出任何数据表,具有 CSV 注入保护。
- **STIX 2.0/2.1** — 以标准 STIX 格式导出指标。
- **ATT&CK Navigator** — 导出 MITRE ATT&CK Navigator 的技术映射。
## 架构
```
app/
├── analysis/ # Correlation engine, flow analysis, IOC scorer, narrator
├── database/ # Case management (SQLite)
├── llm/ # LLM client & multi-language report generation
├── pipeline/ # 10-stage analysis pipeline
│ ├── beacon.py # C2 beaconing detection
│ ├── carve.py # HTTP payload carving
│ ├── dns_analysis.py # DGA, tunneling, fast flux
│ ├── geoip.py # GeoIP resolution
│ ├── ja3.py # JA3/JA3S fingerprinting
│ ├── batch.py # Multi-PCAP batch processing & correlation
│ ├── osint.py # OSINT provider queries (parallel)
│ ├── osint_cache.py # SQLite OSINT caching layer
│ ├── rdns_cache.py # SQLite reverse-DNS caching layer
│ ├── tls_certs.py # Certificate validation
│ └── yara_scan.py # YARA rule scanning
├── reports/ # PDF report generation
├── security/ # OPSEC hardening & data sanitization
├── threat_intel/ # MITRE ATT&CK mapping
├── ui/ # Streamlit interface (8 tabs)
├── utils/ # Export, GeoIP, config, binary discovery, network utils
├── config.py # Application defaults
└── main.py # Streamlit entry point
```
### 分析流水线(10 个阶段)
1. **数据包计数** — 通过 tshark 进行快速初步计数
2. **数据包解析** — 深度检查最多 200,000 个数据包(可配置)
3. **Zeek 处理** — 自动 Zeek 执行和日志解析
4. **DNS 分析** — DGA、隧道、fast flux、NXDOMAIN、查询速度
5. **TLS 证书分析** — 链验证、自签名/过期检测
6. **信标排名** — 用于 C2 检测的时间模式分析
7. **HTTP 提取** — 带有 SHA256 哈希的负载提取
8. **YARA 扫描** — 基于规则的文件扫描
9. **OSINT 丰富** — 多提供商信誉查询
10. **LLM 报告生成** — AI 驱动的威胁综合
## 安装
### 前置条件
| 工具 | 安装 | 安装 |
|------|-----------------|-----------------|
| **Python 3.10+** | `brew install python@3.12` | `sudo apt install python3` |
| **Zeek** | `brew install zeek` | [Zeek 软件包](https://software.zeek.org/) |
| **Tshark** | `brew install wireshark` | `sudo apt install tshark` |
| **Pango** (PDF) | `brew install pango` | `sudo apt install libpango1.0-dev` |
| **LM Studio** (可选) | [lmstudio.ai](https://lmstudio.ai/) | [lmstudio.ai](https://lmstudio.ai/) |
### 安装
```
git clone https://github.com/ninedter/pcap-hunter.git
cd pcap-hunter
make install
```
## 快速开始
```
make run
```
在浏览器中打开 `http://localhost:8501`。
## 使用指南
1. **上传** — 在上传选项卡中拖放一个或多个 `.pcap` 文件。多个文件将触发具有跨文件关联的批处理模式。
2. **配置** — 在配置选项卡中设置您的 LLM 端点、家乡位置(大洲 > 国家 > 城市)和 OSINT API 密钥。
3. **分析** — 点击 **Extract & Analyze** 启动流水线。
4. **监控** — 在进度选项卡中观察阶段执行:数据包计数 > 解析 > Zeek > DNS/TLS > 信标 > 提取 > YARA > OSINT > LLM 报告。
5. **审查** — 跨仪表板、LLM 分析、OSINT、原始数据和案例选项卡探索结果。
6. **导出** — 下载 CSV/JSON 数据、PDF 报告、STIX 包或 ATT&CK Navigator 层。
### 重新运行报告
更改了您的 LLM 模型或语言?点击 **Re-run Report** 仅重新生成 AI 报告,而无需重新处理整个 PCAP。
### 数据管理
使用配置中的细粒度 **清除** 按钮独立擦除 PCAP 数据、OSINT 缓存或案例数据库。
## 配置
默认值在 `app/config.py` 中管理,并持久化到 `.pcap_hunter_config.json`。
| 设置 | 默认值 | 描述 |
|---------|---------|-------------|
| `LM_BASE_URL` | `http://localhost:1234/v1` | LLM API 端 |
| `LM_MODEL` | `local` | 模型标识符 |
| `LM_LANGUAGE` | `US English` | 报告语言 |
| `DEFAULT_PYSHARK_LIMIT` | `200,000` | 深度检查的最大数据包数 |
| `OSINT_TOP_IPS_DEFAULT` | `50` | 要丰富的 Top IP 数量(0 = 全部) |
| `OSINT_CACHE_ENABLED` | `True` | OSINT 结果的 SQLite 缓存 |
| `PARALLEL_PARSE_ENABLED` | `True` | 并行运行 PyShark + Zeek |
| `RDNS_CACHE_TTL_HOURS` | `168` (7 天) | 反向 DNS 缓存 TTL |
| `BATCH_MAX_FILES` | `50` | 多 PCAP 批处理中的最大文件数 |
| `DATA_DIR` | `./data` | 分析产物的存储 |
### OSINT API 密钥
通过配置选项卡或环境变量设置:
```
export OTX_KEY="your-key"
export VT_KEY="your-key"
export ABUSEIPDB_KEY="your-key"
export GREYNOISE_KEY="your-key"
export SHODAN_KEY="your-key"
```
## Docker
```
docker build -t pcap-hunter .
docker run -p 8501:8501 pcap-hunter
```
Docker 镜像预装了 Zeek 和 Tshark。挂载卷以持久化数据:
```
docker run -p 8501:8501 -v $(pwd)/data:/app/data pcap-hunter
```
## 开发
```
make test # Run tests with coverage
make lint # Lint with Ruff
make format # Format code with Ruff
make clean # Clean caches
```
### macOS 捕获权限
```
make fix-permissions
```
### CI/CD
GitHub Actions 在每次推送到 `main` 或 PR 时运行:
- Python 3.11 测试套件及覆盖率
- Ruff 代码检查和格式检查
## 文档
- [用户手册 (英文)](docs/en/USER_MANUAL.md)
- [使用手冊 (繁體中文)](docs/zh-TW/USER_MANUAL.md)
- [更新日志](CHANGELOG.md)
## 许可证
MIT 许可证。详情请参阅 [LICENSE](LICENSE)。
版权所有 (c) 2025 ninedter
标签:AI安全, C2检测, Chat Copilot, Cloudflare, DLL 劫持, Docker, ESC4, JA3指纹识别, Kubernetes, MITRE ATT&CK, OpenAI兼容, OSINT, PCAP分析, PyShark, Python, Rootkit, Tshark, Zeek, 命令与控制检测, 多语言支持, 大语言模型, 安全报告生成, 安全测试框架, 安全运营中心, 安全防御评估, 无后门, 本地LLM, 网络安全, 网络安全, 网络映射, 自动化分析, 请求拦截, 跨站脚本, 逆向工具, 隐私保护, 隐私保护