mcpField
W
Winforensics Mcp

Winforensics Mcp

本地服务
github.com/x746b安全254 周前更新

关于 Winforensics Mcp

Winforensics Mcp 是面向 Linux 环境的 Windows 数字取证 MCP 服务,供 DFIR 调查人员分析离线证据,无需 Windows 运行时。它提供多类工件解析、跨来源关联、IOC 搜索和时间线构建。

主要功能

  1. 01解析 Windows 日志、注册表和文件系统工件
  2. 02分析执行痕迹与用户活动
  3. 03关联工件并构建统一时间线
  4. 04扫描 YARA 规则并搜索行为型 IOC
  5. 05分析 PCAP 与 API Monitor 捕获

适用场景

  1. 01调查二进制文件是否执行及相关活动
  2. 02在多个证据来源中搜寻 IOC
  3. 03从日志和文件系统工件重建事件时间线

MCP 相关

作为本地 stdio MCP 服务,向 MCP 客户端提供 Windows 数字取证工具。可在客户端设置中注册 winforensics-mcp。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

WinForensics MCP

Windows 取证 MCP 服务

在 Linux 上进行 Windows DFIR - 专为 Linux 环境设计的综合取证工具包,无需依赖 Windows 运行时。原生解析 Windows 取证痕迹,并可选配用于 Windows Search 的 Rust SIDR 侧车程序。


相关项目

  • mem_forensics-mcp - 统一内存取证 MCP 服务 - 多层引擎,兼具 Rust 的速度与 Vol3 的覆盖范围
  • mac_forensics-mcp - macOS DFIR - 统一日志、FSEvents、Spotlight、Plist、SQLite 数据库、扩展属性

功能

核心取证
类别功能
EVTX 日志精简的结构化查询、字段筛选、登录关联、NTLM 摘要和 JSONL 导出
离线 NTDS查询确切的 SAM 帐户、域 SID 和信任元数据,无需解密凭据
注册表分析 SAM、SYSTEM、SOFTWARE、SECURITY 和 NTUSER.DAT;支持分页查询、规范化 FILETIME,以及 USBSTOR/WPD 关联
远程采集通过 WinRM 采集取证痕迹(密码或哈希传递)
执行痕迹
类别功能
PE 分析静态分析,包含哈希(MD5/SHA1/SHA256/imphash)、导入、导出和加壳器检测
Prefetch执行证据,包含运行次数、时间戳和已加载文件
Amcache从 Amcache.hve 提取 SHA1 哈希和首次出现时间戳
SRUM精确筛选应用和时间、原始资源计数器、网络 MB/MiB 总量,以及从 SRUDB.dat 可选汇总
文件系统痕迹
类别功能
MFT解析主文件表,包含 ADS 元数据和时间戳伪造检测
USN 日志文件操作变更日志和已删除文件恢复
时间线汇总 MFT、USN、Prefetch、Amcache 和 EVTX 的统一时间线
用户活动
类别功能
浏览器Edge、Chrome、Firefox 历史记录和下载记录
LNK 文件分析 Windows 快捷方式,查找最近访问的文件
ShellBags从 UsrClass.dat 和 NTUSER.DAT 获取文件夹导航历史记录,包括 UNC 共享和浏览过的压缩包内容(libfwsi)
RecentDocs基于注册表跟踪最近使用的文档
Windows Search基于 SIDR 恢复 Windows.edb 文件、互联网历史记录、活动历史记录和 System.Search.AutoSummary
网络取证
类别功能
PCAP 分析解析 PCAP/PCAPNG 文件,涵盖通信会话、DNS 查询、HTTP 请求和可疑连接
API Monitor 捕获分析
类别功能
APMX 解析解析 API Monitor 捕获文件(.apmx64/.apmx86),提取进程元数据、API 调用和参数值
模式检测根据捕获的 API 调用序列检测注入、进程空洞化、凭据转储和其他攻击模式,并映射到 MITRE ATT&CK
句柄关联跟踪调用间的句柄值,以重建攻击链(OpenProcess -> VirtualAllocEx -> WriteProcessMemory -> CreateRemoteThread)
注入分析提取增强的注入链详情:目标 PID/进程、Shellcode 大小、分配地址和技术分类
API 知识库包含 26,944 个 Windows API 定义,提供参数签名、DLL 映射和类别浏览
恶意软件检测
类别功能
YARA 扫描来自 signature-base 的 718 条规则——APT、勒索软件、WebShell、黑客工具
IoC 规则包用于在导出的日志、文件名和 PCAP 载荷中搜寻的行为型 IoC 规则包;包含可选的 GPL-2.0 impacket-iocs 规则包,其中有 65 条规则
VirusTotal哈希/IP/域名信誉查询,支持缓存和速率限制(支持免费套餐)
DiE 集成通过 Detect It Easy 检测加壳程序(UPX、Themida、VMProtect)、编译器、.NET 和安装程序
编排器
工具功能
investigate_execution关联 Prefetch、Amcache 和 SRUM,以回答“此二进制文件是否曾执行?”
investigate_user_activity关联 Browser、ShellBags、LNK 和 RecentDocs,生成用户活动时间线
hunt_ioc在所有工件来源中搜索 IOC(哈希/文件名/IP/域名),并可选择进行 YARA 扫描
hunt_ioc_pack从捆绑或外部元数据规则包(如 impacket-iocs)中搜寻行为型 IoC
build_timeline根据多个来源构建统一的取证时间线
实用工具
工具功能
ingest_parsed_csv导入 Eric Zimmerman 工具生成的 CSV 输出(MFTECmd、PECmd、AmcacheParser)

