我們前面學了記憶體鑑識和磁碟鑑識,今天要來學網路鑑識。
今天要打的是 DanaBot Lab,分類是 Network Forensics,難度為 easy。
SOC團隊在網路流量中偵測到可疑活動,表示一台機器已被入侵。敏感的公司資訊已被竊取。您的任務是使用網路擷取 (PCAP) 檔案和威脅情報來調查此事件,並確定入侵的發生原因。
Wireshark 左上角 File -> Open 打開 pcap 檔案,應該會看到這樣的畫面,我們就可以開始分析了。
首先篩選 HTTP 流量,由於 HTTP 流量未加密,且惡意網站通常不具備 HTTPS,因為需要額外的成本與技術投入,所以經常透過 HTTP 連線。
在篩選欄打上 http
可以看到我們內網的機器連到外網去 Get 一些檔案:login.php、resources.dll、connecttest.txt,我們想要調查這些檔案的內容,首先要先匯出檔案。
左上角 File -> Export Objects -> HTTP
按 Save All 就會保存檔案了
把 login.php 丟到 VirusTotal 上
發現是惡意軟體。我們可以看到受害主機透過 62.173.142.148 下載 login.php,並且它是第 6 個封包,所以我們可以知道攻擊者是透過 62.173.142.148 獲得初始存取權的。
Ans:62.173.142.148
雖然我們看到檔案的名稱是 login.php,但是 PHP 是一種伺服器端腳本語言,當請求一個 PHP 檔的時候,伺服器會先執行腳本,然後將結果傳送回瀏覽器,所以 login.php 並不是檔案名稱。要確認檔案名稱要:右鍵 login.php 這個封包 -> Follow -> HTTP Stream,透過這個動作我們可以看到瀏覽器發出的 HTTP 請求和伺服器回傳的完整回應。
我們可以看到伺服器的回應顯示它傳了一個名叫 allegato_708.js 的檔案,下面顯示了這它的檔案內容,所以我們匯出的實際上是這個 allegato_708.js。
Ans:allegato_708.js
點進剛剛 VirusTotal 的 detail 頁面就可以看到檔案的 SHA-256 雜湊值。
Ans:847b4ad90b1daba2d9117a8e05776f3f902dda593fb1252289538acf476c4268
要知道這個惡意檔案用甚麼執行,我們要分析他的檔案內容。
看起來是一段經過混淆的 JavaScript,這是惡意軟體常用的反分析技術。我們可以用線上的解混淆網站來解解看
我首先把他丟到 https://deobfuscate.io/,它顯示這段程式碼可能是由 Obfuscator.io 這個網站混淆的
按下 yes 去到 https://obf-io.deobfuscate.io/ 這個解 Obfuscator.io 混淆的網站
我們可以看到他用 WScript 建立一個物件並執行。
Ans:WScript.exe
可以看到這個程式會從網路上下載我們剛剛也有匯出的 resource.dll, 把它丟到 VirusTotal 上可以看到他是個不折不扣的惡意軟體。
Ans:.dll
一樣在 VirusTotal 的 detail 頁面可以看到
Ans:e758e07113016aca55d9eda2b0ffeebe
今天我們學會使用 Wireshark 分析封包的基本技巧,透過 Wireshark 篩選並追蹤 HTTP 通訊,並使用 Export Objects 功能提取惡意檔案,最後分析出兩階段惡意軟體的攻擊鏈。
明天我們將繼續練習網路鑑識。