CTF-流量分析總結(更新中)

原文地址:https://jwt1399.top/2019/07/29/ctf-liu-liang-fen-xi-zong-jie/

前言

在CTF比賽中,對於流量包的分析取證是一種十分重要的題型。通常這類題目都是會提供一個包含流量數據的pcap文件,選手通過該文件篩選和過濾其中無關的流量信息,根據關鍵流量信息找出flag或者相關線索,一般flag隱藏在某個數據包裏面,或者需要從中提取一個文件出來等等,還有wifi的握手包,需要獲取wifi密碼等。

Wireshark的使用

下載地址:https://www.wireshark.org/download.html
pcap流量包的分析通常是通過圖形化的網絡嗅探器——Wireshark進行的.
Wireshark的基本使用分爲數據包篩選、數據包搜索、數據包還原、數據提取四個部分。

數據包篩選

篩選ip

源ip篩選

ip.src == ip地址

或者手動操作:
點擊任意一個符合篩選條件的數據包,找到IPv4下的Source字段。



右鍵點擊Source字段,作爲過濾器應用 – 選中。


目的ip篩選

ip.dst == ip地址

或者手動操作:
點擊任意一個符合篩選條件的數據包,找到IPv4下的Destination字段,右鍵點擊Source字段,作爲過濾器應用 – 選中。


mac地址篩選

   eth.dst ==A0:00:00:04:C5:84 篩選目標mac地址

   eth.addr==A0:00:00:04:C5:84 篩選MAC地址

端口篩選

   tcp.dstport == 80  篩選tcp協議的目標端口爲80的流量包

   tcp.srcport == 80  篩選tcp協議的源端口爲80的流量包

   udp.srcport == 80  篩選udp協議的源端口爲80的流量包

協議篩選

   tcp  篩選協議爲tcp的流量包

   udp 篩選協議爲udp的流量包

   arp/icmp/http/ftp/dns/ip  篩選協議爲arp/icmp/http/ftp/dns/ip的流量包

包長度篩選

    udp.length ==20   篩選長度爲20的udp流量包

    tcp.len >=20  篩選長度大於20的tcp流量包

    ip.len ==20  篩選長度爲20的IP流量包

    frame.len ==20 篩選長度爲20的整個流量包

http請求篩選

請求方法爲GET:http.request.method==“GET”        篩選HTTP請求方法爲GET的 流量包

請求方法爲POST:http.request.method==“POST”      篩選HTTP請求方法爲POST的流量包

指定URI:http.request.uri==“/img/logo-edu.gif”  篩選HTTP請求的URL爲/img/logo-edu.gif的流量包

請求或相應中包含特定內容:http contains “FLAG”    篩選HTTP內容爲/FLAG的流量包

數據包搜索

在wireshark界面按“Ctrl+F”,可以進行關鍵字搜索:



Wireshark的搜索功能支持正則表達式、字符串、十六進制等方式進行搜索,通常情況下直接使用字符串方式進行搜索。



搜索欄的左邊下拉,有分組列表、分組詳情、分組字節流三個選項,分別對應wireshark界面的三個部分,搜索時選擇不同的選項以指定搜索區域:

數據包還原

在wireshark中,存在一個追蹤流的功能,可以將HTTP或TCP流量集合在一起並還原成原始數據,具體操作方式如下:

選中想要還原的流量包,右鍵選中,選擇追蹤流 – TCP流/UPD流/SSL流/HTTP流。
[圖片上傳失敗...(image-39c4d0-1564917249762)]
可在彈出的窗口中看到被還原的流量信息:


數據提取

Wireshark支持提取通過http傳輸(上傳/下載)的文件內容,方法如下:
自動提取通過http傳輸的文件內容
文件->導出對象->HTTP


在打開的對象列表中找到有價值的文件,如壓縮文件、文本文件、音頻文件、圖片等,點擊Save進行保存,或者Save All保存所有對象再進入文件夾進行分析。
[圖片上傳失敗...(image-6580c-1564917249762)]
手動提取通過http傳輸的文件內容
選中http文件傳輸流量包,在分組詳情中找到data,Line-based text, JPEG File Interchange Format, data:text/html層,鼠標右鍵點擊 – 選中 導出分組字節流。

如果是菜刀下載文件的流量,需要刪除分組字節流前開頭和結尾的X@Y字符,否則下載的文件會出錯。鼠標右鍵點擊 – 選中 顯示分組字節

在彈出的窗口中設置開始和結束的字節(原字節數開頭加3,結尾減3)
[圖片上傳失敗...(image-826b60-1564917249762)]
最後點擊Save as按鈕導出。

流量分析經典題型

