A. CTF流量分析之題型深度解析
0x01 介紹
在CTF比賽中,對於流量包的分析取證是一種十分重要的題型。通常這類題目都是會提供一個包含流量數據的pcap文件,參賽選手通過該文件篩選和過濾其中無關的流量信息,根據關鍵流量信息找出flag或者相關線索。
pcap流量包的分析通常都是通過圖形化的網路嗅探器——wireshark進行的,這款嗅探器經過眾多開發者的不斷完善,現在已經成為使用最為廣泛的安全工具之一。在之前的文章中,斗哥已經為大家介紹了 wireshark的基本使用 。接下來,斗哥將為大家介紹目前CTF流量分析中的經典題型和解題思路。
0x02 經典題型
CTF題型主要分為流量包修復、WEB流量包分析、USB流量包分析和其他流量包分析。
■ 流量包修復
比賽過程中有可能會出現通過wireshark打開題目給的流量包後提示包異常的情況,如下圖所示:
解題思路:
通過在線pacp包修復工具進行修復:
http://f00l.de/hacking/pcapfix.php
練練手
第一屆 「網路杯」 信息安全攻防總決賽 線上選拔賽:find the flag
pacp文件地址: https://static2.ichunqiu.com/icq/resources/fileupload/CTF/BSRC/2017/BSRC3-1/findtheflag.cap
■ WEB流量包分析
WEB數據包分析的題目主要出現WEB攻擊行為的分析上, 典型的WEB攻擊行為有:WEB掃描、後台目錄爆破、後台賬號爆破、WEBSHELL上傳、SQL注入等等。
題型:
通過給出的流量包獲取攻擊者使用的WEB掃描工具。
解題思路:
常見的WEB掃描器有Awvs,Netsparker,Appscan,Webinspect,Rsas(綠盟極光),Nessus,WebReaver,Sqlmap等。要識別攻擊者使用的是哪一種掃描器,可通過wireshark篩選掃描器特徵來得知。
相關命令:http contains 「掃描器特徵值」。
常見的掃描器特徵參考: https://www.freebuf.com/column/156291.htm
練練手
安恆八月月賽流量分析:黑客使用的是什麼掃描器?
pacp文件地址:
鏈接: https://pan..com/s/1bGEIPeXDCbhybmWOyGr8Og 提取碼:q6ro
題型:
已知攻擊者通過目錄爆破的手段獲取了網站的後台地址,請通過給出的流量包獲取後台地址。
解題思路:
要獲取流量包中記錄的後台地址,可通過wireshark篩選後台url特徵來得知。
相關命令:http contains 「後台url特徵」。
常見後台url特徵參考: https://www.freebuf.com/column/156291.html
練練手
安恆八月月賽流量分析:黑客掃描到的後台登錄地址是什麼?
pacp文件地址:
鏈接: https://pan..com/s/1bGEIPeXDCbhybmWOyGr8Og 提取碼:q6ro
題型:
已知攻擊者通過暴力破解的手段獲取了網站的後台登陸賬號,請通過給出的流量包獲取正確的賬號信息。
解題思路:
WEB賬號登陸頁面通常採用post方法請求,要獲取流量包中記錄的賬號信息可通過wireshark篩選出POST請求和賬號中的關鍵字如『admin』。
相關命令:http.request.method=="POST" && http contains == "關鍵字"。
練練手
安恆八月月賽流量分析:黑客使用了什麼賬號密碼登錄了web後台?
pacp文件地址:
鏈接: https://pan..com/s/1bGEIPeXDCbhybmWOyGr8Og 提取碼:q6ro
題型:
已知攻擊者上傳了惡意webshell文件,請通過給出的流量包還原出攻擊者上傳的webshll內容。
解題思路:
Webshell文件上傳常採用post方法請求,文件內容常見關鍵字eval,system,assert要。獲取流量包中記錄的webshell可通過wireshark篩選出POST請求和關鍵字.
相關命令:http.request.method=="POST" && http contains == "關鍵字"
練練手
安恆八月月賽流量分析:黑客上傳的webshell文件名是?內容是什麼?
pacp文件地址:
鏈接: https://pan..com/s/1bGEIPeXDCbhybmWOyGr8Og 提取碼:q6ro
■ USB流量包分析
USB流量指的是USB設備介面的流量,攻擊者能夠通過監聽usb介面流量獲取鍵盤敲擊鍵、滑鼠移動與點擊、存儲設備的銘文傳輸通信、USB無線網卡網路傳輸內容等等。在CTF中,USB流量分析主要以鍵盤和滑鼠流量為主。
■ 鍵盤流量
USB協議數據部分在Leftover Capture Data域中,數據長度為八個位元組。其中鍵盤擊鍵信息集中在第三個位元組中。數據如下圖所示:
如上圖所示擊鍵信息為0x05,對應的按鍵為「B「。
具體的鍵位映射關系可參考:《USB鍵盤協議中鍵碼》中的HID Usage ID,鏈接: https://wenku..com/view/9050c3c3af45b307e971971e.html
題型:**
Flag藏於usb流量中,通過USB協議數據中的鍵盤鍵碼轉換成鍵位。
解題思路:
1.使用kali linux中的tshark 命令把cap data提取出來:tshark -r usb.pcap -T fields -e usb.capdata > usbdata.txt,並去除空行。
練練手
安全評測人員在對某銀行卡密碼輸入系統進行滲透測試,截獲了一段通過USB鍵盤輸入6位數字密碼的流量,其中也包含了一些其他無關的USB設備的流量,你能從中恢復出6位數字密碼嗎?最終提交的flag格式為flag。
pacp文件地址:
鏈接: https://pan..com/s/1bGEIPeXDCbhybmWOyGr8Og
提取碼:q6ro
python鍵盤鍵碼轉換腳本:同上
■ 滑鼠流量
USB協議滑鼠數據部分在Leftover Capture Data域中,數據長度為四個位元組。
其中第一個位元組代表按鍵,當取0x00時,代表沒有按鍵、為0x01時,代表按左鍵,為0x02時,代表當前按鍵為右鍵。第二個位元組可以看成是一個signed byte類型,其最高位為符號位,當這個值為正時,代表滑鼠水平右移多少像素,為負時,代表水平左移多少像素。第三個位元組與第二位元組類似,代表垂直上下移動的偏移。數據如下圖所示:
如上圖所示數據信息為0x00002000,表示滑鼠垂直向上移動20。
題型 :
Flag藏於usb流量中,通過USB協議數據中的滑鼠移動軌跡轉換成Flag。
解題思路:
練練手
這是一道滑鼠流量分析題。
pacp文件地址:
鏈接: https://pan..com/s/1bGEIPeXDCbhybmWOyGr8Og 提取碼:q6ro
python滑鼠數據轉換腳本:同上
■ 其他流量包分析
除了常規的WEB和USB流量外,可能還存在諸如SMTP,Telnet等流量,均與WEB流量分析類似,不再贅述。
0x03 總結
以上為斗哥了解的流量分析在CTF比賽中的基本題型,歡迎大家補充。
參考:
《記一道USB流量分析CTF題》, https://blog.csdn.net/qq_36609913/article/details/78578406
CTF Wiki, https://ctf-wiki.github.io/ctf-wiki/introction/resources/
B. linux運維常用命令
| 線上查詢及幫助命令 |
man:全稱為manual,用於查看系統中自帶的各種參考手冊;
help:用於顯示shell內部命令的幫助信息;
| 文件和目錄操作命令 |
ls:全拼list,列出目錄的內容及其內容屬性信息;
cd:全拼change directory,切換當前工作目錄至dirName(目錄參數);
cp:全稱,復制文件或目錄;
find:用於在指定目錄及目錄下查找文件;
mkdir:全拼make directories,創建目錄;
mv:全拼move,移動或重命名文件;
pwd:全拼print working directory,顯示當前工作目錄的絕對路徑;
rename:可用字元串替換的方式批量改變文件名;
rm:全拼remove,刪除一個或多個文件或目錄。必須格外小心地使用該命令;
rmdir:全拼remove empty directories,刪除空目錄;
touch:修改文件或者目錄的時間屬性,包括存取時間和更改時間。若文件不存在,系統會建立一個新的文件;
| 查看文件及內容處理命令 |
cat:全拼concatenate,用於連接多個文件並且列印到屏幕輸出或重定向到指定文件中,可查看文件內容;
tac:cat的反向拼寫,因此命令的功能為反向顯示文件內容。文件內容的最後一行先顯示,第一行最後顯示;
less:可以隨意瀏覽文件,而more僅能向前移動,卻不能向後移動,而且less在查看之前不會載入整個文件;
head:顯示文件的開頭的內容。在默認情況下,head命令顯示文件的頭10行內容;
tail:查看文件尾部內容,有一個常用的參數-f常用於查閱正在改變的文件。可以看到最新的文件內容;
| 文件壓縮及解壓縮命令 |
tar:tar命令是用來建立,還原備份文件的工具程序,它可以加入,解開備份文件內的文件;
unzip:用於解壓縮zip文件;
gzip:用於壓縮文件。gzip是個使用廣泛的壓縮程序,文件經它壓縮過後,其名稱後面會多出".gz"的擴展名;
zip:用來將文件壓縮成為常用的zip格式。