安装

先决条件
# Install uv (fast Python package manager)
curl -LsSf https://astral.sh/uv/install.sh | sh
source ~/.bashrc

# Ensure Python 3.10+
python3 --version
从 PyPI 安装
uv tool install winforensics-mcp
从源代码安装
git clone https://github.com/x746b/winforensics-mcp.git
cd winforensics-mcp

# Install with uv (recommended)
uv sync

# Or install with all optional extras
uv venv && source .venv/bin/activate
uv pip install -e ".[all]"

Windows Search 解析使用 SIDR 0.9.2。源代码仓库包含精简版 Linux 发布文件,适用于 ARM64(.tools/sidr)和 x86_64(.tools/sidr_x86),这些文件由相邻清单中记录的固定提交构建而成。任一架构都可以通过以下命令重新构建该确切版本:

bash scripts/build_sidr.sh

服务按以下顺序查找 SIDR:显式工具参数、WINFORENSICS_SIDR_PATH、与架构匹配的捆绑二进制文件,或 PATH。运行时不会下载或构建可执行文件。在不受支持的平台上,请单独构建或提供 SIDR 0.9.2。没有 SIDR 时,windows_search_parse 会使用明确标记的 pyesedb 部分回退方案,该方案无法恢复所有压缩的长值。

验证
uv run python -m winforensics_mcp.server
# Should start without errors (Ctrl+C to exit)

添加到 MCP 客户端

在 MCP 客户端的设置中,将 winforensics-mcp 注册为本地 stdio 服务。配置格式和位置取决于客户端。对于接受 mcpServers JSON 的客户端,PyPI 安装(uv tool install winforensics-mcp)的配置如下:

{
  "mcpServers": {
    "winforensics-mcp": {
      "command": "winforensics-mcp"
    }
  }
}

对于源代码检出(uv sync),使用:

{
  "mcpServers": {
    "winforensics-mcp": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/winforensics-mcp", "python", "-m", "winforensics_mcp.server"]
    }
  }
}

将示例路径替换为检出目录的绝对路径。如果客户端使用不同的配置格式,请通过其 MCP 服务设置输入相同的命令和参数。确保 winforensics-mcp 或 uv(视情况而定)位于客户端的 PATH 中,然后使用客户端的 MCP 服务列表确认连接成功。


快速入门示例

此二进制文件是否曾执行?
Investigate if mimikatz.exe was executed on the system at /mnt/evidence

investigate_execution 编排器会检查 Prefetch、Amcache 和 SRUM:

{
  "target": "mimikatz.exe",
  "execution_confirmed": true,
  "confidence": "HIGH",
  "evidence": [
    {"source": "Prefetch", "finding": "Executed 3 times, last at 2024-03-15T14:23:45Z"},
    {"source": "Amcache", "finding": "SHA1: abc123..., First seen: 2024-03-14T09:00:00Z"},
    {"source": "SRUM", "finding": "Network: 15.2 MB sent; Foreground: 47 seconds"}
  ]
}
在所有工件中搜寻 IOC
Hunt for the hash 204bc44c651e17f65c95314e0b6dfee586b72089 in /mnt/evidence

hunt_ioc 工具会搜索 Prefetch、Amcache、SRUM、MFT、USN、Browser、EVTX,也可选择搜索 YARA:

{
  "ioc": "204bc44c651e17f65c95314e0b6dfee586b72089",
  "ioc_type": "sha1",
  "found": true,
  "sources_with_hits": ["Amcache", "MFT"],
  "findings": [
    {"source": "Amcache", "matches": 1, "details": "bloodhound.exe"},
    {"source": "MFT", "matches": 1, "details": "Users\\Admin\\Downloads\\bloodhound.exe"}
  ]
}

精简 EVTX 和离线 AD 查询

使用 compact、fields、where 和 max_chars,让 EVTX 结果更聚焦:

