josue6368/malware-traffic-analysis-lab
GitHub: josue6368/malware-traffic-analysis-lab
一份基于 Wireshark 的恶意软件流量分析实验报告,完整记录了从 PCAP 离线分析到 DFIR 风格调查报告撰写的全过程。
Stars: 0 | Forks: 0
# 恶意软件流量分析实验
使用 Wireshark 分析了恶意软件流量的 PCAP 文件,以识别可疑的 DNS、HTTP、Beaconing 以及命令和控制指标。在 DFIR 风格的调查报告中记录了调查结果、妥协指标以及妥协时间线。
# 恶意软件流量分析实验
## 概述
本项目演示了使用 Wireshark 和来自 Malware-Traffic-Analysis.net 的公开 PCAP 文件进行恶意软件流量分析调查的过程。
本实验的目标是分析网络流量,识别受感染的主机,提取妥协指标 (IOC),审查命令与控制风格的通信,并将调查结果记录在 DFIR 风格的调查报告中。
在本项目执行期间没有运行任何恶意软件。分析是使用数据包捕获文件离线完成的。
### 实验环境
- **分析平台:** Kali Linux 虚拟机
- **工具:** Wireshark
- **证据来源:** 恶意软件流量 PCAP
- **观察到的网络范围:** `10.2.28.0/24`
- **调查类型:** 离线 PCAP 分析 / DFIR
### 工具和技术
- Wireshark
- Kali Linux
- PCAP 分析
- TCP stream 分析
- DNS、NBNS、Kerberos 和 HTTP 流量审查
### 道德规范
本项目使用了安全的、公开可用的训练 PCAP 进行。未执行任何活跃的恶意软件,未针对任何真实系统,并且所有分析均在受控的实验室环境中离线进行。
### 调查目标
本次调查侧重于识别:
- 受感染的内部主机 IP 地址
- 受感染的主机 MAC 地址
- 主机名
- 用户账户
- 域/领域信息
- 可疑的外部通信
- 命令与控制指标
- Beaconing 或重复的流量行为
- 妥协指标
### 执行摘要
对 PCAP 的分析确认 `10.2.28.88` 为受感染的内部主机。该主机与可疑的外部 IP 地址 `45.131.214.85` 进行了重复通信。
进一步的分析揭示了与 NetSupport Manager 相关的流量,包括对 `/fakeurl.htm` 的 HTTP POST 请求、`NetSupport Manager/1.3` 的 `User-Agent`,以及标识为 `NetSupport Gateway/1.92` 的服务器响应。
流量模式和与 NetSupport 相关的指标与远程访问工具 / 命令与控制风格的活动相一致。
## 调查发现
### 发现 1:在 Wireshark 中加载 PCAP
在 Wireshark 中打开了恶意流量 PCAP 进行离线分析。
**图 1. 在 Wireshark 中打开的 PCAP**
Wireshark 成功加载了数据包捕获,允许对网络流量进行数据包级别的审查。
### 发现 2:可疑的外部通信 应用了过滤器以识别涉及可疑外部 IP 地址的流量: ``` ip.addr == 45.131.214.85 ``` 这显示了内部主机 `10.2.28.88` 与外部 IP `45.131.214.85` 之间的通信。 **图 2. 涉及可疑外部 IP 的流量**
过滤后的数据包视图显示了 `10.2.28.88` 与 `45.131.214.85` 之间的通信。
### 发现 3:受感染主机识别 与可疑外部 IP 通信的内部主机被识别为: ``` 10.2.28.88 ``` 基于其与 `45.131.214.85` 的重复通信,该主机被选定为可能的受感染系统。 **图 3. 受感染主机与可疑 IP 的通信**
显示 `10.2.28.88` 与 `45.131.214.85` 之间流量的 Wireshark 过滤器。
### 发现 4:IPv4 会话证据 Wireshark 的 IPv4 Conversations 视图用于确认该流量代表真实的网络会话,而不是孤立的数据包。 导航路径: ``` Statistics → Conversations → IPv4 ``` **图 4. IPv4 Conversations 表**
IPv4 Conversations 视图显示了 `10.2.28.88` 与 `45.131.214.85` 之间的会话,包括数据包和字节数。
### 发现 5:受感染主机的 MAC 地址 通过审查源自 `10.2.28.88` 的流量的数据包详细信息,识别了受感染主机的 MAC 地址。 Ethernet II 详细信息显示受感染主机的 MAC 地址为: ``` 00:19:d1:b2:4d:ad ``` **图 5. 受感染主机的 MAC 地址**
Ethernet II 数据包详细信息显示源 MAC 地址 `00:19:d1:b2:4d:ad` 与受感染主机 `10.2.28.88` 相关联。
### 发现 6:通过 NBNS 识别主机名
审查了 NBNS 流量,以识别受感染 Windows 主机的主机名。
使用的显示过滤器:
```
nbns
```
观察到的主机名为:
```
DESKTOP-TEYQ2NR
```
在 NBNS 中观察到的 `<00>` 后缀代表一个 NetBIOS 名称后缀,已被移除以获取干净的主机名值。
**图 6. 通过 NBNS 发现的主机名**
显示 `DESKTOP-TEYQ2NR<00>` 的 NBNS 流量,将受感染主机识别为 `DESKTOP-TEYQ2NR`。
### 发现 7:通过 Kerberos 识别用户账户
审查了 Kerberos 流量,以识别与受感染系统相关联的用户账户。
在 Kerberos 数据包详细信息中识别出以下用户账户:
```
brolf
```
观察到的 Kerberos realm 为:
```
EASYAS123
```
引用的其他与域相关的流量:
```
easyas123.tech
EASYAS123-DC.easyas123.tech
```
**图 7. 在 Kerberos 流量中识别的用户账户**
显示 `cname-string: brolf` 和 realm `EASYAS123` 的 Kerberos 数据包详细信息。
### 发现 8:域和域控制器证据
Kerberos 服务名称详细信息识别出涉及以下内容的域控制器相关活动:
```
EASYAS123-DC.easyas123.tech
```
观察到的服务名称包括:
```
cifs
```
这表明存在与域控制器相关的、涉及 SMB/文件共享的 Kerberos 活动。
**图 8. Kerberos 域控制器服务请求**
显示涉及 `cifs` 和 `EASYAS123-DC.easyas123.tech` 的服务活动的 Kerberos 数据包详细信息。
### 发现 9:NetSupport Manager C2/RAT 通信
TCP stream 分析揭示了受感染主机与可疑外部 IP 之间明确的 NetSupport Manager 相关通信。
该流显示了对以下地址的重复 HTTP POST 请求:
```
http://45.131.214.85/fakeurl.htm
```
关键指标包括:
```
User-Agent: NetSupport Manager/1.3
Server: NetSupport Gateway/1.92 (Windows NT)
CMD=POLL
CMD=ENCD
Host: 45.131.214.85
```
这些值表明存在与远程访问工具或命令与控制风格行为相一致的 NetSupport Manager / NetSupport Gateway 通信。
**图 9. 显示 NetSupport Manager 流量的 TCP stream**
显示对 `45.131.214.85/fakeurl.htm` 的 HTTP POST 请求、`User-Agent: NetSupport Manager/1.3` 和 `Server: NetSupport Gateway/1.92` 的 TCP stream。
### ## 发现 10:重复的类 Beacon 通信
使用以下方式过滤了受感染主机与可疑外部 IP 之间的流量:
```
ip.addr == 10.2.28.88 and ip.addr == 45.131.214.85
```
Wireshark 显示了受感染主机与 `45.131.214.85` 之间的重复通信,包括对 `/fakeurl.htm` 的周期性 HTTP POST 请求。
IPv4 Conversations 视图还显示了受感染主机与外部 IP 之间的持续会话,支持了这是正在进行的命令与控制风格通信而非单一孤立请求的结论。
**图 10A. IPv4 会话摘要**
Wireshark Conversations 视图显示了受感染主机 `10.2.28.88` 与可疑外部 IP `45.131.214.85` 之间的持续通信,包括数据包数量、字节计数和会话持续时间。
**图 10B. 类 Beacon 的通信模式** 过滤后的数据包视图显示了 `10.2.28.88` 随时间向 `45.131.214.85` 发出的重复 HTTP POST 请求,与类 Beacon 的 NetSupport Manager 通信一致。
## 妥协指标
| IOC 类型 | 值 | 证据 |
| -------------------------- | -------------------------------------- | ----------------------------------------- |
| 受感染主机 IP | `10.2.28.88` | 与可疑外部 IP 的通信 |
| 受感染主机 MAC | `00:19:d1:b2:4d:ad` | Ethernet II 数据包详细信息 |
| 主机名 | `DESKTOP-TEYQ2NR` | NBNS 流量 |
| 用户账户 | `brolf` | Kerberos `cname-string` |
| Kerberos Realm | `EASYAS123` | Kerberos 数据包详细信息 |
| 域/FQDN | `easyas123.tech` | 与域相关的流量 |
| 域控制器 | `EASYAS123-DC.easyas123.tech` | Kerberos 服务活动 |
| 可疑外部 IP | `45.131.214.85` | 与受感染主机的重复通信 |
| HTTP 路径 | `/fakeurl.htm` | TCP 流中的 HTTP POST 请求 |
| User-Agent | `NetSupport Manager/1.3` | TCP 流中的 HTTP 请求头 |
| 服务器响应头 | `NetSupport Gateway/1.92 (Windows NT)` | TCP 流中的 HTTP 响应 |
| 命令字段 | `CMD=POLL` | TCP 流请求正文 |
| 编码的命令/数据字段 | `CMD=ENCD` | TCP 流请求/响应正文 |
## 活动时间线
| 步骤 | 活动 | 证据 |
| ---- | ------------------------------------ | -------------------------------------------------------- |
| 1 | 打开 PCAP 进行分析 | Wireshark 数据包列表 |
| 2 | 识别出可疑的外部 IP | 涉及 `45.131.214.85` 的流量 |
| 3 | 识别出受感染主机 | `10.2.28.88` 正在与可疑 IP 通信 |
| 4 | 识别出 MAC 地址 | 从 Ethernet II 详细信息中获取的 `00:19:d1:b2:4d:ad` |
| 5 | 识别出主机名 | 来自 NBNS 流量的 `DESKTOP-TEYQ2NR` |
| 6 | 识别出用户账户 | 来自 Kerberos 流量的 `brolf` |
| 7 | 识别出域/域控制器信息 | `easyas123.tech`, `EASYAS123-DC.easyas123.tech` |
| 8 | 确认了 NetSupport Manager 流量 | TCP 流 HTTP POST 流量 |
| 9 | 观察到类 Beacon 行为 | 受感染主机与 C2 IP 之间的重复流量模式 |
## 分析总结
受感染主机被识别为 `10.2.28.88`,其 MAC 地址为 `00:19:d1:b2:4d:ad`,主机名为 `DESKTOP-TEYQ2NR`。
Kerberos 流量揭示了 `EASYAS123` realm 中关联的用户账户 `brolf`。其他与域相关的流量引用了 `easyas123.tech` 和 `EASYAS123-DC.easyas123.tech`。
TCP stream 分析显示了发往 `45.131.214.85` 的与 NetSupport Manager 相关的流量,包括对 `/fakeurl.htm` 的重复 HTTP POST 请求、`NetSupport Manager/1.3` 用户代理以及 `NetSupport Gateway/1.92` 服务器响应。
重复的通信模式和 NetSupport 指标表明存在远程访问工具 / 命令与控制风格的活动。
### 防御建议
* 阻断与已知可疑 IP(例如 `45.131.214.85`)的出站通信
* 调查主机 `10.2.28.88` 是否存在 NetSupport Manager 或未经授权的远程访问工具
* 审查端点遥测数据以查找可疑的远程访问软件
* 将疑似受感染的主机从网络中隔离
* 审查用户账户 `brolf` 是否存在可疑活动
* 重置受影响用户账户的凭据
* 审查身份验证日志以排查横向移动或其他受损账户
* 针对可疑的 NetSupport Manager 用户代理和网关流量添加检测规则
* 监控发往未知外部 IP 的重复出站 POST 请求
* 验证环境中是否已授权使用 NetSupport Manager
### 展示的技能
* 恶意软件流量分析
* PCAP 分析
* Wireshark 过滤
* TCP stream 分析
* IOC 识别
* 通过NS 识别主机名
* 通过 Kerberos 识别用户账户
* C2/RAT 流量分析
* Beaconing 模式审查
* DFIR 风格的调查报告撰写
* 时间线制定
* 防御建议编写
### 主要收获
本项目强化了网络流量分析在恶意软件调查中的重要性。通过审查协议数据、会话、主机标识符和 TCP 流,成功识别了受感染的主机、关联的用户账户、可疑的外部通信以及与 NetSupport Manager 相关的 C2 指标。
本项目还演示了数据包级别的证据如何通过生成可操作的 IOC 和妥协时间线来支持事件响应。
### 作者
:floppy_disk: josue6368
网络安全分析师 | IT 专业人员
### 发现 2:可疑的外部通信 应用了过滤器以识别涉及可疑外部 IP 地址的流量: ``` ip.addr == 45.131.214.85 ``` 这显示了内部主机 `10.2.28.88` 与外部 IP `45.131.214.85` 之间的通信。 **图 2. 涉及可疑外部 IP 的流量**
过滤后的数据包视图显示了 `10.2.28.88` 与 `45.131.214.85` 之间的通信。
### 发现 3:受感染主机识别 与可疑外部 IP 通信的内部主机被识别为: ``` 10.2.28.88 ``` 基于其与 `45.131.214.85` 的重复通信,该主机被选定为可能的受感染系统。 **图 3. 受感染主机与可疑 IP 的通信**
显示 `10.2.28.88` 与 `45.131.214.85` 之间流量的 Wireshark 过滤器。
### 发现 4:IPv4 会话证据 Wireshark 的 IPv4 Conversations 视图用于确认该流量代表真实的网络会话,而不是孤立的数据包。 导航路径: ``` Statistics → Conversations → IPv4 ``` **图 4. IPv4 Conversations 表**
IPv4 Conversations 视图显示了 `10.2.28.88` 与 `45.131.214.85` 之间的会话,包括数据包和字节数。
### 发现 5:受感染主机的 MAC 地址 通过审查源自 `10.2.28.88` 的流量的数据包详细信息,识别了受感染主机的 MAC 地址。 Ethernet II 详细信息显示受感染主机的 MAC 地址为: ``` 00:19:d1:b2:4d:ad ``` **图 5. 受感染主机的 MAC 地址**
Ethernet II 数据包详细信息显示源 MAC 地址 `00:19:d1:b2:4d:ad` 与受感染主机 `10.2.28.88` 相关联。
### 发现 6:通过 NBNS 识别主机名
审查了 NBNS 流量,以识别受感染 Windows 主机的主机名。
使用的显示过滤器:
```
nbns
```
观察到的主机名为:
```
DESKTOP-TEYQ2NR
```
在 NBNS 中观察到的 `<00>` 后缀代表一个 NetBIOS 名称后缀,已被移除以获取干净的主机名值。
**图 6. 通过 NBNS 发现的主机名** 显示 `DESKTOP-TEYQ2NR<00>` 的 NBNS 流量,将受感染主机识别为 `DESKTOP-TEYQ2NR`。
### 发现 7:通过 Kerberos 识别用户账户
审查了 Kerberos 流量,以识别与受感染系统相关联的用户账户。
在 Kerberos 数据包详细信息中识别出以下用户账户:
```
brolf
```
观察到的 Kerberos realm 为:
```
EASYAS123
```
引用的其他与域相关的流量:
```
easyas123.tech
EASYAS123-DC.easyas123.tech
```
**图 7. 在 Kerberos 流量中识别的用户账户** 显示 `cname-string: brolf` 和 realm `EASYAS123` 的 Kerberos 数据包详细信息。
### 发现 8:域和域控制器证据
Kerberos 服务名称详细信息识别出涉及以下内容的域控制器相关活动:
```
EASYAS123-DC.easyas123.tech
```
观察到的服务名称包括:
```
cifs
```
这表明存在与域控制器相关的、涉及 SMB/文件共享的 Kerberos 活动。
**图 8. Kerberos 域控制器服务请求** 显示涉及 `cifs` 和 `EASYAS123-DC.easyas123.tech` 的服务活动的 Kerberos 数据包详细信息。
### 发现 9:NetSupport Manager C2/RAT 通信
TCP stream 分析揭示了受感染主机与可疑外部 IP 之间明确的 NetSupport Manager 相关通信。
该流显示了对以下地址的重复 HTTP POST 请求:
```
http://45.131.214.85/fakeurl.htm
```
关键指标包括:
```
User-Agent: NetSupport Manager/1.3
Server: NetSupport Gateway/1.92 (Windows NT)
CMD=POLL
CMD=ENCD
Host: 45.131.214.85
```
这些值表明存在与远程访问工具或命令与控制风格行为相一致的 NetSupport Manager / NetSupport Gateway 通信。
**图 9. 显示 NetSupport Manager 流量的 TCP stream** 显示对 `45.131.214.85/fakeurl.htm` 的 HTTP POST 请求、`User-Agent: NetSupport Manager/1.3` 和 `Server: NetSupport Gateway/1.92` 的 TCP stream。
### ## 发现 10:重复的类 Beacon 通信
使用以下方式过滤了受感染主机与可疑外部 IP 之间的流量:
```
ip.addr == 10.2.28.88 and ip.addr == 45.131.214.85
```
Wireshark 显示了受感染主机与 `45.131.214.85` 之间的重复通信,包括对 `/fakeurl.htm` 的周期性 HTTP POST 请求。
IPv4 Conversations 视图还显示了受感染主机与外部 IP 之间的持续会话,支持了这是正在进行的命令与控制风格通信而非单一孤立请求的结论。
**图 10A. IPv4 会话摘要**
Wireshark Conversations 视图显示了受感染主机 `10.2.28.88` 与可疑外部 IP `45.131.214.85` 之间的持续通信,包括数据包数量、字节计数和会话持续时间。
**图 10B. 类 Beacon 的通信模式** 过滤后的数据包视图显示了 `10.2.28.88` 随时间向 `45.131.214.85` 发出的重复 HTTP POST 请求,与类 Beacon 的 NetSupport Manager 通信一致。
## 妥协指标
| IOC 类型 | 值 | 证据 |
| -------------------------- | -------------------------------------- | ----------------------------------------- |
| 受感染主机 IP | `10.2.28.88` | 与可疑外部 IP 的通信 |
| 受感染主机 MAC | `00:19:d1:b2:4d:ad` | Ethernet II 数据包详细信息 |
| 主机名 | `DESKTOP-TEYQ2NR` | NBNS 流量 |
| 用户账户 | `brolf` | Kerberos `cname-string` |
| Kerberos Realm | `EASYAS123` | Kerberos 数据包详细信息 |
| 域/FQDN | `easyas123.tech` | 与域相关的流量 |
| 域控制器 | `EASYAS123-DC.easyas123.tech` | Kerberos 服务活动 |
| 可疑外部 IP | `45.131.214.85` | 与受感染主机的重复通信 |
| HTTP 路径 | `/fakeurl.htm` | TCP 流中的 HTTP POST 请求 |
| User-Agent | `NetSupport Manager/1.3` | TCP 流中的 HTTP 请求头 |
| 服务器响应头 | `NetSupport Gateway/1.92 (Windows NT)` | TCP 流中的 HTTP 响应 |
| 命令字段 | `CMD=POLL` | TCP 流请求正文 |
| 编码的命令/数据字段 | `CMD=ENCD` | TCP 流请求/响应正文 |
## 活动时间线
| 步骤 | 活动 | 证据 |
| ---- | ------------------------------------ | -------------------------------------------------------- |
| 1 | 打开 PCAP 进行分析 | Wireshark 数据包列表 |
| 2 | 识别出可疑的外部 IP | 涉及 `45.131.214.85` 的流量 |
| 3 | 识别出受感染主机 | `10.2.28.88` 正在与可疑 IP 通信 |
| 4 | 识别出 MAC 地址 | 从 Ethernet II 详细信息中获取的 `00:19:d1:b2:4d:ad` |
| 5 | 识别出主机名 | 来自 NBNS 流量的 `DESKTOP-TEYQ2NR` |
| 6 | 识别出用户账户 | 来自 Kerberos 流量的 `brolf` |
| 7 | 识别出域/域控制器信息 | `easyas123.tech`, `EASYAS123-DC.easyas123.tech` |
| 8 | 确认了 NetSupport Manager 流量 | TCP 流 HTTP POST 流量 |
| 9 | 观察到类 Beacon 行为 | 受感染主机与 C2 IP 之间的重复流量模式 |
## 分析总结
受感染主机被识别为 `10.2.28.88`,其 MAC 地址为 `00:19:d1:b2:4d:ad`,主机名为 `DESKTOP-TEYQ2NR`。
Kerberos 流量揭示了 `EASYAS123` realm 中关联的用户账户 `brolf`。其他与域相关的流量引用了 `easyas123.tech` 和 `EASYAS123-DC.easyas123.tech`。
TCP stream 分析显示了发往 `45.131.214.85` 的与 NetSupport Manager 相关的流量,包括对 `/fakeurl.htm` 的重复 HTTP POST 请求、`NetSupport Manager/1.3` 用户代理以及 `NetSupport Gateway/1.92` 服务器响应。
重复的通信模式和 NetSupport 指标表明存在远程访问工具 / 命令与控制风格的活动。
### 防御建议
* 阻断与已知可疑 IP(例如 `45.131.214.85`)的出站通信
* 调查主机 `10.2.28.88` 是否存在 NetSupport Manager 或未经授权的远程访问工具
* 审查端点遥测数据以查找可疑的远程访问软件
* 将疑似受感染的主机从网络中隔离
* 审查用户账户 `brolf` 是否存在可疑活动
* 重置受影响用户账户的凭据
* 审查身份验证日志以排查横向移动或其他受损账户
* 针对可疑的 NetSupport Manager 用户代理和网关流量添加检测规则
* 监控发往未知外部 IP 的重复出站 POST 请求
* 验证环境中是否已授权使用 NetSupport Manager
### 展示的技能
* 恶意软件流量分析
* PCAP 分析
* Wireshark 过滤
* TCP stream 分析
* IOC 识别
* 通过NS 识别主机名
* 通过 Kerberos 识别用户账户
* C2/RAT 流量分析
* Beaconing 模式审查
* DFIR 风格的调查报告撰写
* 时间线制定
* 防御建议编写
### 主要收获
本项目强化了网络流量分析在恶意软件调查中的重要性。通过审查协议数据、会话、主机标识符和 TCP 流,成功识别了受感染的主机、关联的用户账户、可疑的外部通信以及与 NetSupport Manager 相关的 C2 指标。
本项目还演示了数据包级别的证据如何通过生成可操作的 IOC 和妥协时间线来支持事件响应。
### 作者
:floppy_disk: josue6368 网络安全分析师 | IT 专业人员
标签:C2通信, DAST, DNS分析, HTTP流量, IoC提取, IP 地址批量处理, NetSupport Manager, PCAP分析, TCP流分析, Wireshark, 信标检测, 句柄查看, 命令与控制, 妥协指标, 威胁情报, 安全实验室, 安全调查, 库, 应急响应, 开发者工具, 恶意软件分析, 数字取证, 离线分析, 网络协议分析, 网络安全, 自动化脚本, 隐私保护