PCAP 分析是应急响应中还原攻击通信链路的核心手段,它能提供日志和终端取证无法覆盖的完整网络通信数据,是定位 C2 服务器、识别数据泄露、还原攻击行为的关键证据。
一、PCAP 分析的核心价值
日志和终端取证只能提供 “事件记录”,而 PCAP 文件能还原完整的通信过程:
- 捕获攻击通信的五元组(源 / 目的 IP、端口、协议),定位攻击源和 C2 服务器
- 提取应用层 payload,识别 SQL 注入、WebShell 通信、数据外发的具体内容
- 还原加密通信的行为特征(如固定间隔心跳、异常流量模式),检测无日志记录的 C2 通信
- 验证攻击的时间线,确认攻击的开始、扩散、结束节点,为合规上报提供完整证据链
二、PCAP 分析全流程(直接套用)
阶段 1:采集与准备(取证优先)
1. 采集工具与方式
表格
| 工具 | 适用场景 | 常用命令 |
|---|---|---|
tcpdump | 服务器 / 网络设备命令行采集 | tcpdump -i eth0 host 192.168.1.100 -w attack.pcap |
| Wireshark | 图形化采集与分析 | 选择网卡,设置过滤规则后捕获 |
tshark | 批量采集与自动化分析 | tshark -i eth0 -w attack.pcap |
2. 采集关键要点
- 时间窗口:覆盖告警前后至少 1 小时,包含攻击前的初始访问行为
- 采集范围:告警主机所在网段的流量,重点关注与外部陌生 IP 的通信
- 证据完整性:采集完成后立即对 PCAP 文件做哈希校验(
md5sum attack.pcap),记录哈希值,防止文件被篡改
阶段 2:清洗与过滤(告别 “大海捞针”)
PCAP 文件通常包含大量无效流量,先过滤再分析,聚焦攻击行为:
常用过滤表达式(Wireshark Display Filter)
表格
| 过滤目标 | 表达式 | ||
|---|---|---|---|
| 告警主机相关流量 | ip.addr == 192.168.1.100 | ||
| 特定端口通信(如 C2 / 数据库) | `tcp.port == 443 | tcp.port == 3306` | |
| HTTP/HTTPS 请求 | http.request / tls.handshake.type == 1 | ||
| DNS 查询(C2 域名解析) | dns.qry.name contains "malicious" | ||
| 异常大文件传输(数据外发) | frame.len > 100000 |
关键过滤技巧
- 先过滤告警主机的通信,再按协议(TCP/UDP/HTTP)细分
- 排除白名单流量:运维 IP、合作方 IP、云厂商管理 IP 的通信
- 按时间排序,找到告警前后的异常流量峰值
阶段 3:关联分析与链路还原(核心步骤)
1. 五元组关联
通过源IP/目的IP/源端口/目的端口/协议,还原同一通信的完整链路:
- 示例:某主机 192.168.1.100 与 1.2.3.4:443 持续通信,且通信间隔固定(如每 30 秒一次),高度可疑为 C2 心跳。
2. 应用层数据提取
- HTTP/HTTPS:提取请求方法(GET/POST)、URL、User-Agent、请求体,识别 WebShell 通信、数据外发
- DNS:提取查询域名、响应结果,识别 DNS 隧道、C2 域名解析
- 数据库协议(MySQL/MSSQL):查看 SQL 语句,识别数据查询、篡改、删除行为
3. 与其他证据交叉验证
- 与终端日志 / 内存取证结合:确认通信的发起进程(如 PowerShell/rundll32.exe)
- 与告警日志结合:验证告警标记的攻击行为是否真实存在(如日志标记的 SQL 注入,PCAP 中是否存在对应 payload)
阶段 4:典型场景分析要点
场景 1:C2 通信检测
- 特征:与陌生 IP / 域名的固定间隔心跳、通信内容加密、端口不固定(如 443/8080)
- 分析:查看通信间隔、目的 IP 归属地,提取心跳包 payload(即使加密,也能通过行为特征识别)
场景 2:数据泄露事件
- 特征:主机向外部 IP 发送大量 POST 请求、传输大文件(如 CSV / 数据库备份)
- 分析:提取 HTTP POST 请求体、TCP 流数据,查看传输的文件内容、大小
场景 3:SQL 注入攻击
- 特征:HTTP 请求中包含 SQL 语句(如
' OR 1=1 --、UNION SELECT) - 分析:查看 URL 参数、POST 请求体,提取注入 payload,确认攻击是否成功
场景 4:弱口令爆破
- 特征:同一 IP 向主机的 3389/22 端口发起大量 TCP 连接请求
- 分析:查看 TCP 握手记录,确认是否存在多次失败连接后成功的行为
三、企业落地避坑指南
- 误区 1:直接分析全量 PCAP,不做过滤:无效流量淹没关键攻击数据,导致分析效率极低
- 误区 2:只看告警标记的流量,不看上下文:攻击者可能通过备用 IP 通信,只看告警 IP 会漏掉完整链路
- 误区 3:不做哈希校验,PCAP 文件被篡改:证据失效,无法用于合规上报和复盘
- 误区 4:忽略加密流量:即使是 HTTPS 流量,也能通过通信模式、目的 IP 识别 C2 行为,不要直接跳过
- 误区 5:不与其他证据交叉验证:PCAP 中的通信行为,需要结合终端进程日志、内存镜像确认是否为恶意
落地 Checklist(可直接对照)
- PCAP 文件已做哈希校验,记录了完整采集信息
- 已过滤白名单流量,聚焦告警主机的通信
- 已提取五元组、应用层数据,还原了攻击通信链路
- 已与终端日志 / 内存取证交叉验证,确认攻击行为
- 已评估影响范围,明确攻击源、C2 服务器、数据泄露情况
💡 小提示:企业可在关键网段部署流量采集设备(如 IDS / 流量镜像),持续留存 PCAP 数据,攻击发生时能快速获取完整通信记录,避免应急时临时采集导致证据缺失。
No responses yet