YarinGub/Malware-Analysis-Sandbox
GitHub: YarinGub/Malware-Analysis-Sandbox
基于 Windows 和 Sysmon 的轻量级恶意软件动态分析沙箱,通过文件系统快照对比和系统事件收集实现对可疑样本的行为观察与自动化报告生成。
Stars: 0 | Forks: 0
# 恶意软件分析沙箱 – 作业 2
## 概述
本项目实现了一个基于 **Windows 的恶意软件分析沙箱**,用于对可疑样本进行动态分析。
该沙箱在隔离环境中执行样本,监控其行为,并生成结构化的分析报告。
重点在于**行为观察**,而非检测。
功能:
- 自动化执行与监控流水线
- 文件系统快照(执行前 / 执行后)
- 基于 Sysmon 的进程和系统事件收集
- 自动报告生成
- *(附加功能)* 用于管理运行和查看报告的图形用户界面 (UI)
## 环境
- Windows 虚拟机
- PowerShell 5+
- 已安装并启用 Sysmon
- 需要管理员权限
- 建议网络隔离
## 项目结构
sandbox/
├─ scripts/
│ ├─ fs_snapshot.ps1
│ ├─ export_sysmon.ps1
│ ├─ generate_report.ps1
│ └─ sandbox_ui.ps1 # Bonus UI
└─ in/
└─ fake_malware.ps1
每次执行都会在以下位置生成一个运行目录:
C:\Sandbox\out\\
## 分析流水线
每次运行遵循以下步骤:
1. 初始化 – 创建运行目录并记录开始时间
2. 执行前快照 – 捕获文件系统状态 (fs_before.json)
3. 样本执行 – 在时间限制内运行样本
4. 执行后快照 – 捕获文件系统变更 (fs_after.json)
5. Sysmon 收集 – 导出相关的系统事件 (sysmon.json)
6. 报告生成 – 生成总结行为的 report.md
## 输出产物
每个运行目录包含:
- since_utc.txt – 执行开始时间
- fs_before.json – 执行前的文件系统快照
- fs_after.json – 执行后的文件系统快照
- sysmon.json – Sysmon 事件日志
- report.md – 最终行为分析报告
## 运行沙箱 (CLI)
以管理员身份运行 PowerShell:
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
$runId = (Get-Date).ToUniversalTime().ToString("yyyyMMdd_HHmmss")
$outDir = "C:\Sandbox\out\$runId"
New-Item -ItemType Directory -Path $outDir -Force | Out-Null
$paths = @("$env:TEMP", "C:\Sandbox\in")
& "sandbox\scripts\fs_snapshot.ps1" -Paths $paths -OutFile "$outDir\fs_before.json"
$since = (Get-Date).AddMinutes(-10).ToUniversalTime().ToString("o")
$since | Out-File "$outDir\since_utc.txt"
powershell -ExecutionPolicy Bypass -File "sandbox\in\fake_malware.ps1"
Start-Sleep -Seconds 3
& "sandbox\scripts\fs_snapshot.ps1" -Paths $paths -OutFile "$outDir\fs_after.json"
& "sandbox\scripts\export_sysmon.ps1" -OutFile "$outDir\sysmon.json" -SinceUtcIso $since
& "sandbox\scripts\generate_report.ps1" -RunDir $outDir
## 附加功能:用户界面 (UI)
包含一个 PowerShell WinForms UI 以简化沙箱操作。
功能:
- 启动 / 停止分析运行
- 自动运行管理
- 实时执行日志
- 集成报告查看器
运行 UI:
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
& "sandbox\scripts\sandbox_ui.ps1"
## 安全提示
- 所有执行均在虚拟机内进行
- 样本为受控模拟
- 可以禁用网络访问
- 访问 Sysmon 需要管理员权限
## 总结
本项目演示了一个端到端的恶意软件分析工作流,结合了受控执行、行为监控和自动化报告。
该解决方案是模块化、可扩展的,适合作为更高级沙箱系统的基础。
标签:AI合规, DAST, HTTP工具, IPv6, Libemu, PowerShell, Sysmon, 事件日志, 威胁情报, 子域名变形, 安全研究报告, 开发者工具, 恶意软件分析, 攻击溯源, 文件系统快照, 无线安全, 样本分析, 沙箱, 网络安全, 网络安全审计, 自动化分析, 虚拟机安全, 行为监控, 跨站脚本, 隐私保护, 隔离环境