【网安-研判-WireShark流量分析】HTTPS流量解密

目录

一、前言

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流量

观测到的域名列表:

  1. config.edge.skype.com
  2. self.events.data.microsoft.com
  3. foodsgoodforliver.com(恶意域名)
  4. settings-win-ppe.data.microsoft.com
  5. 105711.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.comGET 配置文件请求
  • 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 :右键 → FollowHTTP Stream

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

②导出HTTP对象(提取木马文件)

Step1 :菜单栏:File → Export Objects → HTTP

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

Step3 :选中文件,点击 保存 / 全部保存 导出到本地。保存名称为invest_20.dll

③文件类型校验 & 计算 SHA256 哈希

打开Powershell终端执行两条命令:

  1. 识别文件类型或查看详情
bash 复制代码
PS C:\> (Get-Item invest_20.dll).VersionInfo | Format-List *
  1. 计算 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.comPOST /docs.php 请求,同样使用「跟随HTTP流」分析:

  1. 客户端

Step1:选中客户端响应的条目,右击 → 追踪流 → TCP Stream

Step2:查看流信息

伪装浏览器UA,向C2服务器发送加密二进制数据(主机信息、窃取数据等)

  1. 服务端:

Step1 :选中服务端响应的条目,右击 → 追踪流 → Http Stream

Step2:查看流信息

返回 502 Bad Gateway,附带 TlsProtocolException 报错,说明本次C2连接失败。

该行为是远控木马典型特征:受害主机主动外联C2服务器进行数据交互

三、总结

1、实操效果

  1. 访问 foodsgoodforliver.com 的流:服务器返回 200 OK,内容类型为 application/octet-stream(二进制流),内容为DLL程序。
  2. 访问 105711.com 的流:主机发送加密二进制数据,服务器返回 502 Bad Gateway,C2链路异常。

2、HTTPS 解密核心原理

  • HTTPS = HTTP + TLS/SSL,应用层数据被TLS加密,抓包默认看不到明文。
  • TLS 握手阶段会协商预主密钥/主密钥,所有加密数据均由该密钥加解密。
  • 密钥日志文件:记录了本次抓包全过程的会话密钥,是Wireshark解密的唯一依据。
  • 硬性限制:抓包时未生成密钥日志 → 后续永远无法解密该份HTTPS抓包

3、流量区分技巧(安全分析常用)

流量类型 特征
正常业务HTTPS 知名厂商域名、请求路径规范、返回标准业务数据
木马下载流量 陌生恶意域名、GET请求下载 .dll/.exe 等可执行文件
木马C2流量 陌生域名、高频POST请求、传输二进制加密数据

4、工具操作速记

  1. 过滤Web流量:(http.request or tls.handshake.type eq 1) and !(ssdp)
  2. 导入密钥解密:首选项 → Protocols → TLS/SSL → 加载密钥日志文件
  3. 查看完整会话:右键包 → Follow → HTTP Stream
  4. 提取文件:File → Export Objects → HTTP
  5. 样本校验:先查看类型、SHA256算哈希
相关推荐
HelloWorld工程师1 小时前
网站开启HTTPS:2步解决Chrome“不安全”提示
chrome·网络协议·https·ssl
川石课堂软件测试1 小时前
UI自动化测试|CSS元素定位实践
css·测试工具·ui·fiddler·单元测试·appium·harmonyos
宇砾3 小时前
HTTPS的工作流程
网络协议·http·https
o0麦嘎15 小时前
内网ip配置https
网络协议·tcp/ip·https
源图客16 小时前
Minio配置HTTPS服务
服务器·网络协议·https
可可南木20 小时前
3070文件格式--21--fixture文件 3
功能测试·测试工具
bkspiderx21 小时前
Boa Web服务器HTTPS支持的源码改造方案
服务器·前端·https·web服务器·boa·https支持
taocarts_bidfans21 小时前
外贸站点HTTPS全站加固与混合内容报错彻底修复方案
https·独立站·外贸独立站·taoify
一只小白0001 天前
【JVM | 第五篇】—— 深入理解垃圾回收
jvm·测试工具