通過該實驗使用wireshark進行惡意流量分析,主要涉及知識點包括IOC,鍵盤記錄器木馬,ftp協議等。
局域網段範圍:10.0.0.0/24(10.0.0.0 到 10.0.0.255)
域: beguilesoft.com
域控:10.0.0.10 - BeguileSoft-DC
局域網網關:10.0.0.1
局域網廣播地址:10.0.0.255
任務:
分析現有的材料,針對受害的windows主機寫一份應急報告。建議的模板如下:
總結:
在xx時間, 一臺window主機被xx感染
細節:
IP address:
MAC address:
Host name:
Windows user account name:
入侵指標IOC(Indicators of Compromised):
[URLs, domains, IP addresses, and SHA256 hashes related to the infection should appear in this section]
提供了兩個壓縮文件,分別是告警日誌和數據包
解壓後分別如下所示
數據包打開如下所示
涉及到很多協議,現在還沒有頭緒,我們先來看看告警日誌
第一條是到whatismyaddress.com的請求,這不一定是惡意軟件產生的流量
第三條是使用到了ftp STOR,該命令用於存儲文件到服務器上,這裏提示是連接到外部網絡,所以我們推測可能是惡意軟件通過ftp協議將數據傳輸到其外網服務器上
第四條可以看到日誌提示我們這是一個名爲Hawkeye Keylogger的木馬
通過搜索引擎在freebuf上有相關的分析文章:https://www.freebuf.com/column/157857.html
從文章中可以知道會涉及ftp協議,在告警日誌中的第五條也可以看到ftp
所以使用ftp過濾看看,如圖所示
可以看到ftp的第一條
顯示的是proftpd,這我們都知道是一款很常用的ftp服務端軟件,可後面的000webhost.com是什麼?
進入其官網看看
其實就是一家免費的虛擬主機商
這樣子的過濾其實還是有很多噪音,我們使用ftp常用的關鍵字來過濾吧,比如USER,PASS,STOR
過濾命令如下
ftp.request.command eq USER or ftp.request.command eq PASS or ftp.request.command eq STOR
命令中or表示任一條件滿足即可,eq是等於的意思,用於限定命令
過濾後的結果如下所示
這裏有一個比較奇怪的地方,就是外網的地址在變動
這其實是因爲攻擊者用的是免費的虛擬主機,比如000webhost。如果更新頁面或者傳送數據則有可能會導致自動更換ip。
那麼攻擊者究竟拿到了什麼數據呢?我們使用ftp-data看看他通過ftp傳送了什麼
以第一條爲例跟蹤tcp流
可以看到系統信息被獲取到了,包括:
主機名:BREAUX-WIN7-PC
用戶名:Adriana.breaux
MAC地址:84:8f:69:09:86:c0
Ip地址:10.0.0.227
還有谷歌等網站的賬號、密碼都被攻擊者獲取到了
我們注意到還有一部分的流量顯示的是jpeg,推測可能是主機截屏的圖片
選中一條,同樣跟蹤tcp流
從頭部可以看到這其實是一個png的圖片格式文件
選擇:顯示和保存爲原始數據
Save as...
保存後打開如下所示
可以看到確實是桌面截屏
別忘了,我們還要寫應急報告呢!
現在還缺少IOC,所以我們需要整理下,需要整理出目標端口,ip等
在這之前,我們需要先回顧下ftp協議,ftp協議用兩個端口實現,分別是數據端口和命令端口。命令端口用於連接,數據端口用於傳輸數據。
命令端口一般都是21。那麼數據端口呢?
這裏又引入了主動模式(PORT)和被動模式(PASV)的概念。當客戶端通知服務器它處於被動模式時纔會啓用,其標誌就是客戶端給服務端發送了一個PASV.
主動模式:
在第1步中,客戶端的命令端口與FTP服務器的命令端口建立連接,併發送命令“PORT 1027”。然後在第2步中,FTP服務器給客戶端的命令端口返回一個"ACK"。在第3步中,FTP服務器發起一個從它自己的數據端口(20)到客戶端先前指定的數據端口(1027)的連接,最後客戶端在第4步中給服務器端返回一個"ACK"。
被動模式:
在第1步中,客戶端的命令端口與服務器的命令端口建立連接,併發送命令“PASV”。然後在第2步中,服務器返回命令"PORT 2024",告訴客戶端(服務器)用哪個端口偵聽數據連接。在第3步中,客戶端初始化一個從自己的數據端口到服務器端指定的數據端口的數據連接。最後服務器在第4 步中給客戶端的數據端口返回一個"ACK"響應。
簡單地說,就是,在主動模式下一般默認的數據端口爲20,在被動模式下數據端口就不一定了。
接下來我們回到數據包中看看ftp過程中用到了哪些端口。
這裏要注意,在wireshark中要想把完整的ftp協議過濾出來需要使用ftp-data or ftp,只用單個的話只能過濾出ftp命令端口的流量或數據端口的流量,是不完整的
先來看第一個外網ip:145.14.145.4
715條的狀態碼220表示對新用戶的服務已經準備好
716,719可以看到受害者機器通過用戶名密碼連入ftp服務端
一直到734條可以看到受害者機器向145.14.145.4發出PASV,前面提到,發出PASV,就說明後面的數據傳輸過程中服務端使用的端口就不是20了。
在715到744之間都是命令端口通信的流量。
所以此時的IOC是
Ip:145.14.145.4 port:21 url:000.webhost.com
745開始是通過被動模式連接後進行數據傳輸了
以755爲例,查看dst port爲37280,即此時145.14.145.4使用的數據端口是37280
所以第二條IOC爲
Ip:145.14.145.4 port:37280 url:000webhost.com
第一個外網地址分析完了,接下來看第二個,145.14.144.10
從839開始
看到858又是PASV,有了上次的基礎,這次兩條IOC就很簡單地得出了:
命令端口的通信流量Ip:145.14.144.10 port:21 000webhost.com
數據端口的通信流量以867爲例
得到IOC:
Ip:145.14.144.10 port:40651 url:000webhost.com
從887開始又一次建立數據傳輸,端口47434
所以IOC爲:
Ip:145.14.144.10 port:47434 url:000webhost.com
然後看第三個外網ip 145.14.145.99,從5260開始
同理可得兩條IOC:
Ip:145.14.145.99 port:21 url:000webhost.com
Ip:145.14.145.99 port:36091 url:000webhost.com
5309開始又建立了一次數據傳輸
此時端口成了35396,所以IOC:
Ip:145.14.145.99 port:35396 url:000webhost.com
把紅色字體的信息整理起來就得到應急報告了:
總結:
在2019年5月2日21點36分,Adriana.breaux的windows主機被Hawkeye Keylogger惡意軟件感染
細節:
主機名:BREAUX-WIN7-PC
用戶名:Adriana.breaux
MAC地址:84:8f:69:09:86:c0
Ip地址:10.0.0.227
IOC:
Ip:145.14.145.4 port:21 url:000.webhost.com
Ip:145.14.145.4 port:37280 url:000webhost.com
Ip:145.14.144.10 port:21 url:000webhost.com
Ip:145.14.144.10 port:40651 url:000webhost.com
Ip:145.14.144.10 port:47434 url:000webhost.com
Ip:145.14.145.99 port:21 url:000webhost.com
Ip:145.14.145.99 port:36091 url:000webhost.com
Ip:145.14.145.99 port:35396 url:000webhost.com。