是一款網路封包分析工具,經常被用來解析流量檔案,找出隱藏在封包中的關鍵訊息。例如明文傳輸的敏感資訊、圖像或檔案的重組,或是封包中的隱藏訊息。CTF 題目經常會提供網路封包檔案(PCAP),透過 Wireshark 分析封包,找出隱藏的訊息或解題的線索。
解析明文通訊
題目中經常涉及網路通訊協定,如 HTTP、FTP、TELNET 等未加密的協定。在這些協定下,使用者的登入憑證、密碼等資料常常會以明文的形式出現。可以透過 Wireshark 過濾出所有 HTTP POST 請求,檢視表單提交過程中的數據內容。通常這些未加密的提交表單中會包含使用者名稱和密碼。Wireshark 的封包內容檢視功能可以清楚地看到每一個封包的詳細數據。
檔案與圖片提取
題目常常會隱藏檔案或圖片在封包中,我們需要從網路流量中將這些資料提取出來。Wireshark 提供的「導出物件」(Export Objects)功能,能夠將透過 HTTP、FTP 等協定傳輸的檔案重組並下載,接著使用圖像處理工具進一步分析圖片,解密圖像內的資訊。
今天的 Lab 將會使用到這兩個功能,那我們開始吧!
Lab_1 - Packets Primer
將題目給的 .pcap 檔下載並使用 Wireshark 打開後,裡面只有幾條流量。一一打開來檢查,其中一條直接顯示出 flag。
Lab_2 - Trivial Flag Transfer Protocol
題目名稱暗示我們 protocol,剛好有一個協定 Trivial File Transfer Protocol 縮寫跟題目一樣都是 TFTP
。
TFTP(Trivial File Transfer Protocol,簡單檔案傳輸協定)一種非常輕量且簡單的檔案傳輸協定,提供簡單的檔案傳輸功能,並且比 FTP 更加輕量化。沒有用戶驗證及加密等安全功能。
使用 UDP 協定(預設使用 UDP 69 port),因此缺乏傳輸的可靠性,例如錯誤重傳和流量控制。
因此可以從 Wireshark 的 filter 上篩出 69 port 的封包資訊。在 filter 輸入框上輸入 udp.port == 69
,編號中的流量可以看到有多個檔案。
將 TFTP 的所有檔案匯出
在檔案 instructions.txt 發現這串文字,先試試 rot13 解碼回去看看 GSGCQBRFAGRAPELCGBHEGENSSVPFBJRZHFGQVFTHVFRBHESYNTGENAFSRE.SVTHERBHGNJNLGBUVQRGURSYNTNAQVJVYYPURPXONPXSBEGURCYNA
出來這段TFTP DOESNT ENCRYPT OUR TRAFFIC SO WE MUST DISGUISE OUR FLAG TRANSFER. FIGURE OUT A WAY TO HIDE THE FLAG AND I WILL CHECK BACK FOR THE PLAN.
plan 這個檔案裡面的文字一樣放進 rot13 解碼後,得到,看來圖片裡面隱藏著我們的答案, I USED THE PROGRAM AND HID IT WITH — DUEDILIGENCE . CHECK OUT THE PHOTOS
使用 steghide 這個工具來提取隱藏在圖片的資訊,在 terminal 輸入steghide extract -sf picture3.bmp
,出現要我們 Enter passphrase:
。試試上一個拿到的提示 DUEDILIGENCE。
steghide
指令使用方法參考 這邊
將 flag.txt 打開就出現 flag 了
今天的練習就到這邊,以下是參考資料,請搭配服用:
steghide
How To Use Steghide
TFTP
TFTP wiki
內文如有錯誤,還請不吝指教~