一文教你怎么搞定流量包(一)
前言
總結了上一年的內容,整理資料的時候有個去年比較特殊的一場CTF,剛剛好一個流量包,很有意思的一個題目,拿出來跟大家分享一下,大佬請繞過,師傅們請多多關照,煩請留個贊或者評論 ,流量包的下載地址留下了,有興趣的可以分析一下。
正文
題目
附件下載地址
鏈接:https://cowtransfer.com/s/470f4541a5474b
題目問題
失陷主機一共開放哪幾個端口 攻擊者登錄成功所使用的賬號密碼是? 成功上傳的后門文件名為? 攻擊者通過某個頁面讀取了/etc/下的文件?給出頁面的相對路徑,例如:/cat/file/cat_file.php 后門文件上傳的絕對路徑是?例如/var/share/webshell.php 攻擊者在獲取shell后執行的第一個命令的回顯內容是?
分析
使用wireshark分析流量包,可以確定使用的協議不是很多,簡單分析一下,發現使用的有arp協議探測存活主機,

當然,發現有回應的ip地址不止這一個,應該有四個,但是其它ip地址根據語法搜索。
arp and ip.dst==192.168.222.2

根據題目分析其它協議,那么利用webshell或者說是登錄都需要涉及到http協議。

那么源地址和目的地址都比較清晰了。
192.168.222.200 192.168.222.240
nmap做掃描時涉及的掃描協議有哪些,有基于ping的,基于SYN的,也就是基于icmp或者是基于tcp協議的。

所以這里需要修改一下搜索語法:
tcp and ip.dst eq 192.168.222.240
選擇tcp協議,且目的ip為目標主機的所有流量包,直接點擊查看dst_port。

插曲拓展
那么基于tcp的SYN掃描,正常情況下的流量包是什么形式呢?
TCP三次握手:

這里直接拿流量包中的3306端口作為演示,這里我直接追蹤了tcp流。

由于3306端口未開放,所以并沒有完成完整的三次握手。
正常情況下開放端口以22端口為例:

完成了一個正常的三次握手的步驟。
第一個問題解決,開放端口情況
21,22,80 ,8011

其實還有另外的查詢方式也是比較簡單的,我們可以根據length去排列,或者根據Info去排列比較簡單的就可以根據流量報找到開放端口。

要解決第二個問題,用戶名登錄的絕對路徑,涉及的協議就要考慮到涉及的web服務,那么自然涉及到http協議。
當然,登錄的時候很自然的想到兩種http請求的方法,自然大多數都是GET和POST,語法搜索之后沒看到數據值,采用POST的方法去搜索自然在請求包中可以看到用戶名以及密碼的哈希值。

第四個問題解決,通過某個頁面讀取只有兩種方式,利用任意文件讀取GET,或者利用文件內容讀取POST方式。
ip.src eq 192.168.222.200 and http.request.method == "POST"

ip.src eq 192.168.222.200 and http.request.method == "GET"

要解決后面的第五個和第六個問題也并不難,文件上傳路徑可以確定之后,追蹤流,就可直接解決。


結語
有問題或有不當的地方,歡迎各位師傅交流。