unjaena/unjaena-collector
GitHub: unjaena/unjaena-collector
跨平台数字取证证据收集工具,支持桌面端和移动端设备取证、内存采集、磁盘镜像分析,并能安全上传至AI分析平台进行后续处理。
Stars: 0 | Forks: 1
# unJaena AI — 数字情报收集器
跨平台数字取证 Artifact 收集工具,配备 GUI 图形界面。可从 Windows、macOS、Linux、Android 和 iOS 设备收集证据,并支持加密完整性验证和安全的上传功能。
## 工作原理
```
┌─────────────────────┐ ┌──────────────────────────────┐
│ Intelligence │ │ unJaena AI Platform │
│ Collector (this) │───────▶│ │
│ │ AES-256│ ✦ AI-Powered RAG Analysis │
│ • Windows/macOS/ │ Upload │ ✦ MITRE ATT&CK Mapping │
│ Linux/Android/iOS │ │ ✦ Timeline Reconstruction │
│ • Memory Forensics │ │ ✦ Multilingual Reports │
│ • Disk Images │ │ ✦ Evidence Chain of Custody │
└─────────────────────┘ └──────────────────────────────┘
```
1. **收集证据** — 自动从目标设备提取取证 Artifact
2. **加密传输** — 使用 AES-256-GCM 加密上传
3. **AI 分析** — 自动解析、向量索引和 LLM 驱动的分析
4. **生成报告** — 使用自然语言(韩语 / 英语 / 日语 / 中文)查询取证结果
## 功能特性
- **Windows 取证**:MFT、注册表、预读取、事件日志、浏览器历史记录、USB Artifact
- **内存取证**:物理内存获取、休眠/页面文件分析
- **Android 取证**:通过 ADB 协议直接进行 USB 收集(无需外部 ADB 二进制文件)
- **iOS 取证**:通过 pymobiledevice3 进行 USB 直接备份和 Artifact 提取
- **macOS / Linux 取证**:系统日志、用户 Artifact、浏览器数据、Shell 历史记录
- **磁盘镜像支持**:E01 (Expert Witness Format)、RAW 镜像分析
- **BitLocker 支持**:使用恢复密钥/密码/BEK 访问加密卷
- **安全上传**:AES-256-GCM 加密传输
- **证据保管链**:SHA-256 完整性验证及防篡改日志记录
- **多语言 GUI**:支持 i18n 的 PyQt6 界面
## 下载
预编译的二进制文件可在 [Releases](https://github.com/unjaena/unjaena-collector/releases) 页面获取:
| 平台 | 文件 |
|----------|------|
| Windows (x64) | `IntelligenceCollector-*-windows-x64.exe` |
| macOS (Apple Silicon) | `IntelligenceCollector-*-macos-arm64.dmg` |
| Linux (x64) | `IntelligenceCollector-*-linux-x64.tar.gz` |
## 系统要求
- Python 3.10+
- Windows 10/11(主要平台;macOS/Linux 用于各自的 Artifact 收集)
- 管理员权限(原始磁盘访问和内存获取需要)
### 外部依赖(不包含在内)
| 工具 | 用途 | 许可证 | 下载 |
|------|---------|---------|----------|
| WinPmem | 内存获取 | Apache 2.0 | [GitHub](https://github.com/Velocidex/WinPmem/releases) |
| libimobiledevice | iOS 设备通信 | LGPL 2.1 | 通过 `build.py` 自动下载 |
| libusb | USB 设备访问 | LGPL 2.1 | 通过 `pip install libusb1` 安装 |
## 安装说明
```
# 克隆 repository
git clone https://github.com/unjaena/unjaena-collector.git
cd unjaena-collector
# 创建 virtual environment
python -m venv venv
venv\Scripts\activate # Windows
# source venv/bin/activate # macOS/Linux
# 安装 dependencies
pip install -r requirements.txt
# 复制并配置
cp config.example.json config.json
# 使用 server URL 编辑 config.json
```
### iOS 收集设置
```
# 下载 libimobiledevice binaries (Windows)
python tools/download_libimobiledevice.py
# 或者直接使用 pymobiledevice3 (cross-platform)
pip install pymobiledevice3
```
### Android 收集设置
USB 驱动程序通过 `adb-shell[usb]` 和 `libusb1` 包自动处理。无需外部 ADB 二进制文件。
### 内存获取设置
从 [WinPmem releases](https://github.com/Velocidex/WinPmem/releases) 下载 `winpmem_mini_x64.exe` 并将其放入 `resources/` 目录中。
## 使用方法
### GUI 模式(推荐)
```
python src/main.py
```
### 构建独立可执行文件
```
# Development build
python build.py --development
# Production build (需要 HTTPS server URL)
python build.py --production --server-url https://your-server.com
# 构建前检查 dependencies
python build.py --check-deps
```
## 配置
### 环境变量
| 变量 | 描述 | 默认值 |
|----------|-------------|---------|
| `COLLECTOR_SERVER_URL` | 服务器端点 | — |
| `COLLECTOR_WS_URL` | WebSocket 端点 | — |
| `COLLECTOR_DEV_MODE` | 启用开发模式 | `false` |
### 配置文件 (`config.json`)
请参阅 `config.example.json` 以获取所有可用选项,包括:
- 服务器连接设置
- 收集参数(哈希、文件大小限制)
- 上传加密设置
- 日志配置
## 安全性
- **AES-256-GCM** 用于所有文件传输的认证加密
- **SHA-256** 文件完整性验证
- **HTTPS/WSS 强制执行** 在生产模式下进行 TLS 证书验证
- **一次性会话令牌** 及防重放机制
- **证据保管链** 日志记录及防篡改审计追踪
详情请参阅 [SECURITY.md](SECURITY.md)。
## 项目结构
```
unjaena-collector/
├── src/
│ ├── main.py # Entry point
│ ├── collectors/ # Platform-specific collectors
│ │ ├── artifact_collector.py # Windows artifacts
│ │ ├── android_collector.py # Android USB collection
│ │ ├── ios_collector.py # iOS backup & extraction
│ │ ├── linux_collector.py # Linux artifacts
│ │ ├── macos_collector.py # macOS artifacts
│ │ ├── memory_collector.py # Memory acquisition
│ │ ├── mft_collector.py # MFT parsing
│ │ └── forensic_disk/ # Disk image access layer
│ ├── core/ # Core infrastructure
│ ├── gui/ # PyQt6 UI
│ └── utils/ # Utilities
├── tools/ # External tool management
├── resources/ # Runtime resources
├── config.example.json # Configuration template
├── requirements.txt # Python dependencies
├── build.py # PyInstaller build script
└── LICENSE # AGPL-3.0
```
## 许可证
本项目采用 **GNU Affero General Public License v3.0** 许可 —— 详情请参阅 [LICENSE](LICENSE) 文件。
本项目依赖于 [dissect.fve](https://github.com/fox-it/dissect.fve) (AGPL-3.0) 进行 BitLocker 解密,这要求整个作品必须在 AGPL-3.0 下分发。
### 关键依赖及许可证
| 包 | 许可证 | 备注 |
|---------|---------|-------|
| dissect.fve | AGPL-3.0 | BitLocker 解密 |
| dissect.cstruct | AGPL-3.0 | 二进制结构解析 (dissect 依赖) |
| pymobiledevice3 | GPL-3.0 | iOS USB 通信 |
| PyQt6 | GPL-3.0 / 商业 | GUI 框架 |
| pytsk3 | Apache 2.0 | The Sleuth Kit 绑定 |
| adb-shell | Apache 2.0 | Android ADB 协议 |
| libusb1 | LGPL 2.1 | USB 设备访问 |
| cryptography | Apache 2.0 / BSD | 加密操作 |
## 贡献
本项目为**开源以供透明**,而非用于社区驱动开发。
作为取证证据收集工具,代码完整性直接影响法律可采性 —— 所有更改均由内部团队审查和编写。
- **错误报告及安全问题**:请提交 [GitHub Issue](https://github.com/unjaena/unjaena-collector/issues) 或发送邮件至 `admin@unjaena.com`
- **功能请求**:欢迎通过 Issues 提交 —— 我们会在内部进行审查和排定优先级
- **Pull 请求**:目前不接受
标签:ADB, AES-256加密, AI取证, Android取证, ESC漏洞, GUI工具, HTTPS请求, HTTP工具, HTTP请求, iOS取证, Linux取证, macOS取证, MFT解析, prefetch, pymobiledevice3, SecList, unJaena, Windows取证, WinPmem, Zenmap, 内存取证, 取证工具, 域渗透, 大模型安全, 安全合规, 库, 应急响应, 应急响应工具, 数字取证, 数字智能, 数据完整性, 注册表分析, 浏览器历史, 电子数据取证, 磁盘取证, 移动取证, 网络代理, 网络安全, 网络安全审计, 自动化脚本, 证据收集, 证据链, 身份验证滥用, 逆向工具, 隐私保护