ac0d3r/machbox
GitHub: ac0d3r/machbox
Machbox 是一个基于 Apple 原生框架构建的轻量级 macOS 恶意软件分析沙箱,支持对 Mach-O 和应用包进行动静结合的自动化分析并生成可视化报告。
Stars: 9 | Forks: 0
# MachBox
Machbox 是一个适用于 macOS 的原生、轻量级、单二进制恶意软件分析沙箱,基于 Apple 原生框架(`Virtualization.framework`、`EndpointSecurity.framework`、`DTrace` 等)构建,结合了静态分析与动态分析。
English | [中文](./docs/README_CN.md)
## 支持的格式
- mach-o
- .app bundle
- zip 压缩包(支持密码提取)
## 系统要求
- **Apple Silicon Mac**
- **macOS 13+**
## 环境配置
只需进行一次。配置完成后,即可重复运行样本分析。
### 1. 使用 VirtualBuddy 创建基础 VM
1. 打开 [VirtualBuddy](https://github.com/insidegui/VirtualBuddy) 并创建一个新的 macOS VM。
2. 在创建过程中,**取消勾选“Enable VirtualBuddy Guest App”**。
3. 在 VM 内完成 macOS 设置(区域、账户等)。
### 2. 在 Guest VM 中禁用 SIP
1. 在 VirtualBuddy 中,为该 VM 启用 **Boot in recovery mode**。
2. 启动 VM,并从菜单栏打开 **Utilities → Terminal**。
3. 运行:
csrutil disable
4. 正常重启 VM。
### 3. 安装 Machbox Guest Agent
在主机上运行:
```
machbox setup -m /path/to/your_Machbox.vbvm
```
在 VM 内部:
1. 打开 Finder,并从侧边栏选择 `MachboxGuest`。
2. 安装 `machbox-guest.pkg`。
3. 等待安装完成(Xcode Command Line Tools 将会静默安装)。
4. 关闭 VM。
## 分析样本
```
machbox analyze -m /path/to/your_Machbox.vbvm /path/to/sample
```
常用选项:
| 选项 | 描述 | 默认值 |
|--------|-------------|---------|
| `-m, --vbvm` | **必填** VirtualBuddy VM bundle 的路径 | — |
| `--timeout` | 动态分析超时时间(秒) | `60` |
| `--password` | 加密压缩包的密码 | — |
| `--headless` | 在无 GUI 窗口的情况下运行(分析后自动关闭) | `true` |
| `--display` | 显示分辨率 | `1920x1200` |
| `--network-mode` | 网络模式(例如 `NAT`) | 禁用 |
## 查看分析报告
所有分析结果都会自动存储在本地数据库中,并可通过内置的 Web UI 查看:
```
machbox report-view
```
打开浏览器并访问 `http://127.0.0.1:8080` 即可浏览完整的分析报告。
### 报告预览
| 静态分析 | 动态分析 |
|:--|:--|
|
|
|
|
|
|
## 架构
```
flowchart TB
User(["User: machbox analyze sample"])
subgraph Host["Host"]
Machbox["machbox"]
Snapshot["Snapshot"]
ShareDir["SharedDir
(tools|sample)"] Report["Report(Web UI)"] end subgraph Guest["Guest VM"] Agent["Guest Agent"] Analysis["static and dynamic
analysis"] Sample["malware sample"] end User --> Machbox Machbox --> |read-only|ShareDir ShareDir --> |APFS clone|Snapshot Snapshot --> Agent Agent <--> Analysis Analysis --> Sample Machbox <--> Report ``` ## 致谢 - https://github.com/blacktop/go-macho - https://github.com/Code-Hex/vz - https://github.com/insidegui/VirtualBuddy
## 支持的格式
- mach-o
- .app bundle
- zip 压缩包(支持密码提取)
## 系统要求
- **Apple Silicon Mac**
- **macOS 13+**
## 环境配置
只需进行一次。配置完成后,即可重复运行样本分析。
### 1. 使用 VirtualBuddy 创建基础 VM
1. 打开 [VirtualBuddy](https://github.com/insidegui/VirtualBuddy) 并创建一个新的 macOS VM。
2. 在创建过程中,**取消勾选“Enable VirtualBuddy Guest App”**。
3. 在 VM 内完成 macOS 设置(区域、账户等)。
### 2. 在 Guest VM 中禁用 SIP
1. 在 VirtualBuddy 中,为该 VM 启用 **Boot in recovery mode**。
2. 启动 VM,并从菜单栏打开 **Utilities → Terminal**。
3. 运行:
csrutil disable
4. 正常重启 VM。
### 3. 安装 Machbox Guest Agent
在主机上运行:
```
machbox setup -m /path/to/your_Machbox.vbvm
```
在 VM 内部:
1. 打开 Finder,并从侧边栏选择 `MachboxGuest`。
2. 安装 `machbox-guest.pkg`。
3. 等待安装完成(Xcode Command Line Tools 将会静默安装)。
4. 关闭 VM。
## 分析样本
```
machbox analyze -m /path/to/your_Machbox.vbvm /path/to/sample
```
常用选项:
| 选项 | 描述 | 默认值 |
|--------|-------------|---------|
| `-m, --vbvm` | **必填** VirtualBuddy VM bundle 的路径 | — |
| `--timeout` | 动态分析超时时间(秒) | `60` |
| `--password` | 加密压缩包的密码 | — |
| `--headless` | 在无 GUI 窗口的情况下运行(分析后自动关闭) | `true` |
| `--display` | 显示分辨率 | `1920x1200` |
| `--network-mode` | 网络模式(例如 `NAT`) | 禁用 |
## 查看分析报告
所有分析结果都会自动存储在本地数据库中,并可通过内置的 Web UI 查看:
```
machbox report-view
```
打开浏览器并访问 `http://127.0.0.1:8080` 即可浏览完整的分析报告。
### 报告预览
| 静态分析 | 动态分析 |
|:--|:--|
|
|
|
|
|
|
## 架构
```
flowchart TB
User(["User: machbox analyze sample"])
subgraph Host["Host"]
Machbox["machbox"]
Snapshot["Snapshot"]
ShareDir["SharedDir(tools|sample)"] Report["Report(Web UI)"] end subgraph Guest["Guest VM"] Agent["Guest Agent"] Analysis["static and dynamic
analysis"] Sample["malware sample"] end User --> Machbox Machbox --> |read-only|ShareDir ShareDir --> |APFS clone|Snapshot Snapshot --> Agent Agent <--> Analysis Analysis --> Sample Machbox <--> Report ``` ## 致谢 - https://github.com/blacktop/go-macho - https://github.com/Code-Hex/vz - https://github.com/insidegui/VirtualBuddy
标签:DAST, 云安全监控, 动态分析沙箱, 合规性检查, 恶意软件分析, 日志审计, 虚拟化, 静态分析