問題
鑑識工具無法開啟微信資料庫
挑戰
暴力破解微信資料庫 – EnMicroMsg.db
工具
Docker,Python2,GitHub
結果
運算出七位數 EnMicroMsg.db 密碼
前言上一篇「如何破解 Android WeChat 資料庫」介紹了如何透過 IMEI 與 UIN 推斷出正確的 WeChat 資料庫 7 位數密碼。但隨著新的 Android 系統陸續導入 File Based Encryption 加密機制後,即使可透過 APK Downgrade 取得微信資料庫檔案,但若無法取得 UIN 值,則無法手動計算出正確的密碼。
本文章將介紹如何使用 GitHub 上由 ChG-Hou 所發表的 EnMicroMsg.db-Password-Cracker 程式,來進行微信資料庫的暴力破解。另外為了降低安裝門檻,本次將使用 Docker 來快速啟用一個虛擬化作業系統,內已包含相關的破解執行檔案,讓各位鑑識人員可更簡易的進行破解作業。
破解所需時間
執行 4000 次 PBKDF2 迴圈運算大約需要 5 毫秒。所以在最壞的情況下,單一核心破解微信密碼約 16^7 * 0.005 /3600/24 = 15.5 天。在 8 核 PC 上,可減少到 2 天以內。
Docker 介紹要在 Windows 上執行不同的作業系統,可藉由虛擬化軟體來達成。早期除了 Windows 內建的 Virtual PC 外,較為人知的則為 VMware Workstation Player,以上軟體皆可讓 Windows 系統上執行其他的作業系統,如 ubuntu 或 CentOS 等等。
Docker 為近年來另一種新的虛擬化方式,跟傳統的虛擬化方式相比具有輕量化,簡易佈署等功能。尤其 Docker 容器的啟動可以在秒級完成,這相比傳統的虛擬機方式要快得多。 其次,Docker 對系統資源的使用率很高,一台主機上可以同時執行數千個 Docker 容器。有關進一步的 Docker 介紹可參考 《Docker —— 從入門到實踐》正體中文版。而本文章僅就如何從 Docker Hub 上下載為各位鑑識人員已封裝好的 Ubuntu Docker 映像檔,說明如何啟用並進行暴力破解。
Windows 10 請先安裝 WSL
在執行 Docker 之前,Windows 10 需安裝適用於 Linux 的子系統 (WSL – Windows Subsystem for Linux)。安裝說明請參考微軟「Windows 10 上適用於 Linux 的 Windows 子系統安裝指南」文章,並參照「手動安裝」依序安裝步驟 1 ~ 5,步驟 6 – 「安裝您選擇的 Linux 發行版本」可跳過。
crack-wechat.py 主程式介紹crack-wechat.py 為暴力破解主程式,需藉由 Python2 來執行,內包含可客製化參數,可先使用以下指令開啟檔案觀看內容。(原檔案名稱: crack_enmicromsg_db_(C_version).py) 。
複製Syntax Highlighter指令一、開啟 crack-wechat.py
crack-wechat.py 參數說明
db_file_name = ‘EnMicfoMsg.db’:要進行破解的資料庫檔案名稱。
pass_file_name = ‘pass.txt’:運算出的 7 位數密碼儲存於 pass.txt 內。
process_no = 4:啟用的執行序數量,可依主機硬體規格配置。
pass_start = 0x0000000:7 位數密碼起始值。
pass_end = 0x7ffffff:7 位數密碼結束值。