目录
- 一、前言
- 二、实验
-
- [1. 实验文件](#1. 实验文件)
- [2. 通用过滤规则(Wireshark 3.x 适用)](#2. 通用过滤规则(Wireshark 3.x 适用))
- [3、无密钥日志 --- 仅查看加密HTTPS流量](#3、无密钥日志 — 仅查看加密HTTPS流量)
- [4、加载密钥日志 --- 配置Wireshark解密HTTPS](#4、加载密钥日志 — 配置Wireshark解密HTTPS)
- [5、解密完成 --- 分析明文HTTPS流量](#5、解密完成 — 分析明文HTTPS流量)
-
- (1)正常合法流量
- [(2)追踪 HTTP 流](#(2)追踪 HTTP 流)
-
- ①恶意文件下载流量
- ②导出HTTP对象(提取木马文件)
- [③文件类型校验 & 计算 SHA256 哈希](#③文件类型校验 & 计算 SHA256 哈希)
- (3)远控C2通信流量
- 三、总结
-
- 1、实操效果
- [2、HTTPS 解密核心原理](#2、HTTPS 解密核心原理)
- 3、流量区分技巧(安全分析常用)
- 4、工具操作速记
一、前言
Wireshark是分析网络流量、追溯恶意行为的核心工具。面对混杂正常业务、系统服务、恶意通信的流量包(PCAP),单纯肉眼查看数据包效率极低,精准的过滤表达式 才是排查威胁的关键。
审查可疑网络时,加密流量十分常见。目前主流网站普遍使用 HTTPS 协议,各类恶意软件也会利用 HTTPS 隐匿恶意行为,因此解析加密流量,对研判威胁、追溯攻击链路尤为重要。HTTPS 实质是承载 HTTP 数据的加密通道,早期依靠 SSL 加密,如今则以 TLS 协议为主。
二、实验
下载链接,解压密码:infected
1. 实验文件
- 抓包文件:
Wireshark-tutorial-on-decrypting-HTTPS-SSL-TLS-traffic.pcap - 密钥日志文件:
Wireshark-tutorial-KeysLogFile.txt(核心解密文件) - 场景:Windows 10 主机感染 Dridex 银行木马,所有外联流量均为 HTTPS 加密
2. 通用过滤规则(Wireshark 3.x 适用)
(http.request or tls.handshake.type eq 1) and !(ssdp)

作用:筛选网页请求 + TLS 客户端握手包,排除局域网 SSDP 广播流量,专注Web相关流量。
3、无密钥日志 --- 仅查看加密HTTPS流量
观测到的域名列表:
config.edge.skype.comself.events.data.microsoft.comfoodsgoodforliver.com(恶意域名)settings-win-ppe.data.microsoft.com105711.com(木马C2域名)
直接用上述过滤规则打开pcap文件,无法看到明文请求内容,仅能获取基础信息:
- 目标IP、443端口(HTTPS默认端口)
- TLS
Client Hello握手包 - SNI 域名(服务端域名)

此时所有HTTP请求、传输数据均被TLS加密,无法判断流量用途。
4、加载密钥日志 --- 配置Wireshark解密HTTPS
原理铺垫 :
HTTPS 基于 TLS/SSL 加密通信,通信双方会协商预主密钥/主密钥 。
密钥日志文件记录了本次抓包对应的会话密钥,Wireshark 导入后即可利用密钥逆向解密加密载荷。
操作步骤 :
Step1 :打开目标 Wireshark-tutorial-on-decrypting-HTTPS-SSL-TLS-traffic.pcap 抓包文件
Step2 :菜单栏依次点击:Edit(编辑) → Preferences(首选项)
Step3 :左侧选择 Protocols(协议) → 下拉找到 TLS

Step4 :找到配置项:(Pre)-Master-Secret log filename(预主密钥日志文件)
Step5 :点击 Browse,选中密钥文件 Wireshark-tutorial-KeysLogFile.txt

Step6 :点击 确定 保存配置,解密立即生效。

5、解密完成 --- 分析明文HTTPS流量
重新使用通用过滤规则,流量会拆分出明文HTTP请求,可清晰区分正常业务流量与恶意流量。
(1)正常合法流量
微软、Skype 官方服务:
config.edge.skype.com:GET配置文件请求self.events.data.microsoft.com/settings-win-ppe.data.microsoft.com:微软埋点、配置同步的POST/GET请求
(2)追踪 HTTP 流
①恶意文件下载流量
- 域名:
foodsgoodforliver.com - 请求方式:
GET /invest_20.dll - 行为:主机主动下载 DLL 动态链接库(木马本体)
如需查看单次请求的完整请求头+响应内容,使用「跟随HTTP流」功能:
Step1:选中任意一条明文HTTP请求包

Step2 :右键 → Follow → HTTP Stream

Step3:窗口内展示完整交互:请求头、响应头、传输二进制数据

②导出HTTP对象(提取木马文件)
Step1 :菜单栏:File → Export Objects → HTTP

Step2 :在弹出的列表中,找到 foodsgoodforliver.com 对应的二进制文件

Step3 :选中文件,点击 保存 / 全部保存 导出到本地。保存名称为invest_20.dll
③文件类型校验 & 计算 SHA256 哈希
打开Powershell终端执行两条命令:
- 识别文件类型或查看详情
bash
PS C:\> (Get-Item invest_20.dll).VersionInfo | Format-List *

- 计算 SHA256 哈希(恶意样本溯源核心)
bash
PS C:\> Get-FileHash -Algorithm SHA256 .\invest_20.dll

样本SHA256哈希值:
31CF42B2A7C5C558F44CFC67684CC344C17D4946D3A1E0B2CECB8EB58173CB2F
用途:将哈希上传至在线沙箱(VT、微步、哈勃等),可查询该样本的病毒属性、家族、行为特征。
(3)远控C2通信流量
- 域名:
105711.com - 请求方式:多次
POST /docs.php - 行为:受害主机向黑客C2服务器上报数据、接收指令,属于典型远控通信
查看有关域名105711.com相关的条目:

针对 105711.com 的 POST /docs.php 请求,同样使用「跟随HTTP流」分析:
- 客户端
Step1:选中客户端响应的条目,右击 → 追踪流 → TCP Stream

Step2:查看流信息

伪装浏览器UA,向C2服务器发送加密二进制数据(主机信息、窃取数据等)
- 服务端:
Step1 :选中服务端响应的条目,右击 → 追踪流 → Http Stream

Step2:查看流信息

返回 502 Bad Gateway,附带 TlsProtocolException 报错,说明本次C2连接失败。
该行为是远控木马典型特征:受害主机主动外联C2服务器进行数据交互。
三、总结
1、实操效果
- 访问
foodsgoodforliver.com的流:服务器返回200 OK,内容类型为application/octet-stream(二进制流),内容为DLL程序。 - 访问
105711.com的流:主机发送加密二进制数据,服务器返回502 Bad Gateway,C2链路异常。
2、HTTPS 解密核心原理
- HTTPS = HTTP + TLS/SSL,应用层数据被TLS加密,抓包默认看不到明文。
- TLS 握手阶段会协商预主密钥/主密钥,所有加密数据均由该密钥加解密。
- 密钥日志文件:记录了本次抓包全过程的会话密钥,是Wireshark解密的唯一依据。
- 硬性限制:抓包时未生成密钥日志 → 后续永远无法解密该份HTTPS抓包。
3、流量区分技巧(安全分析常用)
| 流量类型 | 特征 |
|---|---|
| 正常业务HTTPS | 知名厂商域名、请求路径规范、返回标准业务数据 |
| 木马下载流量 | 陌生恶意域名、GET请求下载 .dll/.exe 等可执行文件 |
| 木马C2流量 | 陌生域名、高频POST请求、传输二进制加密数据 |
4、工具操作速记
- 过滤Web流量:
(http.request or tls.handshake.type eq 1) and !(ssdp) - 导入密钥解密:首选项 → Protocols → TLS/SSL → 加载密钥日志文件
- 查看完整会话:右键包 → Follow → HTTP Stream
- 提取文件:File → Export Objects → HTTP
- 样本校验:先查看类型、SHA256算哈希