MemScan-EDR/README_CN.md

7.6 KiB
Raw Blame History

MemScan-EDR

开源、轻量化、内存专项的 Windows 终端威胁检测与响应 (EDR) 工具

License: MIT .NET 8 Platform: Windows CS-WPF

MemScan-EDR 扫描所有运行中的进程,检查内存中的 Shellcode / 注入 / C2 特征,并利用 AIOpenAI / Claude / 本地模型)实时分类威胁。基于 C# WPF 构建,通过 dotnet publish 打包为单个 .exe,无需目标机器安装 .NET 运行时。


待办事项

优先级 状态 任务 负责人 备注
🔴 未开始 YARA 规则文件加载与匹配引擎 rules/*.yar 文件解析
🔴 未开始 网络连接 PID 关联TCP 连接→进程) GetConnectionPid() 实现
🔴 未开始 内存 Dump 与 PE 结构解析 可疑进程内存导出
🟡 未开始 审计日志持久化JSON/SQLite 扫描历史记录查询
🟡 未开始 PDF/HTML 报告导出 Dashboard → 一键导出
🟡 未开始 定时扫描调度(每天/每小时) 后台定时任务
🟡 未开始 进程自动终止(一键处置高危进程) TerminateProcess P/Invoke
🟡 未开始 隐藏进程检测EPROCESS 链表遍历) CE-MCP 内核级
🟢 未开始 系统托盘最小化 NotifyIcon + 后台运行
🟢 未开始 自定义签名规则编辑器 GUI 内编辑 YARA/签名
🟢 未开始 暗色主题切换 白色/暗色双主题
完成 已完成 多 AI 提供商 + 预过滤 + 防误报 Prompt v1.2
完成 已完成 CE-MCP 自动启动子进程管理 v1.1
完成 已完成 中英文界面一键切换 v1.1
完成 已完成 12 条内置内存签名检测 v1.0
完成 已完成 WPF 白色主题现代化界面 v1.0

功能特性

核心能力

能力 描述
进程全量采集 PID、进程名、路径、父进程树、启动命令行、数字签名、线程数、内存用量
内存扫描 VirtualQueryEx 遍历每个已提交内存区域;检测 RWX 私有内存、未映射可执行页
签名匹配 12 条内置检测规则NOP sled、CALL/POP EIP、ROR13 hash、CobaltStrike Beacon、Meterpreter、ReflectiveLoader、Mimikatz 等
AI 威胁分类 多提供商支持OpenAI 兼容 / Claude / Ollama / LM Studio+ 启发式规则降级引擎
CE-MCP 集成 自动启动 Cheat Engine MCP 服务器,提供内核级内存操作能力
中英文界面切换 一键切换全部标签、按钮、告警文本
单文件 EXE dotnet publish 生成自包含 MemScan-EDR.exe,目标机器无需 .NET 运行时

AI 提供商

提供商 描述 Base URL 示例
OpenAI 兼容 OpenAI / DeepSeek / 通义千问 / 智谱 等 https://api.openai.com/v1
Claude Anthropic Claude Messages API https://api.anthropic.com
本地模型 Ollama / LM Studio / vLLM / llama.cpp http://127.0.0.1:11434
启发式规则 内置规则引擎,无需 API Key N/A

内置签名

签名 类别 严重性
SHELLCODE_NOP_SLED Shellcode
SHELLCODE_GETEIP Shellcode
SHELLCODE_ROR13 Shellcode
C2_COBALTSTRIKE C2
C2_METERPRETER C2
INJECTION_REFLECTIVE 注入
INJECTION_CRT 注入
INJECTION_VAE 注入
MALWARE_MIMIKATZ 恶意软件
CRYPTO_MINER 挖矿
RANSOM_NOTE 恶意软件
PS_DOWNLOAD 恶意软件

架构

TitleBar ── 窗口控制(最小化/最大化/关闭,语言切换)
Sidebar ── 导航(仪表盘 / 进程 / 扫描 / 设置)
Content ── 4 个视图WPF Grid Visibility 切换)

服务层:
  ProcessCollector ── CreateToolhelp32Snapshot + WMI → ProcessInfo[]
  MemoryScanner    ── VirtualQueryEx + 签名遍历    → SignatureMatch[]
  AIAnalyzer       ── HTTP → OpenAI/Claude/Ollama  → ScanResult
  CeMcpManager     ── Process.Start → python server.py

数据流:

[开始扫描] → ProcessCollector.CollectAll()
    → 每个进程:
        → MemoryScanner.ScanProcess() → 签名匹配
        → MemoryScanner.GetSuspiciousRegions() → RWX 私有区域
        → QuickPreScore() — score < 0.05 跳过 API
        → AIAnalyzer.AnalyzeProcessAsync() → ScanResult
    → IProgress<> 实时更新界面

快速开始

环境要求

  • Windows 10 / 11 (x64)
  • .NET 8 SDK
  • 管理员权限(用于内存扫描)

编译构建

git clone https://github.com/Huang-158/MemScan-EDR.git
cd MemScan-EDR\src-csharp

# Debug 编译
dotnet build MemScanEDR.sln

# 发布单文件 EXE
dotnet publish MemScanEDR\MemScanEDR.csproj -c Release -r win-x64 --self-contained true -p:PublishSingleFile=true -o publish

# 运行
.\publish\MemScan-EDR.exe

或:

.\scripts\build_csharp.bat

CE-MCP 配置(可选)

  1. ce-mcp-server 放在项目同级目录
  2. 或在设置界面 → CE-MCP 服务器路径 配置
  3. 设为 disabled 可跳过 CE-MCP

AI 配置

  1. 选择提供商:启发式 / OpenAI 兼容 / Claude / 本地
  2. 填写 API 地址
  3. 填写 API Key本地存储
  4. 填写模型名称
  5. 点击保存

AI 分析机制

  1. 预过滤:无任何可疑特征的进程直接标记为安全,不调用 API
  2. 结构化 Prompt:每个进程生成含元数据、网络连接、内存签名、可疑区域的格式化报告
  3. 默认安全策略AI 被指示 >95% 的进程是良性的;需要多个并发指标才提升风险等级
  4. 启发式降级API 不可用时采用保守阈值≥0.50 可疑≥0.75 高危)

项目结构

MemScan-EDR/
├── src-csharp/
│   ├── MemScanEDR.sln
│   └── MemScanEDR/
│       ├── MemScanEDR.csproj
│       ├── App.xaml / App.xaml.cs
│       ├── MainWindow.xaml / MainWindow.xaml.cs
│       ├── Models/
│       │   ├── ProcessInfo.cs
│       │   ├── AIConfig.cs
│       │   └── AppSettings.cs
│       └── Services/
│           ├── ProcessCollector.cs
│           ├── MemoryScanner.cs
│           ├── AIAnalyzer.cs
│           └── CeMcpManager.cs
├── rules/
│   ├── shellcode.yar
│   ├── injection.yar
│   └── malware_strings.yar
├── scripts/
│   └── build_csharp.bat
├── LICENSE
├── README.md       # 语言切换入口
├── README_CN.md    # 中文文档(当前)
└── README_EN.md    # English docs

声明

本项目与 Cheat Engine、其原作者 Dark Byte 以及任何 AI 提供商OpenAI、Anthropic 等)无任何关联。

本工具仅用于合法的安全研究、教育及授权的安全评估。未经授权对非自有或未被许可的系统使用属违法行为。使用者须遵守当地法律法规并自行承担所有风险。


许可证

MIT License — 详见 LICENSE