项目简介
LitterBox 是一个专为恶意软件开发和Payload测试设计的 Windows 沙箱环境。它提供直观的Web界面和自动化分析能力,帮助红队人员验证规避技术、评估检测签名、测试植入行为。通过集成的多种行业标准分析工具,提供静态和动态分析报告。
此外,LitterBox 包含一个基于 Model Context Protocol (MCP) 构建的适配层(LitterBoxMCP),使得大型语言模型 (LLM) 客户端可以通过标准化的方式调用 LitterBox 的分析功能,如上传文件、启动分析、获取结果等。
主要功能点
- Payload 上传: 支持上传多种文件类型 (.exe, .dll, .sys, .doc, .docx, .xls, .xlsx等)。
- 静态分析: 执行 YARA 规则扫描、PE 文件结构分析、Office文档宏分析、字符串提取与分析等。
- 动态分析: 监控进程行为、内存区域、进程注入、休眠模式,通过集成工具检测运行时异常。
- Doppelganger 分析: 比较Payload与当前系统进程或数据库中已知工具的相似性。
- 结果报告: 提供详细的分析报告,包括文件信息、检测结果、风险评估。
- MCP 集成: 通过 MCP 协议将上述功能暴露给 LLM 客户端调用。
安装步骤
LitterBox 主要在 Windows 操作系统上运行,并需要管理员权限。
- 克隆仓库:
git clone https://github.com/BlackSnufkin/LitterBox.git cd LitterBox - 安装 Python 依赖:
python -m venv venv .\venv\Scripts\Activate.ps1 # 在 PowerShell 中激活虚拟环境 # 或 source venv/bin/activate 在 Git Bash 或 WSL 中激活 pip install -r requirements.txt - 安装所需的第三方安全分析工具(例如 PE-Sieve, Moneta, Hunt-Sleeping-Beacons等),并根据 'config.yml' 配置文件的指引,配置工具的路径和参数。请确保这些工具可在命令行中正确执行。
服务器运行
为了让 MCP 客户端能够连接并使用 LitterBox 的分析能力,你需要启动 两个 服务器:
-
启动 LitterBox Web 服务器 (为 MCP 适配层提供后端 API) 在 LitterBox 目录下运行(需要管理员权限):
.\venv\Scripts\python litterbox.py或
python litterbox.py这将启动Web服务器,默认访问地址是 'http://127.0.0.1:1337'。
-
启动 LitterBox MCP 适配服务器 (为 LLM 客户端提供 MCP 接口) 在 LitterBox 目录下运行虚拟环境中的 Python:
.\venv\Scripts\python GrumpyCats\LitterBoxMCP.py或
python GrumpyCats\LitterBoxMCP.py这将启动 MCP 服务器,默认通过标准输入/输出 (Stdio) 协议在 '0.0.0.0:50051' 端口监听 MCP JSON-RPC 请求。
服务器配置 (供 MCP 客户端使用)
LLM 客户端(或其他 MCP 客户端)需要知道如何启动或连接到 LitterBox MCP 适配服务器。标准的 MCP 客户端配置通常需要提供服务器的启动命令及其参数。
以下是一个示例配置信息(请根据实际的Python环境路径调整 'command'):
{ "server name": "LitterBox MCP Adapter", "command": "python", "args": [ "路径/到/LitterBox/GrumpyCats/LitterBoxMCP.py" // 请将 "路径/到/LitterBox" 替换为你实际克隆仓库的绝对路径 // 如果在虚拟环境中运行,可能需要使用虚拟环境中的 python 路径 // 例如: "C:\\Users\\YourUser\\LitterBox\\venv\\Scripts\\python.exe" ], // 其他可能的配置项(取决于客户端) // "host": "127.0.0.1", // "port": 50051, // "protocol": "stdio" // 默认协议通常是 stdio 或 tcp }
参数注释:
- 'server name': MCP 服务器的友好名称,用于客户端界面显示。
- 'command': 用于启动 MCP 服务器脚本的可执行程序。通常是 'python' 或 'python3' 的路径。
- 'args': 传递给 'command' 的参数列表。第一个参数通常是要执行的 Python 脚本路径。
基本使用方法 (通过 MCP 客户端)
LLM 客户端连接到 LitterBox MCP Adapter 后,即可通过 MCP 协议调用暴露的工具和Prompt模板:
- 使用 'upload_payload' 工具上传文件(提供文件路径)。
- 使用 'analyze_static' 或 'analyze_dynamic' 工具对上传的文件哈希或运行中的进程PID进行分析。
- 使用 'get_file_info', 'get_static_results', 'get_dynamic_results' 工具获取详细分析结果。
- 使用 'list_payloads' 工具查看所有已分析文件的摘要。
- 利用 'analyze_detection_patterns', 'assess_evasion_effectiveness' 等 Prompt 模板,结合分析结果指导 LLM 进行 Payload OPSEC 分析和建议。
请参考你的 MCP 客户端文档,了解如何配置和调用外部 MCP 服务器。
信息
分类
开发者工具