{
  "evtx_path": "/evidence/Security.evtx",
  "event_ids": [4724],
  "where": {"EventData.SubjectUserName": {"neq": "Administrator"}},
  "compact": true,
  "fields": ["EventID", "TimeCreated", "EventData.TargetUserName"],
  "max_chars": 12000
}

使用相同的查询继续获取 next_cursor;evtx_get_event 可打开完整记录。 使用以下辅助工具进行登录关联、优先显示罕见项的 NTLM 摘要,以及 JSONL 导出。描述符工具会解码明确提供的十六进制/base64 值,并如实报告不可用的 值。NTDS 工具可查询账户、域和信任元数据,不涉及 SYSTEM 或凭据解密。

参见查询参考,了解示例、限制和完整性语义。

工具参考

编排器(高层调查)
工具描述
investigate_execution关联 Prefetch/Amcache/SRUM,证明二进制文件执行情况
investigate_user_activity关联 Browser/ShellBags/LNK/RecentDocs,调查用户活动
hunt_ioc在所有工件中搜寻 IOC(哈希/文件名/IP/域名);yara_scan=True 会增加 YARA 威胁情报
build_timeline根据多个工件来源构建统一时间线
执行工件
工具描述
file_analyze_pePE 静态分析——哈希、导入项、导出项、Authenticode 程序名称、加壳器检测
disk_parse_prefetch解析 Prefetch,获取执行证据
disk_parse_amcache解析 Amcache.hve,获取 SHA1 哈希和时间戳
disk_parse_srum解析 SRUDB.dat,支持精确/正则表达式应用筛选、UTC 时间范围、派生网络单位和可选聚合
恶意软件检测(YARA)
工具描述
yara_scan_file使用 718 条 YARA 规则扫描文件(Mimikatz、CobaltStrike、WebShell、APT、勒索软件)
yara_scan_directory批量扫描目录中的恶意软件
yara_list_rules列出可用/捆绑的 YARA 规则
行为 IoC 包
工具描述
ioc_pack_list列出捆绑和外部 IoC 包及其许可证元数据
hunt_ioc_pack在文本导出内容、文件名和 PCAP 载荷中搜寻行为 IoC
威胁情报(VirusTotal)
工具描述
vt_lookup_hash在 VirusTotal 上查询文件哈希(MD5/SHA1/SHA256)
vt_lookup_behavior有范围限制地获取沙箱域名、URL、命令、注册表/文件写入;可选持久化完整结果
vt_lookup_ip获取 IP 地址信誉和地理位置
vt_lookup_domain获取域名信誉和分类
vt_lookup_file计算文件哈希并在 VirusTotal 上查询
网络取证(PCAP)
工具描述
pcap_get_stats获取 PCAP 统计信息——数据包数量、协议、主要通信方
pcap_get_conversations提取 TCP/UDP 会话及字节数
pcap_get_dns提取 DNS 查询和响应
pcap_get_http提取 HTTP 请求及 URL、方法、用户代理
pcap_search在数据包载荷中搜索字符串或正则表达式模式
pcap_find_suspicious检测 C2 指标、信标活动、DNS 隧道
API 监控捕获分析(APMX)
工具描述
apmx_parse解析 .apmx64/.apmx86 捕获文件——进程信息、模块、调用次数
apmx_get_calls提取 API 调用,支持筛选、分页和时间范围
apmx_get_call_details获取详细记录,包括参数值、返回值和时间戳
apmx_detect_patterns检测攻击模式(注入、进程空洞化、凭据转储),并提供 MITRE ATT&CK ID
apmx_correlate_handles跨 API 调用追踪句柄的生产者/消费者链
apmx_get_injection_info提取增强的注入链信息(目标 PID、Shellcode 大小、技术)
apmx_get_calls_around获取特定记录周围的调用上下文窗口
apmx_search_params在所有记录中搜索特定参数值
api_analyze_imports完整的 PE 导入分析,支持模式检测和 MITRE ATT&CK 映射
api_detect_patterns根据 PE 导入表检测攻击模式
api_lookup查询 Windows API 签名(26,944 个 API,含参数、DLL、类别)
api_search_category按类别浏览 API(例如“进程注入”“文件管理”)
加壳器检测(DiE)
工具描述
die_analyze_file分析文件中的加壳器、编译器、保护程序和 .NET
die_scan_directory批量扫描目录中的加壳可执行文件
die_get_packer_info获取加壳器信息(难度、脱壳工具)
文件系统
工具描述
disk_parse_mft解析 $MFT,包括 ADS 元数据和时间戳篡改检测
disk_parse_usn_journal解析 $J,获取文件操作和已删除文件
用户活动
工具描述
browser_get_history解析 Edge/Chrome/Firefox 历史记录和下载记录
user_parse_lnk_files解析 Windows 快捷方式,获取目标路径
user_parse_shellbags解析 ShellBags(UsrClass.dat + NTUSER.DAT),获取文件夹导航、网络共享和存档浏览记录
windows_search_parse使用 SIDR 解析指定的 Windows.edb;筛选并分页返回文件、互联网、活动和索引内容记录
离线 Active Directory
工具描述
ntds_get_object_by_sam读取与指定离线 SAM 账户选择器完全匹配的允许列表元数据
ntds_get_object_sid返回 SID 元数据,并明确标注歧义/完整性状态
ntds_get_domain_info读取域元数据和有证据支持的林根归属信息
ntds_get_trusts分页读取信任元数据,不包含身份验证机密
事件日志
工具描述
evtx_list_files列出目录中的 EVTX 文件
evtx_get_stats获取事件计数、时间范围和事件 ID 分布
evtx_search使用筛选器、紧凑字段投影、响应预算和稳定续传进行搜索
evtx_get_event使用源绑定引用检索完整的标准化事件
evtx_correlate_logon_id在指定时间窗口内关联主体/目标 LUID 出现记录
evtx_export导出筛选后的 JSONL 文件,包含哈希、完成诊断信息和有界预览
evtx_ntlm_operational_summary汇总 NTLM 4021/4022/4023 事件,并突出显示罕见的进程/用户组合
security_descriptor_decode解码明确指定的十六进制/Base64 格式的有界自相对描述符字节
evtx_describe_security_descriptor描述 EVTX 属性描述符,或报告其源占位符
evtx_security_search预置的安全事件搜索(登录、进程创建等)
evtx_attack_summary用于快速分流的紧凑 TSV 摘要——每个事件一行,仅包含与攻击相关的列
evtx_explain_event_id获取事件 ID 描述
注册表
工具描述
registry_get_key获取指定键及其值
registry_search按模式搜索值
registry_query分页执行精确/子字符串/正则表达式注册表查询,支持子树范围、字段投影和诊断信息
registry_get_persistence获取 Run 键和服务
registry_get_users从 SAM 获取用户账户
registry_get_usb_history关联 USBSTOR 标识、物理序列号、WPD 设备名称和辅助卷标
registry_get_system_info获取操作系统版本、主机名和时区
registry_get_network获取网络配置
实用工具
工具描述
ingest_parsed_csv导入 Eric Zimmerman CSV 输出(MFTECmd、PECmd、AmcacheParser、SrumECmd)
forensics_list_important_events按通道列出重要事件 ID
forensics_list_registry_keys按类别列出取证注册表键
远程采集
工具描述
remote_collect_artifacts通过 WinRM 采集工件(使用密码或哈希传递)
remote_get_system_info获取远程系统信息

