Windows通知分析MCP服务器
概述
用于从E01映像中提取和分析Windows通知数据库(wpndatabase.db)的模型上下文协议(MCP)服务器。 从E01取证图像中自动查找并提取Windows特定用户的通知数据库,解析通知历史记录,并以可分析的形式提供。 可以与支持MCP的代理(Claude Desktop等)一起执行取证分析。
主要功能
- E01图像处理:直接从E01取证图像中导航和提取文件
- 自动数据库扫描:自动检测Windows特定用户的通知数据库
- 解析通知:从SQLite数据库提取通知数据并解析XML
- 多种搜索功能:关键字搜索、按应用过滤、时间轴分析
- 敏感信息检测:自动提取密码、代码等敏感信息
- 统计分析:分析通知模式并生成统计信息
安装方法(基于Windows)
针对Python3.12环境进行了优化。建议使用uv进行依赖性管理。
1.创建Python3.12虚拟环境
uv python install 3.12
uv venv .venv --python 3.12
.venv\Scripts\activate2.安装依赖性
为了使pytsk3与libewf兼容,请务必使用以下命令进行安装。
uv pip install -r requirements.txt如何使用(Claude Desktop)
在claude_desktop_config.json文件中添加以下设置。(必须根据您的安装位置修改路径。)
{
"mcpServers": {
"notification-forensics": {
"command": "C:\\Path\\To\\Your\\notification-mcp-server\\.venv\\Scripts\\python.exe",
"args": [
"C:\\Path\\To\\Your\\notification-mcp-server\\server.py"
]
}
}
}注意事项 布线:上述配置文件的路径(C:\\Path\\To…)必须更改为实际项目所在的路径
提供的工具
E01图像分析 scan_e01_for_notification_dbs-E01扫描图像中的通知数据库
extract_notification_db-E01提取通知DB
auto_analy_e01_notifications-自动综合分析
解析通知数据 parse_all_notifications-解析所有通知
search_notifications-使用关键字搜索通知
get_notifications_by_app-查看特定应用程序的通知
get_notification_timeline-按时间顺序创建时间轴
分析和统计 get_notification_statistics-统计分析
list_notification_apps-发送通知的应用程序列表
extract_sensitive_content-提取敏感信息
提供的工具详细说明
1. scan_e01_for_notification_dbs
在E01映像中搜索通知数据库
{
"e01_path": "/path/to/image.E01",
"partition_offset": 0,
"max_results": 10
}2. extract_notification_db
提取特定用户的通知数据库
{
"e01_path": "/path/to/image.E01",
"username": "john.doe",
"partition_offset": 0
}3. parse_all_notifications
解析所有通知
{
"db_path": "/path/to/wpndatabase.db",
"limit": 1000
}4. search_notifications
按关键字搜索通知
{
"db_path": "/path/to/wpndatabase.db",
"keyword": "password",
"limit": 100
}5. get_notifications_by_app
查看特定应用程序的通知
{
"db_path": "/path/to/wpndatabase.db",
"app_id": "Outlook",
"limit": 100
}6. get_notification_timeline
创建按时间顺序通知的时间轴
{
"db_path": "/path/to/wpndatabase.db",
"start_time": 1609459200,
"end_time": 1640995199,
"limit": 1000
}7. get_notification_statistics
生成通知统计信息
{
"db_path": "/path/to/wpndatabase.db"
}8. list_notification_apps
查看发送通知的应用程序列表
{
"db_path": "/path/to/wpndatabase.db"
}9. extract_sensitive_content
提取包含敏感信息的通知
{
"db_path": "/path/to/wpndatabase.db",
"custom_keywords": ["confidential", "secret"]
}10. auto_analyze_e01_notifications
E01图像自动综合分析
{
"e01_path": "/path/to/image.E01",
"partition_offset": 0,
"include_sensitive": true
}核心模块说明
e01_handler.py
- 安装E01取证图像
- 浏览NTFS文件系统
- 文件提取功能
notification_parser.py
- SQLite数据库连接和查询
- 解析通知数据
- 搜索和过滤功能
- 统计分析
xml_parser.py
- Windows通知解析XML结构
- 提取元数据
- 整理文本内容
输出数据格式
通知数据示例
{
"id": 12345,
"order": 1,
"handler_type": "toast",
"app_id": "Microsoft.Outlook",
"notification_type": "email",
"arrival_time": 1640995200,
"arrival_time_readable": "2021-12-31 23:00:00",
"payload_data": {
"title": "New Email",
"body": "You have received a new message...",
"sender": "john@example.com"
}
}统计数据示例
{
"total_notifications": 1500,
"unique_apps": 15,
"time_range": {
"earliest": "2021-01-01 00:00:00",
"latest": "2021-12-31 23:59:59"
},
"app_distribution": {
"Microsoft.Outlook": 450,
"Slack": 320,
"Microsoft Teams": 280
}
}