marez8505/SandboxWatch

GitHub: marez8505/SandboxWatch

SandboxWatch 是一个动态恶意软件分析沙箱,通过在受控环境中运行可疑文件并捕获其实时行为,弥补静态分析无法揭示样本实际操作的不足。

Stars: 0 | Forks: 0

# SandboxWatch **用于行为分析的动态恶意软件沙箱。** ## 它的功能 SandboxWatch 在受控环境中执行可疑文件,并 实时捕获其行为。它涵盖了动态分析的工作流程: 1. **进程监控器** — 生成目标进程,记录所有 API 调用(创建文件、写入注册表、网络连接、进程生成) 2. **网络流量捕获** — 记录 DNS 查询、HTTP 请求、C2 信标模式 3. **文件系统监控器** — 实时追踪文件的创建、修改和删除 4. **进程树记录器** — 捕获父子进程关系和注入指标 5. **IOC 提取器** — 从观察到的行为中自动生成 IOC(哈希、IP、域名、互斥锁、注册表项) 6. **行为报告生成器** — 包含所有操作的时间线和风险评分 ## 为什么这些很重要 静态分析(文件头、字符串、哈希)只能告诉你二进制文件*看起来*是什么样。 动态分析告诉你它*做*了什么: - **进程监控**揭示恶意软件在执行后试图做什么 - **网络捕获**显示 C2 通信——它连接回哪里 - **文件系统追踪**显示它释放、修改或删除了什么 - **进程树**揭示注入行为(例如,恶意软件生成 svchost.exe 子进程) - **IOC 提取**将观察结果转化为检测特征 每个模块都包含解释性注释,说明它*捕获*了什么以及*为什么*它很重要。 ## 安装说明 ``` pip install -r requirements.txt ``` ### 依赖项 | 包 | 用途 | |---------|---------| | `psutil` | 进程和系统监控 | | `click` | CLI 框架 | | `watchdog` | 文件系统事件监控 | | `rich` | 终端输出格式化 | ## 用法 ``` # 通过名称监控进程 python main.py monitor --name notepad.exe # 监控特定 PID python main.py monitor --pid 1234 # 监控目录中的 filesystem 更改 python main.py watch --path C:\Users\User\Downloads # 捕获网络连接 python main.py capture --duration 60 # 对进程运行完整分析 python main.py analyze --name suspicious.exe --duration 120 # 生成行为报告 python main.py report --pid 1234 --format html ``` ## 架构 ``` SandboxWatch/ ├── main.py # CLI entry point (Click) ├── core/ │ ├── monitor.py # Process monitoring (API calls, CPU, memory) │ ├── capture.py # Network traffic capture │ ├── watcher.py # Filesystem watcher (watchdog) │ ├── process_tree.py # Parent-child process relationships │ ├── ioc_extractor.py # IOC auto-extraction from observations │ └── report.py # Behavioral report generation ├── data/ │ └── sandboxwatch.db # SQLite database (auto-created) ├── requirements.txt └── README.md ``` ## 学习路径 1. **monitor.py** — 从这里开始。了解进程监控揭示了什么。 了解 CPU 激增、内存分配和句柄访问模式。 2. **capture.py** — 网络指标。C2 流量是什么样的? 了解信标模式、DNS 异常和异常连接。 3. **watcher.py** — 文件系统痕迹。恶意软件释放了什么? 了解临时目录、启动文件夹和 DLL 侧加载。 4. **process_tree.py** — 进程注入。恶意软件家族如何隐藏? 了解父子进程异常和进程镂空。 5. **ioc_extractor.py** — 将观察结果转化为检测。 了解什么是好的 IOC 以及如何使其具有可操作性。 6. **report.py** — 文档记录。没有报告的分析只是噪音。 ## 许可证 MIT 许可证 — 仅供教育使用。请参阅上方的隔离警告。 ## 作者 Edward Marez — 网络安全作品集项目
标签:DAST, 动态沙箱, 威胁情报, 安全, 开发者工具, 恶意软件分析, 网络信息收集, 超时处理, 逆向工具