配置

VirusTotal API 密钥
# Option 1: Environment variable
export VIRUSTOTAL_API_KEY="your-api-key-here"

# Option 2: Config file
mkdir -p ~/.config/winforensics-mcp
echo "your-api-key-here" > ~/.config/winforensics-mcp/vt_api_key

前往 virustotal.com 获取免费 API 密钥。免费套餐的速率限制为每分钟 4 次请求;客户端会处理速率限制,并将结果缓存 24 小时。


故障排除

未找到 DiE(Detect It Easy)
# Debian/Ubuntu
sudo apt install detect-it-easy

# Or download from https://github.com/horsicq/DIE-engine/releases
未找到 SIDR

源代码检出中包含精简版 SIDR,适用于 Linux ARM64 和 x86_64。若要为当前 Rust 目标重新构建固定版本,请运行:

bash scripts/build_sidr.sh

若要使用其他安装版本,请将 WINFORENSICS_SIDR_PATH 设置为 SIDR 0.9.2 可执行文件的路径。解析器会在每个响应中报告可执行文件路径、版本、SHA-256、数据库状态、提取完整性和证据哈希。捆绑的旁置组件采用 Apache-2.0 许可证,详见 .tools/SIDR-LICENSE。

移除 MCP 服务

从 MCP 客户端的服务设置中移除 winforensics-mcp 条目。


许可证

鸣谢:omerbenamram/evtx(Rust EVTX 解析器)、strozfriedberg/sidr(Windows Search)、Rohitab Batra(API Monitor)、Neo23x0/signature-base(YARA 规则)、horsicq/DIE-engine(Detect It Easy)

核心 winforensics-mcp 代码采用 MIT 许可证。详见 LICENSE。

可选捆绑的 IoC 包可能采用不同的许可证:

  • winforensics_mcp/ioc_packs/impacket-iocs 包含源自 ThatTotallyRealMyth/Impacket-IoCs 的材料,并采用 GPL-2.0 许可证。详见 winforensics_mcp/ioc_packs/impacket-iocs/LICENSE。

为 DFIR 社区打造。无需 Windows >)

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。