iT邦幫忙

2026 iThome 鐵人賽

DAY 11
0
Security

CTF 菜鳥修練日誌系列 第 11 篇

Day 11:【Forensics】網路流量側錄 (一):Wireshark 封包抓取與過濾器

  • 分享至 

  • xImage
  •  

前言

在數位鑑識與資安事件應變(Incident Response, IR)中,靜態的圖片與檔案只是事後留下的痕跡;當攻擊正在發生時,網路流量(Network Traffic) 才是最真實的動態現場。攻擊者如何入侵?執行了哪些指令?傳送或竊取了什麼敏感資料?所有的答案都完整紀錄在網路封包(Packets)裡。

今天我們將正式進入網路流量鑑識的領域,介紹資安領域必學的神級工具 Wireshark。我們將學習如何解析 .pcap / .pcapng 封包檔,並掌握靈魂核心——Display Filter(顯示過濾器) 語法,從成千上萬條流量中迅速定位出關鍵資訊。


本日目標

透過概念解析與工具操作,掌握以下網路流量鑑識核心技能:

  1. 理解 PCAP 封包檔結構與 OSI 七層模型在 Wireshark 中的層級呈現。
  2. 熟悉 Wireshark 三大核心介面(封包列表、詳細結構、Hex 二進位檢視)。
  3. 熟練掌握 Wireshark 顯示過濾器(Display Filters)常用語法(IP、Port、Protocol 與邏輯判斷)。
  4. 運用過濾器在海量流量中精準搜尋敏感關鍵字與明文傳輸資料。

預備觀念一:PCAP 封包檔案與 OSI 七層模型

在流量鑑識中,我們最常處理的檔案格式為 .pcap 或 .pcapng(Packet Capture)。當我們使用 Wireshark 開啟封包檔時,中間的「封包詳細資訊面板(Packet Details)」會由上至下完整對應 OSI 七層模型的架構:

  1. Frame (Physical / Data Link Layer):實體層與資料鏈結層資訊(如捕獲時間、封包長度)。
  2. Ethernet II (Data Link Layer):網卡實體位址(來源 MAC 與目的 MAC)。
  3. Internet Protocol Version 4/6 (Network Layer):網路層 IP 位址(來源 IP 與目的 IP)。
  4. Transmission Control Protocol / UDP (Transport Layer):傳輸層通訊埠(來源 Port 與目的 Port、TCP 握手狀態如 SYN/ACK)。
  5. Hypertext Transfer Protocol / Application Data (Application Layer):應用層協定內容(如 HTTP Request/Response、DNS 查詢、FTP 明文傳送內容等)。

常用 Display Filter(顯示過濾器)指令清單

Wireshark 的過濾器分為「抓取過濾器(Capture Filter)」與「顯示過濾器(Display Filter)」。進行數位鑑識時,最關鍵的是顯示過濾器:

過濾需求 常用過濾器語法 (Display Filter) 說明與範例
指定通訊協定 http / dns / tcp / icmp 僅顯示特定的應用層或傳輸層協定封包
指定 IP 位址 ip.addr == 192.168.1.1 篩選來源或目的為該 IP 的所有通訊
指定來源 / 目的 IP ip.src == 10.0.0.1 ip.dst == 10.0.0.2 精準篩選封包發送方或接收方
指定 Port 通訊埠 tcp.port == 80 udp.port == 53 篩選特定服務(如 HTTP 80、DNS 53)
邏輯組合條件 http && ip.src == 192.168.1.5 使用 && (AND)、|| (OR)、! (NOT) 組合條件
搜尋 HTTP 請求 http.request.method == "POST" 專門尋找表單提交或登入認證請求
關鍵字模糊搜尋 frame contains "picoCTF" 全文搜尋封包內容是否包含指定字串

實戰題目預告:PicoCTF - Wireshark doo dooo do doo

  • 題目分類: Forensics
  • 題目主題: Wireshark 流量分析與明文追蹤
  • 題目簡述: 分析給定的 capture.pcapng 封包檔,找出隱藏在網路通訊中的 Flag。

題目概述

在提供的 .pcapng 封包檔中,存在大量的網路傳輸紀錄,目標是從中找出隱藏的敏感資訊(Flag)。


解題步驟

Step 1. 識別背景雜訊與過濾封包

開啟 shark1.pcapng 後,首先觀察到大量的 HTTP POST 請求(埠號 5985):

  • URL Path: /wsman/subscriptions/...
  • Content-Type: multipart/encrypted;protocol="application/HTTP-Kerberos-session-encrypted"

這些流量為 Windows Remote Management (WinRM) 透過 Kerberos Session Key 加密的背景事件轉送(WEF)流量,無法直接透視內容。

為了排除 WinRM 加密雜訊,在 Wireshark 顯示過濾器(Display Filter)輸入:

tcp.port != 5985

Step 2. 鎖定明文 Web 流量

套用過濾器後,成功定位到一組明文 HTTP 通訊(Frame No. 823 - 827):

Client IP: 192.168.38.104

Server IP: 18.222.37.134

HTTP Method: GET / HTTP/1.1

HTTP Response: 200 OK (text/html)
https://ithelp.ithome.com.tw/upload/images/20260925/20184211hv4L9ZhzCZ.png

Step 3. 重組 TCP 連線(Follow TCP Stream)

於 No. 823 封包點擊右鍵:Follow -> TCP Stream(Stream 5),查看伺服器回傳的 HTML 網頁回應內容:

HTTP/1.1 200 OK
Date: Mon, 10 Aug 2020 01:51:45 GMT
Server: Apache/2.4.29 (Ubuntu)
Content-Length: 47
Content-Type: text/html

Gur synt vf npnqrzl{c33xno00_1_f33_h_qrnqorrs}

https://ithelp.ithome.com.tw/upload/images/20260925/20184211xMAA0Kj9BW.png

Step 4. 密碼解密(ROT13 Decoding)

觀察字串格式 Gur synt vf...,判定為凱撒密碼位移 13 位的 ROT13 編碼。

解密對照:

Gur synt vf -> The flag is

npnqrzl -> academy

c33xno00 -> c33kbc00 (peekaboo)

1 -> 1

f33_h -> s33_u (see u)

qrnqorrs -> deadbeef (經典 Hex Magic Value)

最終答案(Flag)
academy{c33kbc00_1_s33_u_deadbeef}

上一篇
Day 10:【Forensics】圖片裡還有圖片?Steganography 隱寫術入門
下一篇
Day 12:【Forensics】網路流量側錄 (二):還原 HTTP 傳輸檔案與 Stream 追蹤
系列文
CTF 菜鳥修練日誌 共 18 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言