今天要打的是 Silent Breach Lab,難度為 medium,分類是 Endpoint Forensics。
國際貨幣基金組織 (IMF) 遭受網路攻擊,敏感資料遭外洩。盧瑟派伊森從一台被入侵的伺服器中檢索關鍵資訊。伊森不顧警告,下載了情報,但後來無法讀取。為了恢復情報,他創建了一個取證鏡像,並請本吉幫忙解碼文件。
資源:Windows Mail Artifacts: Microsoft HxStore.hxd (email) Research
FTK Imager, SQLite viewer
用戶下載的檔案應該在 download 目錄中,把 download 目錄中檔案的 hash 提出來並逐一丟到 VirusTotal 中
IMF-Info.pdf.exe 識別為惡意軟體
Ans:336a7cf476ebc7548c93507339196abb
瀏覽器是搜尋下載紀錄很好的出發點,要如何調查瀏覽器的歷史紀錄呢?
我們在 \Appdata\Local 中有看到 Google 和 Microsoft 兩個資料夾,下面可以看到 Chrome 和 Edge 瀏覽器,在瀏覽器目錄下找到 \Default 目錄裡的 History
\AppData\Local\Google\Chrome\User Data\Default\History
\AppData\Local\Microsoft\Edge\User Data\Default\History
History 是一個 SQLite 資料庫,它包含了使用者的瀏覽記錄。我們可以看到它顯示 SQLite format。
SQLite 是一個小巧的資料庫引擎,一個完整的 SQLite 資料庫是一個檔案。
要瀏覽 SQLite 資料庫要使用 SQLite viewer,這裡我選擇的是DB Browser for SQLite。
把兩個瀏覽器的 history 都導出,在 DB Browser for SQLite 中 Open Database 把剛剛導出的檔案導入,導入後按 Browse Data 後選擇 Download Table。
在 Edge 的 History 的第七條看到目標下載紀錄。
往右滑會看到 URL。
Ans:http://192.168.16.128:8000/IMF-Info.pdf.exe
剛剛是在 Edge 的 History 看到紀錄的,所以可以知道用戶是用 Microsoft Edge 下載的
Ans:microsoft edge
Windows Mail 記錄要在哪裡看呢?
題目提供的資源告訴我們 Windows Mail 記錄應該到 \Appdata\Local\Packages\microsoft.windowscommunicationsapps_8wekyb3d8bbwe\LocalState\HxStore.hxd 這個檔案調查,找到並導出
strings .\HxStore.hxd > email_strings.txt
把可讀文字存到名叫email_strings.txt的檔案中。
題目要我們找 IP,CyberChef是一個非常好用的工具。
左上方搜尋並選擇 extract IP address,把 unique 打勾 (不顯示重複的),把剛剛的 strings 複製貼到 input 就看到三個 IP 了。
回去 TXT 中搜尋這幾個 IP 可以看到 partial breach detected
Ans:145.67.29.88,212.33.10.112,192.168.16.128
strings .\IMF-Info.pdf.exe > exe_strings.txt
用文字編輯器把 TXT 打開來。
往下滑會看到一堆程式碼,題目提到他使用混淆的 PowerShell 腳本,搜尋 powershell 看看。
看到一段 PowerShell 腳本,它使用 reverse 把混淆過的程式碼倒序排列後存到 $9U5RgiwHSYtbsoLuD3Vf6,再對它做 Base64 解碼並用 UTF-8 編碼轉換成真正的程式碼,最終存到 $FHG7xpKlVqaDNgu1c2Utw 變數中。
所以我們只要在解混淆完成後,新增一行程式:Write-Output $FHG7xpKlVqaDNgu1c2Utw
,用於顯示變數 $FHG7xpKlVqaDNgu1c2Utw 的內容,就能知道真正的程式碼
執行就會看到實際程式碼
Ans:Imf!nfo#2025Sec$
這個腳本的流程是讀取 C:\Users\ethan\Desktop\IMF-Secret.pdf, C:\Users\ethan\Desktop\IMF-Mission.pdf 這兩個檔案然後用 AES-256 和 CBC 模式加密。
先把這兩個檔案導出,然後直接更改加密程式。首先把加密程式中的 inputFiles 改成加密的 .enc,把 replace 的 enc 和 pdf 對調,接著把 Encryptor 改成 Decryptor。
執行之後在 IMF-Mission.pdf 中會看到 flag
Ans:CyberDefenders{N3v3r_eX3cuTe_F!l3$dOwnL0ded_fr0m_M@lic10u5$erV3r}
今天學會了如何分析 SQLite 資料庫和提取 Windows Mail 記錄。我們從 History 資料庫中調查瀏覽器的歷史紀錄,成功找出惡意檔案來源,並從 Windows Mail 記錄中提取通訊紀錄辨識被感染的 IP,最後解析經混淆的 PowerShell 腳本並解密被加密的文件。
今天的 lab 難度提升了不少,但是像調查瀏覽器、解析混淆的 PowerShell 腳本都是後面深入分析中常用到的技能。
明天我們將進行進階的記憶體分析。