m55681518-byte/malware-lab
GitHub: m55681518-byte/malware-lab
一个运行于 Windows Sandbox 隔离环境中的教育性恶意软件防御实验室,通过互动游戏与二十种技术演示配合 YARA/Sigma 检测规则,帮助安全学习者理解恶意技术并练习防御检测。
Stars: 0 | Forks: 0
# Spy vs Defender — 恶意软件实验室
这是一个教育性质的恶意软件防御学习实验室,运行在可释放的 **Windows Sandbox** 虚拟机内。你可以玩街机游戏,在隔离环境中编译并运行真实的 C# 恶意软件演示,并使用 YARA 和 Sigma 规则来追踪它们的特征。
## 工作原理
```
run-lab.ps1 ──► Windows Sandbox (sandbox-config.wsb)
│
└─ mounts C:\Users\\malware-lab → C:\malware-lab (R/W)
│
└─ setup-sandbox.ps1 at logon:
• Defender exclusion for C:\malware-lab
• pip install pycryptodome
• pre-compiles 07_miner.cs
• desktop shortcuts for levels 1–7
• Edge auto-opens game.html
```
## 包含内容
| 路径 | 内容 |
|---|---|
| `game.html` | “Agent Defender”街机游戏 —— 包含 20 个迷你游戏,每种技术对应一个,外加一个代码实验室,你可以在其中填写真实的 C# 恶意软件源代码并使用 `csc.exe` 进行编译 |
| `level-01.bat` … `level-20.bat` | 各个演示可执行文件的启动器 |
| `demos/` | 20 个技术系列:`.cs` 源码(部分已编译为 `.exe`),`.py` 教学脚本 |
| `detection/sigma/` | 19 个 Sigma 规则文件(包含 43 条规则),用于匹配演示样本 |
| `detection/yara/` | 19 个 YARA 规则文件(包含 34 条规则),用于匹配演示样本 |
| `tools/` | `detect-monitor.ps1`(基于行为的 API 字符串扫描器),`install-tools.ps1`(Sysinternals/Wireshark/YARA) |
| `samples/` | 空的 `mimikatz/` 文件夹 + `Sysinternals.zip` |
| `graphify-out/` | 实验室的 AST 代码图(`graph.html`,`graph.json`,`GRAPH_REPORT.md`) |
| `decrypt_sim.py` | 用于 Python 勒索软件模拟的恢复脚本 |
## 20 种技术
1. 键盘记录器 (GetAsyncKeyState) · 2. RAT / 反向 shell (TcpClient) · 3. 凭据窃取器 (MiniDumpWriteDump) · 4. 进程镂空 (NtUnmapViewOfSection) · 5. DLL 注入 (CreateRemoteThread) · 6. 勒索软件 (AES-256,可自恢复) · 7. 加密货币挖矿木马 · 8. 蠕虫 (SMB 共享) · 9. 无文件恶意软件 (EncodedCommand, Assembly.Load) · 10. 银行木马 (HttpListener) · 11. 剪贴板劫持器 · 12. Rootkit · 13. 下载器 · 14. 表单劫持器 (Magecart 风格) · 15. 数据擦除器 · 16. 多态引擎 · 17. 恐吓软件 · 18. 僵尸网络 (IRC C2) · 19. 广告软件 · 20. 挖矿木马 (XMRig 风格协议)
## 运行方式(宿主机)
```
# 必须启用 Windows Sandbox feature (Containers-DisposableClientVM)
.\run-lab.ps1
```
## 检测工作流
```
# 在 sandbox 内部,针对已编译的 demo:
yara detection\yara\01_keylogger.yar demos\01_keylogger.exe
# 实时 process monitoring:
.\tools\detect-monitor.ps1 -WatchProcesses
```
## 安全提示
- 大多数 `.cs` 演示样本仅在存在 `C:\malware-lab` 时才会执行 —— 即它们拒绝在沙盒挂载之外运行。
- 勒索软件演示仅加密各自的测试文件夹,并会自动解密。
- C2 端点均为回环/示例地址;僵尸网络/IRC 和矿池连接均指向 `127.0.0.1`。
- 沙盒在关闭时会重置;不会保留任何内容。
仅供教育和防御性安全研究使用。
标签:AI合规, DAST, Windows沙箱, YARA, 云资产可视化, 后端开发, 多模态安全, 安全教育, 恶意软件分析, 漏洞靶场, 逆向工具, 防御检测