流量分析题几乎都围绕"某种协议传输了关键信息"。这一章按协议把"看哪、找什么、怎么解"讲透。每节自成一个场景,可跳读。
只要题目不涉及 TLS,多半是 HTTP 明文,内容直接可读。核心动作集中在 04 定位术 讲过的 Follow + Export Objects。
HTTP 题标准流程
http 看全部 HTTP 包(或 http.request 只看请求)。统计 → HTTP → Requests 或 分组统计,看访问了哪些 URL。记录 → 查找 或 Ctrl+F 搜 flag/{。看到大量 TLS 协议,内容默认加密读不到。先判断能不能解:
keylog(SSLKEYLOGFILE) 文件 —— 用它一键解密。key.log 或提示可提取私钥 → Edit → Preferences → Protocols → TLS,在 (Pre)-Master-Secret log filename 填 keylog 文件路径,重开抓包即解密。攻击特征在 请求参数,结果在 响应。先看请求里的典型 payload 特征,再决定怎么还原。
看什么:
'、UNION、SELECT、or 1=1、substr、ascii(、ord(、sleep(、if(。data、flag 列,可能在响应 JSON 里。;、&&、|、`cmd`、$(cmd)、cat /flag 等。page=...、file=...、include=...,常配合 php://filter、data://text/plain 等伪协议。参数里出现 url=/filepath= 并请求到内网地址(127.0.0.1/172.x/10.x),或把数据拼进子域/DNS 带出(见 DNS 外带)。
当抓包里不是 HTTP,而是直接的数据库通讯(比如 MySQL / PostgreSQL / MSSQL / Redis 协议),说明攻击者直连了数据库。此时包内容也常常是明文的。
mysql / pgsql / redis / mssql。SELECT flag FROM flag_table);Response 里可能有结果。utf8/utf8mb4),直接读是乱码,要按该编码解释。ftp;传输文件的命令是 STOR(上传)/RETR(下载);看标题/目录(LIST)。文件内容在后续 TCP 流里。tftp;File → Export Objects → TFTP 直接导出传输的文件。File → Export Objects → HTTP 导出,见 04。file/看魔数判断类型(zip?png?tar?),再解压/看图/分析,可能存在叠加隐写、密码提示。| 协议 | 过滤器 | 凭据位置 |
|---|---|---|
| HTTP Basic 认证 | http | Authorization 头 Basic base64(user:pass),Base64 解出 |
| FTP 登录 | ftp | USER(用户名) 与 PASS(密码) 命令 |
| Telnet | telnet | 数据流里明文账号密码 |
| 邮箱 POP3/IMAP/SMTP | pop3/imap/smtp | 邮件头、登录、正文附件 |
| MySQL 登录 | mysql | Handshake(新版多为 challenge-response,不一定可直读) |
DNS 外带(DNS Exfiltration)是把数据拆成子域带出:攻击者让服务器把 flag 逐字符拼成 x.攻击者域名 的 DNS 查询,Wireshark 的 dns 包能看到查询名。
解题方式:
dns,只看 DNS 查询。66.46.79.…evil.com),把域名前缀按顺序拼起来就是数据。dns.qry.name:tshark -r x.pcap -Y "dns.flags.response==0" -T fields -e dns.qry.nameicmp 包的 data 拼接/解码。flag/{;或用 tshark 提取所有 ASCII。如果流量被封装/加密到没法读(ESP、OpenVPN、WireGuard、SSH tunnel),一般 CTF 里要么给了 key/密钥,要么让你去别处找明文线索。遇到请回 HTTPS 一节 的"解不了怎么办"思路,并到 08 避坑 排查。