kmuratori/memsnap

GitHub: kmuratori/memsnap

MemSnap 是一个使用AI驱动检测的自动化Linux内存取证工具,用于识别rootkit、代码注入和后门等安全威胁。

Stars: 2 | Forks: 1

# MemSnap 自动化 **Linux 内存取证** - 感染、捕获、提取特征,并使用 AI 检测 rootkit、代码注入和后门。 ## 快速开始 ``` git clone https://github.com/kmuratori/memsnap.git cd memsnap sudo apt install -y libsnappy-dev build-essential linux-headers-$(uname -r) python3 -m venv venv && source venv/bin/activate pip install -r requirements.txt make # Rootkit:克隆、补丁、构建并将 diamorphine.ko 复制到 assets/(见下文) ./memsnap infect -i -a dumps/ # infect all + capture dump ./memsnap extract dumps/ assets/features.csv # extract features ./memsnap train -i assets/features.csv -o assets/model.pkl # train model ./memsnap detect dumps/memdump_...rootkit.raw # detect threats ./memsnap web # start web interface (FastAPI) ``` ## 安装配置 1. **系统依赖** sudo apt install -y libsnappy-dev build-essential linux-headers-$(uname -r) 2. **Python 环境 & Volatility 3** python3 -m venv venv source venv/bin/activate pip install -r requirements.txt 3. **构建资产** - 注入库: cd assets gcc -shared -fPIC evil.c -o evil.so cd .. - Rootkit 模块 (Diamorphine): cd /tmp git clone https://github.com/m0nad/Diamorphine cd Diamorphine sed -i 's/PROC_ROOT_INO/PROCFS_ROOT_INO/g' diamorphine.c make cp diamorphine.ko ~/memsnap/assets/ cd ~/memsnap (如果你更改了内核版本,需要重新构建此模块。) 4. **符号表** - 内核 `6.17.0-22-generic` 预生成的 ISF 文件已位于 `assets/` 目录。对于其他内核,请使用 `dwarf2json` 生成新的文件。 5. **内存获取** - AVML 将在首次使用时自动下载。 ## 使用方法 所有命令都使用 `./memsnap` 入口点: | 命令 | 用途 | |---------|---------| | `./memsnap infect -i [组件] -a [目录]` | 感染虚拟机,可选捕获内存转储 | | `./memsnap extract <转储目录> [csv文件]` | 从转储文件提取特征 -> `features.csv` | | `./memsnap train -i -o <模型文件.pkl>` | 训练 AI 模型 | | `./memsnap detect <转储文件> [-m 模型文件]` | 检测单个转储文件中的威胁 (命令行界面) | | `./memsnap web` | 启动基于 Web 的检测界面 (FastAPI) | | `./memsnap test <转储目录>` | 对目录中的所有转储文件进行批量检测 | | `./memsnap vol <转储文件>` | 运行原始的 Volatility 3 分析 | 示例: ``` ./memsnap infect -i rootkit -a dumps/ ./memsnap extract dumps/ features.csv ./memsnap train -i features.csv -o assets/model.pkl ./memsnap detect dumps/memdump_...rootkit.raw ./memsnap web # starts on http://localhost:8501 ``` 转储文件命名为 `memdump_<时间戳>_<组件>.raw`。 ## 项目结构 ``` memsnap/ -> unified entry script scripts/ infect -> infection & memory capture extract -> feature extraction -> features.csv train -> train AI model detect -> single‑dump CLI verdict web -> FastAPI server for web UI test -> batch detection script assets/ diamorphine.ko -> pre‑built rootkit module evil.so -> pre‑built injection library model.pkl -> trained classifier features.csv -> current dataset index.html -> web UI frontend app.js -> web UI logic *.json.xz -> Volatility3 symbol table (kernel 6.17.0-22) requirements.txt ``` ## 已知限制 - **后门检测** 准确率约 62% - 有一个样本 (`rootkit_injection`) 模拟了后门端口行为。使用专门的特征(例如,检查进程名是否为 `ncat`)可以改善此情况。 - **数据集较小** (8个转储文件) - 仅为概念验证;通过 `extract --append` 添加公共转储文件以提高泛化能力。 ## 运行环境 - **虚拟机**:Ubuntu 24.04,内核 `6.17.0-22-generic`,512 MB 内存,VirtualBox。 - **Volatility**:3.2.8.0 (通过 `requirements.txt` 安装)。 - **Python**:3.x,在 venv 虚拟环境中。
标签:AMSI绕过, Apex, AVML, AV绕过, Caido项目解析, FastAPI, JARM, Python, SecList, 二进制发布, 人工智能, 代码注入检测, 内存分析, 内存取证, 内核模块, 后门检测, 响应自动化, 威胁检测, 子域名枚举, 安全资源, 客户端加密, 开源工具, 恶意代码分析, 数字取证, 数字取证工具, 无后门, 机器学习, 模型训练, 特征提取, 用户模式Hook绕过, 系统取证, 系统安全, 网络安全, 自动化脚本, 逆向工具, 配置文件, 隐私保护