目录
- 一、前言
- 二、基础铺垫:网页流量基础过滤规则
-
- 1、原始网页流量过滤表达式
- 2、排除无效流量:剔除SSDP服务数据
- [3、实战样本:Loki Bot 木马流量分析](#3、实战样本:Loki Bot 木马流量分析)
- 三、进阶技巧:创建Wireshark快捷过滤按钮
- 四、场景化过滤:各类恶意流量分析
-
- 1、远控木马(RAT)非网页流量分析
- [2、FTP 明文数据窃密流量分析](#2、FTP 明文数据窃密流量分析)
- 3、垃圾邮件僵尸网络(Spambot)流量分析
-
- [(1)基础组合规则(DNS + SMTP)](#(1)基础组合规则(DNS + SMTP))
- (2)查看SMTP指令(精准分析邮件行为)
- 五、全文规则汇总(可直接复制使用)
-
- [1. 网页流量系列](#1. 网页流量系列)
- [2. FTP 流量专用](#2. FTP 流量专用)
- [3. 邮件僵尸网络专用](#3. 邮件僵尸网络专用)
一、前言
Wireshark是分析网络流量、追溯恶意行为的核心工具。面对混杂正常业务、系统服务、恶意通信的流量包(PCAP),单纯肉眼查看数据包效率极低,精准的过滤表达式 才是排查威胁的关键。
本文基于官方实战教程,结合5个恶意流量PCAP样本,讲解网页流量、远控木马、FTP数据窃密、垃圾邮件僵尸网络四类典型恶意流量的过滤规则、使用场景与实操步骤,同时教大家将常用规则保存为快捷按钮,告别反复输入长表达式。
环境准备:
Wireshark 4.x 版本、配套5组实战PCAP流量包(文中所有规则均兼容Wireshark 3.x/4.x全版本)
全流程文件对应表:
| 操作模块 | 对应PCAP文件 |
|---|---|
| 基础网页过滤 + Loki Bot木马分析 | Wireshark-tutorial-filter-expressions-1-of-5.pcap(文件1) |
| 创建过滤按钮 + IcedID恶意程序分析 | Wireshark-tutorial-filter-expressions-2-of-5.pcap(文件2) |
| 远控木马RAT流量分析 | Wireshark-tutorial-filter-expressions-3-of-5.pcap(文件3) |
| FTP数据窃密流量分析 | Wireshark-tutorial-filter-expressions-4-of-5.pcap(文件4) |
| 垃圾邮件僵尸网络流量分析 | Wireshark-tutorial-filter-expressions-5-of-5.pcap(文件5) |
下载链接,解压密码:infected
二、基础铺垫:网页流量基础过滤规则
1、原始网页流量过滤表达式
日常分析HTTP/HTTPS网页流量,最基础的过滤规则:
bash
http.request or tls.handshake.type eq 1
http.request:抓取所有HTTP请求,可直接查看访问的URL地址;tls.handshake.type eq 1:抓取HTTPS/SSL的Client Hello握手包,解析加密流量中的目标域名。
2、排除无效流量:剔除SSDP服务数据
Windows主机抓包时,UDP 1900端口会产生大量 SSDP(简单服务发现协议) 流量,该协议用于发现即插即用设备,不属于正常网页流量,需要手动剔除。
优化后通用网页过滤规则(推荐长期使用):
bash
(http.request or tls.handshake.type eq 1) and !(ssdp)
💡 备注:
Wireshark 4.x 可省略括号,但保留括号能兼容旧版本,是行业通用写法。
3、实战样本:Loki Bot 木马流量分析
打开第一个流量包 Wireshark-tutorial-filter-expressions-1-of-5.pcap,使用上述过滤规则后,可清晰看到大量未加密HTTP POST请求 ,目标地址:
hxxp://194.55.224.9/liuz/five/fre.php
该IP与URL是2023年8月Threatfox收录的 Loki Bot 远控木马 通信地址。
(1)查看完整通信内容实操
Step1 :选中任意一条去往 194.55.224.9 的数据包;
Step2 :右键 → Follow(追踪);

Step3 :选择 TCP Stream 或 HTTP Stream,即可查看明文C2(命令与控制)流量。

(2)流量解读
-
请求头分析
- 通信协议类型: HTTP/1.0(老旧协议,恶意程序常用)
- 请求:
POST /luiz/five/fre.php,目标为境外IP194.55.224.9,路径属于恶意脚本地址。 - 关键头部:
User-Agent携带Charon; Inferno,是远控木马专属特征;- 以
application/octet-stream二进制流传输数据,附带自定义密钥Content-Key; - 载荷长度 334 字节,使用短连接,符合恶意流量特征。
-
解读载荷(木马回传数据)
- C2域名:
ckav.ru - 本机信息:管理员工作站
station admin、主机名DESKTOP-WIN11PC - 设备指纹:
BD892FF8894FEE6B3ADFF742(硬件唯一ID) - 内置配置:残缺邮箱
r.w.ilkeson@utp5am - 尾部乱码:二进制数据+混淆字符,无有效信息。
- C2域名:
-
威胁分析
- 行为判定:终端存在远控木马,尝试向境外C2服务器上报设备信息,因目标脚本不存在,请求失败。
- 核心恶意特征:老旧协议、木马专属UA、二进制传输、窃取本机信息、外联恶意地址。
-
排查建议
- 利用Wireshark过滤规则,筛查同类流量与持续外联行为;
- 定位本机异常进程,查杀木马;
- 防火墙拦截
194.55.224.9与ckav.ru。
三、进阶技巧:创建Wireshark快捷过滤按钮
1、快捷按钮通用创建步骤
频繁输入长过滤表达式十分繁琐,Wireshark 支持将常用规则保存为**一键按钮*。
Step1:在顶部过滤栏输入目标表达式,验证过滤效果正常;
Step2 :点击过滤栏右侧 + 加号图标,弹出配置面板;
Step3:填写参数:
Label(标签):按钮显示名称(自定义);Filter(过滤规则):自动同步当前过滤栏内容,无需手动修改;Comment(备注):可选,记录规则用途;

Step4:点击"确定",按钮会固定在过滤栏右侧,单击即可快速启用规则。
2、三套递进式通用过滤规则(必存按钮)
结合网页流量、TCP连接、DNS解析三大维度,整理出三组递进式规则,覆盖绝大多数恶意流量场景:
| 按钮名称 | 过滤表达式 | 功能说明 |
|---|---|---|
| basic | (http.request or tls.handshake.type eq 1) and !(ssdp) |
基础版:仅抓取HTTP/HTTPS正常网页流量,剔除SSDP |
| basic+ | (http.request or tls.handshake.type eq 1 or (tcp.flags.syn eq 1 and tcp.flags.ack eq 0)) and !(ssdp) |
进阶版:新增TCP SYN握手包,识别TCP连接尝试、失败连接(木马C2离线特征) |
| basic+dns | (http.request or tls.handshake.type eq 1 or (tcp.flags.syn eq 1 and tcp.flags.ack eq 0) or dns) and !(ssdp) |
全量版:新增DNS解析流量,可溯源域名、DNS隧道、恶意域名请求 |
规则核心解读:
tcp.flags.syn eq 1 and tcp.flags.ack eq 0:仅匹配TCP首次握手SYN包,能发现隐蔽非网页流量、失败的恶意连接;dns:抓取所有域名解析请求,是溯源恶意域名、DNS隧道攻击的核心;- 使用顺序建议:
basic→basic+→basic+dns,由浅入深排查流量。

3、实战样本:IcedID(Bokbot)恶意程序流量
打开第二个流量包 Wireshark-tutorial-filter-expressions-2-of-5.pcap,点击 basic 快捷按钮:
- 明文HTTP流量:
vrondafarih.com - HTTPS加密流量:
magiketchinn.com、magizanqomo.com
以上三个域名均为2023年7月标记的 IcedID 恶意域名,借助基础网页规则即可快速定位恶意通信目标。
四、场景化过滤:各类恶意流量分析
1、远控木马(RAT)非网页流量分析
第三个流量包 Wireshark-tutorial-filter-expressions-3-of-5.pcap:Ave Maria RAT(Warzone RAT)远控木马 流量。
排查步骤 :
Step1 :先使用 basic 基础规则:无明显异常网页流量;

Step2 :切换为 basic+dns 全量规则,滚动数据包:
- 捕获DNS查询:
adaisreal.ddns.net,解析IP:87.121.221.212; - 紧随其后出现 TCP 7888端口 SYN连接,这是该远控木马的专属通信端口。

总结 :
远控木马常使用自定义非标准端口 通信,不会走80/443网页端口,必须依赖 DNS + TCP握手 组合规则溯源。
2、FTP 明文数据窃密流量分析
部分恶意程序会利用FTP协议窃取主机文件、向外传输数据,对应第四个流量包 Wireshark-tutorial-filter-expressions-4-of-5.pcap。
(1)初步定位(使用basic+dns)
Step1 :DNS解析域名:valvulasthermovalve.cl,解析IP:190.107.177.239;

Step2 :出现 TCP 21端口(FTP控制端口) + 随机高位端口(FTP数据端口)流量;

Step3 :前置流量可见 api.ipify.org:恶意程序常用该站点查询本机公网IP。

(2)FTP专属精准过滤规则
Wireshark 内置FTP专属字段,推荐两套规则:
-
单字段过滤(快速区分控制/数据通道)
ftp:抓取FTP控制通道(21端口) 指令、账号密码;ftp-data:抓取FTP数据通道传输的文件内容。
-
综合规则(完整查看FTP交互流程,推荐保存为按钮)
bash
ftp.request.command or (ftp-data and tcp.seq eq 1)

使用上述规则后,可直接看到:
- FTP登录账号、明文密码;
STOR指令:恶意程序向FTP服务器上传本地HTML文件,属于数据外渗行为;- 右键追踪TCP流,可查看完整被盗文件内容。
3、垃圾邮件僵尸网络(Spambot)流量分析
被植入垃圾邮件木马的主机,会沦为"邮件肉鸡",大量向外群发垃圾邮件,对应第五个流量包 Wireshark-tutorial-filter-expressions-5-of-5.pcap。
(1)基础组合规则(DNS + SMTP)
SMTP是邮件传输协议,常用端口:25、465、587,过滤规则:
bash
smtp or dns

短时间内出现大量不同邮件服务器域名的DNS查询 + SMTP连接,是僵尸网络典型特征。
(2)查看SMTP指令(精准分析邮件行为)
规则1:查看所有SMTP交互命令
bash
smtp.req.command

可看到大量 EHLO、STARTTLS 指令:绝大多数垃圾邮件流量会启用TLS加密传输。
规则2:查看未加密邮件正文(溯源邮件内容)
bash
smtp.data.fragment

该规则抓取邮件报文片段,右键追踪TCP流可查看完整垃圾邮件内容。

五、全文规则汇总(可直接复制使用)
1. 网页流量系列
bash
# 基础网页流量(含HTTP/HTTPS,剔除SSDP)
(http.request or tls.handshake.type eq 1) and !(ssdp)
# 网页+TCP握手(排查连接尝试、离线C2)
(http.request or tls.handshake.type eq 1 or (tcp.flags.syn eq 1 and tcp.flags.ack eq 0)) and !(ssdp)
# 全量组合:网页+TCP+DNS(全能排查)
(http.request or tls.handshake.type eq 1 or (tcp.flags.syn eq 1 and tcp.flags.ack eq 0) or dns) and !(ssdp)
2. FTP 流量专用
bash
# FTP控制通道
ftp
# FTP数据通道
ftp-data
# 完整FTP交互流程
ftp.request.command or (ftp-data and tcp.seq eq 1)
3. 邮件僵尸网络专用
bash
# DNS + 邮件协议组合
smtp or dns
# 查看SMTP指令
smtp.req.command
# 查看邮件明文内容
smtp.data.fragment