即時訊息 App 行動 手機 IM 加密 鑑識

跨越手機鑑識採證阻礙 破解聊天App加密資料庫

2016-03-11
手機取證與電腦取證的特性不同,而且存在著一些瓶頸有待突破,尤其是當商業版的手機鑑識工具力有未逮之時,便需要鑑識人員發揮經驗及技術,在確保手機內資料無破壞之虞的情況下擷取出重要跡證。
然後,執行指令「ar -x sqlcipher_2.1.1-2_amd64.deb」,便可以將安裝套件解開抽取其內容,如圖15所示。


▲圖15 解開抽取sqlcipher_2.1.1-2_amd64.deb套件內容。

其中會產生出一個名為「data.tar.gz」的檔案,裡頭有所需的執行檔,因此要再進行解壓縮。如圖16所示,解壓縮後會產生一個「usr」資料夾,所需的執行檔sqlcipher就在裡面,其相對路徑為「./usr/bin/sqlcipher」。


▲圖16 再解壓縮才能得到需要的檔案。

接著,libsqlcipher0_2.1.1-2_amd64.deb也是相同的處理方式,如圖17?18所示,所需的函式庫位於相對路徑「./usr/lib/x86_64-linux-gnu」之下。


▲圖17 解開抽取libsqlcipher0_2.1.1-2_amd64.deb套件內容。

▲圖18 再解壓縮才能得到裡頭的檔案。

萬事俱備,接著便是重頭戲了。開始破解EnMicromsg.db,執行指令如圖19所示,先指定LD_LIBRARY_PATH路徑,再執行sqlcipher,後面所接的檔案名稱自然是EnMicromsg.db。


▲圖19 執行SQLCipher。

執行結果如圖20所示,當看到sqlite>提示符號時,就表示已進入SQLCipher 2.2.1的交談模式。


▲圖20 進入SQLCipher 2.2.1的交談模式。

留意它有提示SQL指令的末尾需加上一個分號「;」,才能順利執行不會出錯。首先輸入Key值,如圖21所示。


▲圖21 輸入Key值。

再將cipher_use_hmac的參數值設為「off」,如圖22所示,目的只是為了確保能與先前版本相容。


▲圖22 將cipher_use_hmac的參數設為off。

然後,掛載一個加密Key值為空白的資料庫,檔名為「e600.db」,如圖23所示。留意一下,此處的「e600.db」是可以視需要自行取名的,並非一定要叫這個名字不可。


▲圖23 掛載一個加密Key值為空白的資料庫,檔名為e600.db。

再將EnMicromsg.db的數據利用sqlcipher_export()指令匯入至所掛載的資料庫,經過一段時間之後,當見到如圖24的提示符號sqlite>便表示大功告成了。


▲圖24 將EnMicromsg.db的數據匯入至e600.db。

此時,便可將資料庫進行卸載,如圖25所示執行「DETACH DATABASE decrypt_db;」指令。


▲圖25 將資料庫卸載。

最後要退出SQLCipher時,輸入指令「.exit」即可,末尾無需加「;」,如圖26所示。


▲圖26 退出SQLCipher。

這時候可直接以SQLite Database Browser選取「e600.db」進行開啟(圖27),將不會再出現當初開啟EnMicromsg.db時的錯誤訊息。


▲圖27 以SQLite Database Browser開啟e600.db。


追蹤我們Featrue us

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!