CTF題型主要分爲流量包修復、數據提取、WEB流量包分析、USB流量包分析、無線密碼破解和工控流量包分析等等。

入門題型

題目:Cephalopod(圖片提取)

題目來源:XCTF 3rd-HITB CTF-2017
考點:圖片提取
題目信息:(Cephalopod.pcapng)



數據包打開,分組字節流查詢flag,發現出現了flag.png的字樣,但是並沒有這個圖片文件,往下翻,圖片應該在長度較大的流中,追蹤tcp流在tcp.stream eq 2處找到圖片文件,保存爲原始數據



刪除PNG前面多餘部分,保存爲1.png

得到flag

題目:特殊後門(icmp協議信息傳輸)

題目來源:第七屆山東省大學生網絡安全技能大賽
考點:字符串搜索,icmp協議信息傳輸
題目信息:(backdoor++.pcapng)


搜索flag字符串,在icmp中得到提示flagishere

之後的每一個icmp包都有含一個flag字符
[圖片上傳失敗...(image-2af0fa-1564917249762)]



依次查看所有icmp包拼湊字符得到flag
flag{Icmp_backdoor_can_transfer-some_infomation}

題目:手機熱點(藍牙傳輸協議obex,數據提取)

題目來源:第七季極客大挑戰
考點:藍牙傳輸協議obex,數據提取
題目信息:(Blatand_1.pcapng)


根據題目提示,手機共享,那麼應該是藍牙傳輸,藍牙傳輸協議爲OBEX,過濾後發現含有一個壓縮包

方法一:foremost分離後得到壓縮包,解壓得到flag.gif
[圖片上傳失敗...(image-884296-1564917249762)]
方法二:選中含secret.rar包,進行如下操作

保存爲1.rar,解壓後得到flag.gif

題目:想蹭網先解開密碼(無線密碼破解)

題目來源:bugku
考點:無線密碼破解
題目信息:(wifi.cap)



下載cap包,WIFI連接認證的重點在WPA的四次握手包,也就是eapol協議的包,過濾一下



果然存在四次握手包,直接進行無線密碼爆破
創建密碼字典:
crunch 11 11 -t 1391040%%%% >> wifipass.txt


Linux下的字典生成工具Crunch
利用aircrack-ng 進行爆破

aircrack-ng -w wifipass.txt wifi.cap


得到flag
flag{13910407686}

進階題型

題目:抓到一隻蒼蠅(數據包篩選,數據提取)

題目來源:bugku
考點:數據包篩選,數據提取
題目信息:(misc_fly.pcapng)



首先打開數據包,題目提示了抓到一隻蒼蠅,試一試搜索蒼蠅

http contains "蒼蠅"

發現一些可疑信息,仔細分析一下發現是在發qq郵件,並且還上傳了文件



既然上傳了文件,我們再過濾POST請求試試:

http.request.method==POST

可以看到13號數據包調用函數CreateFile,然後下面幾個可能就是文件內容了,具體是幾個,仔細看看URL,738號數據包有個需要調用函數CheckFile,並且前面的5個數據包url的路徑一樣,
所以從第一個開始,後5個數據包是flag.rar內容


我們將分組字節流中的原始數據分別保存爲1、2、3、4、5,方便操作


但是由於TCP包有文件頭,我們需要去掉文件頭才能將原始數據合成一個文件,
從第一個數據包可以看出來:

文件大小是525701字節,我們需要的這5個數據包的大小(Media Type中可看到):

131436*4+1777=527521

527521-525701=1820
1820/5=364

tcp包的文件頭就爲364

然後使用linux的一些工具進行操作即可得到flag.rar
依次把五個文件去掉文件頭保存到另一文件
這裏使用dd:

dd if=1 bs=1 skip=364 of=1.1

dd命令語法:
if 輸入文件名
bs 設置每次讀寫塊的大小爲1字節 
skip 指定從輸入文件開頭跳過多少個塊後再開始複製
of 輸出文件名

然後再用linux的輸入流來合併成一個文件:

cat 1.1 2.1 3.1 4.1 5.1 > fly.rar
或者
copy /B 1.1+2.1+3.1+4.1+5.1 fly.rar

然後fly.rar又被僞加密了,所以需要將這個文件用HXD打開後,將其中的74 84改爲74 80就能打開了



解壓得到flag.txt,用HXD打開,顯示在win32下運行,



因此改爲exe可執行文件後,一堆蒼蠅出現了。。。。
binwalk一下發現含有很多圖片,foremost提取一下,得到一個二維碼

掃碼得到flag


參考:
CTF流量分析之wireshark使用
CTF流量分析之題型深度解析
CTF| 吃個雞,一起破流量分析題吧!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章