HexaCipher/DeadList
GitHub: HexaCipher/DeadList
一个基于 Volatility 3 的 Web 内存取证平台,通过并行插件分析和启发式评分自动检测内存转储中的隐藏恶意软件、rootkit 和注入代码。
Stars: 0 | Forks: 0

**对系统而言已死,却被 DeadList 发现仍然存活。**
一个由 Volatility 3 驱动的现代基于 Web 的内存取证平台。检测隐藏的恶意软件、rootkit、注入代码和能够逃避标准系统监控工具的可疑网络活动。
[](https://opensource.org/licenses/MIT)
[](https://www.python.org/downloads/)
[](https://react.dev/)
[](https://github.com/volatilityfoundation/volatility3)
[功能](#-key-features) • [架构](#-architecture--pipeline) • [技术栈](#-tech-stack) • [安装说明](#-installation--setup) • [使用方法](#-usage) • [评分系统](#-scoring-system)
## ✨ 核心功能
- **DKOM 检测**:通过交叉比对 `pslist` 和 `psscan` 的输出,揭示通过 Direct Kernel Object Manipulation 隐藏的进程。
- **并行取证分析**:并发执行 5 个关键的 Volatility 3 插件(`pslist`、`psscan`、`netscan`、`malfind`、`cmdline`)以进行快速分诊。
- **启发式威胁评分**:根据 7 个独立标准(隐藏、注入、伪装、网络异常、父进程、端口和命令行参数)对进程进行评估。
- **实时交互式仪表板**:实时的 WebSocket 流媒体技术随着分析的进行,动态填充进程表、网络图和交互式进程树。
- **地理空间情报**:自动解析并将可疑网络连接绘制在交互式全球地图上。
- **自动化报告**:一键生成专业、结构化的 PDF 取证报告,用于事件响应记录。
- **持久化证据历史**:使用内置的 SQLite 存储浏览、过滤和查看过去的分析。
## 🏗 架构与流水线
DeadList 弥合了复杂的 CLI 取证工具与现代 UI/UX 之间的差距,通过异步 FastAPI 后端和响应式 React 前端进行编排。
```
graph TD
User([Analyst]) -->|Upload Memory Dump| API[FastAPI Backend]
subgraph Analysis Engine
API -->|Launch Subprocesses| Vol3[Volatility 3]
Vol3 -->|Parallel Execution| Plugins((Plugins))
Plugins -->|pslist| Diff[Diff Engine]
Plugins -->|psscan| Diff
Plugins -->|netscan| Network[Network Processor]
Plugins -->|malfind| Injection[Injection Detector]
Plugins -->|cmdline| Cmd[Cmdline Extractor]
Diff -->|Hidden Processes| Scoring[Heuristic Scoring Engine]
Network -->|Anomalous Ports| Scoring
Injection -->|RWX Memory| Scoring
Cmd -->|Suspicious Args| Scoring
Network --> Geo[GeoIP Resolver]
end
subgraph Data Layer
Scoring --> DB[(SQLite DB)]
Geo --> DB
end
subgraph Presentation
Scoring -.->|WebSocket Stream| UI[React Dashboard]
DB -->|REST API| UI
UI -.->|Request Report| PDF[ReportLab Engine]
end
```
## 💻 技术栈
### 前端
- **React 19**:现代的基于组件的 UI。
- **Vite**:极速的前端构建工具。
- **Zustand**:轻量级全局状态管理。
- **Tailwind CSS v4**:实用优先的样式设计,打造流畅的、深色模式优先的美学体验。
- **Recharts & React Simple Maps**:数据可视化和地理空间绘制。
- **Framer Motion**:平滑的微动画和过渡效果。
### 后端
- **FastAPI**:高性能异步 Python Web 框架。
- **SQLAlchemy (Asyncio)**:用于数据库交互的 ORM。
- **SQLite (aiosqlite)**:持久化、零配置的关系型数据库。
- **WebSockets**:实时双向事件流。
- **ReportLab**:通过编程生成 PDF 报告。
### 引擎
- **Volatility 3**:世界上最先进的内存取证框架。
## 🚀 安装与设置
我们强烈建议通过 Docker 运行 DeadList。它开箱即用地捆绑了 Volatility 3 框架、所需的 Python 依赖项和 Windows 符号表,确保零摩擦。
### 前置条件
- [Docker Engine](https://docs.docker.com/engine/install/) & [Docker Compose](https://docs.docker.com/compose/install/)
### Docker 部署(推荐)
1. **克隆代码库:**
git clone https://github.com/YOUR_USERNAME/DeadList.git
cd DeadList
2. **启动环境:**
docker compose up -d --build
3. **访问平台:**
- UI 仪表板:[http://localhost:3000](http://localhost:3000)
- API 文档 (Swagger):[http://localhost:8000/docs](http://localhost:8000/docs)
### 本地开发设置
如果您希望独立运行各组件或为代码库做出贡献:
**后端:**
```
cd backend
python -m venv venv
source venv/bin/activate # On Windows: .\venv\Scripts\activate
pip install -r requirements.txt
# 需要手动安装 Volatility 3 和 Symbol tables 才能进行真正的分析
uvicorn main:app --host 127.0.0.1 --port 8000 --reload
```
**前端:**
```
cd frontend
npm install
npm run dev
```
## ⚙️ 配置
DeadList 通过环境变量进行配置。将 `.env.example` 复制到 `.env` 以自定义行为。
| 变量 | 默认值 | 描述 |
|---|---|---|
| `MOCK_MODE` | `False` | `True` 表示在没有 Volatility 的情况下模拟分析(用于 UI 测试)。`False` 表示需要真实的内存转储。 |
| `MAX_UPLOAD_SIZE_GB` | `32` | 允许的最大内存转储上传大小。 |
| `PLUGIN_TIMEOUT_SECONDS` | `600` | 每个 Volatility 插件的最大执行时间(10 分钟)。 |
| `LOG_LEVEL` | `INFO` | 应用程序日志详细级别(`DEBUG`、`INFO`、`WARNING`、`ERROR`)。 |
| `CORS_ORIGINS` | `http://localhost:5173,http://localhost:3000` | API 请求允许的来源。 |
## 📖 使用方法
### 1. 获取内存转储
如果您没有 RAM 转储,可以使用公开的取证挑战来测试 DeadList:
- **MemLabs CTF(推荐):**[GitHub - stuxnet999/MemLabs](https://github.com/stuxnet999/MemLabs)(下载 Lab 1 `.raw` 文件)。
- **Volatility Foundation:**[Memory Samples Wiki](https://github.com/volatilityfoundation/volatility/wiki/Memory-Samples)(例如 Cridex、ZeuS)。
### 2. 运行分析
1. 导航到 **Upload** 页面。
2. 拖放您的 `.raw`、`.mem`、`.dmp` 或 `.vmem` 文件。
3. 仪表板将自动切换到 **Live Analysis** 视图。
4. 观察 Volatility 插件并发执行并将结果流式传输到 UI。
5. 完成后,探索进程表、网络连接和可疑内存区域。
6. 点击 **Export Report** 生成全面的 PDF 摘要。
## 📊 评分系统
DeadList 利用专有的启发式评分引擎来评估进程可疑度。分数范围为 0 到 100+。
| 触发器 | 分值 | 描述 |
|---|---|---|
| **DKOM 隐藏** | `+50` | 进程被 `psscan` 检测到但未出现在 `pslist` 中。强烈表明存在 rootkit。 |
| **注入代码** | `+30` | `malfind` 检测到 RWX(读/写/执行)内存区域或隐藏的 VAD 标签。 |
| **名称伪装** | `+10` | 对关键系统进程的拼写劫持(例如,用 `svch0st.exe` 替代 `svchost.exe`)。 |
| **可疑网络** | `+10` | 在常被滥用的端口(例如 4444、1337)上存在活动连接。 |
| **孤儿进程** | `+5` | 父进程 ID (PPID) 在活动进程树中不存在。 |
| **可疑端口** | `+5` | 正在非标准高端口上监听。 |
| **可疑命令行** | `+5` | 包含编码 payload(例如 Base64)、从临时目录执行或利用系统自带二进制文件 (living-off-the-land binaries) 的参数。 |
**风险评估:**
- 🟢 **低** (0-29):预期的系统或应用程序行为。
- 🟡 **中** (30-49):异常。需要分析师审查。
- 🟠 **高** (50-69):高度可疑。很可能是恶意活动。
- 🔴 **严重** (70+):严重威胁(Rootkit / C2 注入)。
## 📄 许可证
该项目在 MIT 许可证下授权 - 有关详细信息,请参阅 [LICENSE](LICENSE) 文件。
## 🙏 致谢
- [Volatility Foundation](https://www.volatilityfoundation.org/) 构建和维护了 Volatility 3。
- [ip-api.com](https://ip-api.com/) 提供了可访问的 GeoIP 解析。
- 开源 DFIR 社区创建了出色的 CTF 和内存样本。
标签:Python, React, SecList, Syscalls, Volatility 3, 内存取证, 库, 应急响应, 无后门, 请求拦截, 逆向工具