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, 内存取证, 取证工具, 域渗透, 大模型安全, 安全合规, 库, 应急响应, 应急响应工具, 数字取证, 数字智能, 数据完整性, 注册表分析, 浏览器历史, 电子数据取证, 磁盘取证, 移动取证, 网络代理, 网络安全, 网络安全审计, 自动化脚本, 证据收集, 证据链, 身份验证滥用, 逆向工具, 隐私保护