# Performing Dynamic Analysis With Any Run

> 使用 ANY.RUN 云沙箱进行交互式动态恶意软件分析，实时观察执行行为、与恶意软件提示进行交互， 并捕获进程树、网络流量和系统变化。适用于交互式沙箱分析、基于云的恶意软件引爆、 实时行为观察或 ANY.RUN 使用等请求场景。

- Skill: `killvxk/performing-dynamic-analysis-with-any-run` (Agent Skill, multi-file: 4 files)
- Install (CLI): `npx skillmds@latest add killvxk/performing-dynamic-analysis-with-any-run`
- Raw SKILL.md: https://api.skillmd.com/api/skills/killvxk/performing-dynamic-analysis-with-any-run/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- License: Apache-2.0
- Author: killvxk (https://skillmd.com/u/killvxk)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/killvxk/performing-dynamic-analysis-with-any-run

---


# 使用 ANY.RUN 进行动态分析

## 适用场景

- 需要交互式恶意软件分析，分析人员必须点击对话框、输入凭据或操作安装界面
- 无需维护本地沙箱基础设施的快速云端沙箱分析
- 恶意软件需要用户交互才能通过反沙箱检查（如文档宏需要"启用内容"）
- 通过公开或私有任务 URL 与团队成员共享分析结果
- 在 ANY.RUN 提供的不同 OS 版本（Windows 7、10、11）间比较行为差异

**不适用**于不能上传到云服务的高度敏感样本；应改用 Cuckoo 等本地沙箱。

## 前置条件

- ANY.RUN 账号（免费社区版或付费订阅）
- 支持 WebSocket 的现代网络浏览器，用于交互式会话流
- 已准备好上传的样本文件（免费版最大 100 MB，付费版最大 256 MB）
- 了解样本类型以选择适当的执行环境
- 在分析会话期间访问 ANY.RUN 门户时使用 VPN 或安全网络

## 工作流程

### 步骤 1：配置分析环境

设置 ANY.RUN 任务的适当参数：

```
ANY.RUN 任务配置：
━━━━━━━━━━━━━━━━━━━━━━━━━━
OS 选择：          Windows 10 x64（推荐默认）
                   Windows 7 x64（针对旧版恶意软件）
                   Windows 11 x64（针对现代样本）
执行时间：         60 秒（默认）/ 120-300 针对慢速恶意软件
网络：             已连接（捕获真实 C2 流量）
                   住宅代理（绕过地理封锁）
隐私：             公开（免费版）/ 私有（付费版，不被索引）
MITM 代理：        启用以解密 HTTPS 流量
Fake Net：         启用以模拟网络服务（当样本检查网络连接时）
```

**基于 API 提交（付费版）：**
```bash
# 通过 ANY.RUN API 提交文件
curl -X POST "https://api.any.run/v1/analysis" \
  -H "Authorization: API-Key $ANYRUN_API_KEY" \
  -F "file=@suspect.exe" \
  -F "env_os=windows" \
  -F "env_version=10" \
  -F "env_bitness=64" \
  -F "opt_timeout=120" \
  -F "opt_network_connect=true" \
  -F "opt_privacy_type=bylink"

# 检查任务状态
curl "https://api.any.run/v1/analysis/$TASK_ID" \
  -H "Authorization: API-Key $ANYRUN_API_KEY" | jq '.data.status'
```

### 步骤 2：在执行过程中与恶意软件交互

使用交互式会话触发恶意软件行为：

```
分析期间的交互操作：
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1. 文档宏：       在提示时点击"启用内容"/"启用编辑"
2. 安装界面：     逐步点击安装对话框
3. UAC 提示：     点击"是"允许提权（观察权限提升行为）
4. 凭据采集：     输入虚假凭据以观察钓鱼行为
5. 浏览器重定向：  如果恶意软件打开浏览器窗口，导航到对应 URL
6. 文件对话框：   如果恶意软件显示文件选择器，选择目标文件
7. 超时延长：     如果恶意软件存在延迟执行，延长分析时间
```

### 步骤 3：分析进程树

审查完整的进程执行链：

```
进程树分析要点：
━━━━━━━━━━━━━━━━━━━━━━━━━━━
父子关系：
  - WINWORD.EXE -> cmd.exe -> powershell.exe（宏执行链）
  - explorer.exe -> suspect.exe -> svchost.exe（进程注入）

需要注意的进程事件：
  - 带有可疑命令行参数的进程创建
  - 带有编码命令的 PowerShell（-enc / -encodedcommand）
  - cmd.exe 执行脚本文件（.bat、.vbs、.js）
  - 从异常父进程派生的合法进程
  - 进程终止（自删除行为）
```

### 步骤 4：审查网络活动

检查 DNS、HTTP/HTTPS 和 TCP/UDP 连接：

```
ANY.RUN 网络面板分析：
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
DNS 请求：
  - 带威胁情报标签的域名解析
  - 快速流量或 DGA 域名模式
  - DNS over HTTPS（DoH）检测

HTTP/HTTPS 流量（启用 MITM 时）：
  - HTTP 的完整请求/响应体
  - 解密的 HTTPS 流量（显示 C2 命令）
  - 下载的载荷及其内容类型
  - 包含被泄露信息的 POST 数据

连接图：
  - C2 服务器位置的地理可视化
  - 显示信标模式的连接时间线
  - 网络流量触发的 Suricata 告警
```

### 步骤 5：检查 IoC 和威胁情报

提取指标并映射到已知威胁：

```
ANY.RUN IoC 分类：
━━━━━━━━━━━━━━━━━━━━━━
文件：       投放文件的哈希、YARA 匹配、VirusTotal 结果
网络：       执行期间访问的 IP、域名、URL
注册表：     为持久化创建/修改的键
进程：       可疑进程名称和命令行
互斥锁：     创建的命名互斥锁（用于单实例检查）
签名：       触发的 Suricata 规则、匹配的行为签名

MITRE ATT&CK 映射：
  - ANY.RUN 自动将观察到的行为映射到 ATT&CK 技术
  - 在 ATT&CK 矩阵标签页中查看技术覆盖情况
  - 导出 ATT&CK Navigator 层用于报告
```

### 步骤 6：导出分析结果

下载综合报告和分析产物：

```bash
# 通过 API 下载报告
curl "https://api.any.run/v1/analysis/$TASK_ID/report" \
  -H "Authorization: API-Key $ANYRUN_API_KEY" \
  -o report.json

# 下载 PCAP
curl "https://api.any.run/v1/analysis/$TASK_ID/pcap" \
  -H "Authorization: API-Key $ANYRUN_API_KEY" \
  -o capture.pcap

# 下载投放文件
curl "https://api.any.run/v1/analysis/$TASK_ID/files" \
  -H "Authorization: API-Key $ANYRUN_API_KEY" \
  -o dropped_files.zip

# ANY.RUN Web 界面可用的导出格式：
# - HTML 报告（可共享的独立页面）
# - PCAP 文件（网络流量捕获）
# - 进程转储（进程内存转储）
# - 投放文件（执行期间创建的所有文件）
# - MITRE ATT&CK Navigator JSON
# - IoC 导出（STIX/JSON/CSV 格式）
```

## 核心概念

| 术语 | 定义 |
|------|------|
| **交互式沙箱** | 允许分析人员实时与正在执行的样本交互的分析环境，可触发依赖用户操作的行为 |
| **MITM 代理** | ANY.RUN 中的中间人 TLS 拦截，解密 HTTPS 流量以获取对加密 C2 通信的可见性 |
| **住宅代理** | ANY.RUN 功能，通过住宅 IP 地址路由恶意软件流量，以绕过地理 IP 和数据中心 IP 规避检查 |
| **Suricata 告警** | 执行期间触发的网络 IDS 签名，提供对已知恶意流量模式的即时识别 |
| **进程树** | 父子进程关系的层次化可视化，显示从初始样本到最终载荷的完整执行链 |
| **行为标签** | ANY.RUN 根据观察到的行为自动应用的分类标签（如"trojan"、"stealer"、"ransomware"） |

## 工具与系统

- **ANY.RUN**：基于云的交互式恶意软件沙箱，提供实时执行监控、进程树、网络捕获和 MITRE ATT&CK 映射
- **ANY.RUN API**：REST API，用于程序化样本提交、状态检查和报告/产物获取
- **Suricata**：集成在 ANY.RUN 中的网络 IDS，提供基于签名的恶意网络流量检测
- **MITRE ATT&CK Navigator**：框架集成，将观察到的恶意软件行为映射到对手技术和战术
- **VirusTotal 集成**：自动对样本和投放文件进行哈希查询，获取 VirusTotal 检测结果

## 常见场景

### 场景：分析需要用户交互的宏启用文档

**背景**：钓鱼邮件包含 .docm 文件，需要点击"启用内容"才能触发宏载荷。传统的非交互式沙箱无法触发恶意行为。

**方法**：
1. 将 .docm 上传到安装了 Microsoft Office 的 ANY.RUN Windows 10 环境
2. 当 Word 打开并显示安全提示时，交互式地点击"启用内容"
3. 在进程树中观察宏执行（Word -> cmd.exe -> powershell.exe）
4. 监控网络面板，观察 PowerShell 下载第二阶段载荷
5. 如果出现 UAC 提示，点击"是"允许载荷执行以观察完整行为链
6. 查看 Suricata 告警，检查下载的载荷是否有已知恶意软件签名
7. 导出 IoC（下载 URL、投放文件哈希、C2 域名）用于封锁

**注意事项**：
- 不要忘记启用 MITM 代理，否则加密的 HTTPS 流量将无法可见
- 对于有延迟执行或睡眠计时器的恶意软件，不要设置过短的执行超时时间
- 当样本包含敏感组织数据时，不要上传到公开分析
- 不要跳过所有提示；某些恶意软件需要多次用户交互才能完整执行

## 输出格式

```
ANY.RUN 分析报告
=========================
任务 URL：        https://app.any.run/tasks/<task_id>
样本：            invoice_q3.docm
SHA-256：         e3b0c44298fc1c149afbf4c8996fb924...
判定：            恶意（评分：95/100）
家族：            Emotet
标签：            [trojan, banker, spam, macro]

进程树
WINWORD.EXE（PID：2184）
  └── cmd.exe（PID：3456）"/c powershell -enc JABXAG..."
      └── powershell.exe（PID：4012）
          └── rundll32.exe（PID：4568）"C:\Users\...\payload.dll,Control_RunDLL"

网络指标
DNS：    update.emotet-c2[.]com -> 185.220.101.42
HTTPS：  POST hxxps://185.220.101[.]42/wp-content/gate/（C2 信标）
HTTP：   GET hxxp://compromised-site[.]com/invoice.dll（载荷下载）

SURICATA 告警
[1:2028401] ET MALWARE Emotet CnC Beacon
[1:2028402] ET MALWARE Win32/Emotet Activity

MITRE ATT&CK 技术
T1566.001  钓鱼攻击：鱼叉式钓鱼附件
T1204.002  用户执行：恶意文件
T1059.001  命令和脚本解释器：PowerShell
T1218.011  Rundll32 执行
T1071.001  应用层协议：Web 协议

投放文件
payload.dll  SHA-256：abc123...  检测率：48/72（VirusTotal）
config.dat   SHA-256：def456...（加密配置）
```

