今天要打的是 Cyber Defenders 的 Ramnit Lab,這題的分類是 Endpoint Forensics,難度為 easy。
我們的入侵偵測系統已提醒我們工作站上存在可疑行為,表示可能存在惡意軟體入侵。我們已取得此系統的記憶體轉儲 (memory dump) 進行分析。您的任務是分析此轉儲,追蹤惡意軟體的行為,並報告關鍵發現。
我們今天要使用 volatility3 和 exiftool。 我使用的是 Linux 平台,所以有的安裝方式和指令與其他平台 (ex: Windows) 並不相通。
Volatility 是一個開源的記憶體鑑識 (memory forensics) 框架,包含了各種實用的插件,專門用於分析記憶體轉儲,是數位鑑識中不可或缺的工具。 可以直接使用
pip install volatility3
或是
git clone https://github.com/volatilityfoundation/volatility3.git
cd volatility3/
python3 -m venv venv && . venv/bin/activate
pip install -e ".[dev]"
後者可以安裝最新版本,安裝完成後輸入
vol -h
來查看指令參數,若有輸出指令參數就代表安裝成功。
這是 Windows 和 Linux 通用的安裝方法。
ExifTool 是一個強大且用途廣泛的開源軟體,用於讀取、寫入和編輯檔案的元數據 (metadata)。
用以下指令安裝
sudo apt install exiftool
Windows 系統可以直接下載 exiftool.exe 來使用
要辨識可疑進程我們首先使用 pslist 這個插件,它會會列出所有進程,並顯示它們的名稱、啟動時間、 ID 等等,我們可以查看有沒有可疑的進程名稱。
vol -f memory.dmp windows.pslist
-f 指定記憶體轉的檔案路徑
這裡用 pslist 沒有看到可疑的進程名稱。
接下來我們要使用 cmdline 插件,它會列出所有進程執行時帶的完整命令列參數和完整路徑,我們可以用來判斷是否有異常位置的程式執行或是奇怪的參數。
vol -f memory.dmp windows.cmdline
在輸出中我們看到大部分都是合法的 Windows 系統進程,但是這個 ChromeSetup.exe 在使用者下載資料夾下,且不屬於系統進程,非常可疑。
接著我們使用 netstat 插件,netstat 插件會提取網路連線資訊,我們可以透過它來檢查可疑連線。
vol -f memory.dmp windows.netstat
可以看到我們懷疑的 ChromeSetup.exe 發起對外連線,進一步增加他的嫌疑 (svchost, WAASHost 是合法系統進程)
透過 dumpfiles 插件我們可以把我們懷疑的進程轉儲出來,包含它載入的 DLL 等等
vol -f memory.dmp -o dump windows.dumpfiles --pid 4628
-o 指定導出路徑 --pid 指定要導出進程的 PID (process id 可以在 pslist, cmdline 等等的輸出下找到),所以上面這條指令的意思是導出 PID 4628 的進程的轉儲 (ChromeSetup.exe) 到 /dump 資料夾下。
轉儲完成後進入 /dump 目錄,輸入
md5sum file.0xca82b85325a0.0xca82b7e06c80.ImageSectionObject.ChromeSetup.exe.img
計算可疑程式的MD5 hash
複製丟到 VirusTotal
VirusTotal 是一個免費網站,它能讓你分析檔案、URL、網域和 IP 位址,以檢查它們是否含有惡意內容。
圖中可以看到有 68 家防毒軟體判斷其為惡意程式,基本可以確定他就是個惡意程式了。
Ans:ChromeSetup.exe
從剛剛 vol -f memory.dmp windows.cmdline 的輸出中能看到。
Ans:C:\Users\alex\Downloads\ChromeSetup.exe
剛才 vol -f memory.dmp windows.netstat 的輸出中能看到。
Ans:58.64.204.181
用 IP 查詢網站查詢剛剛得到的 IP
Ans:Hong Kong
進入剛剛導出的資料夾,使用 sha1sum 這個指令來計算 SHA1 hash
sha1sum file.0xca82b85325a0.0xca82b7e06c80.ImageSectionObject.ChromeSetup.exe.img
Ans:280c9d36039f9432433893dee6126d72b9112ad2
用 exiftool 查看檔案元數據
exiftool file.0xca82b85325a0.0xca82b7e06c80.ImageSectionObject.ChromeSetup.exe.img
把時間戳轉換成 UTC+0
Ans:2019-12-01 08:36
點進 VirusTotal 的 Relations 介面,VirusTotal 的 Relations 介面能讓你看到你上傳的檔案或網址,與其他惡意檔案、網址和基礎設施之間的關聯。
Ans:dnsnb8.net
今天我們學會了 volatility3 的基本操作和使用它識別惡意程序的基本方法:pslist 程序清單 -> cmdline 命令分析-> netstat 網路驗證,建立了一套基礎的工作流程。
不只 volatility3 的操作,我們還學會了檔案雜湊驗證、IP 地理位置查詢、VirusTotal 威脅情報這些必備技術。
透過這些技術,我們發現了偽裝成 Chrome 安裝程式的惡意軟體,連線至香港 IP,體現了社交工程的攻擊手法。
明天我們將深入記憶體分析技術,繼續追尋惡意軟體的蹤跡。