Android設備的微信數據收集(3)--基於降級的未root設備數據收集技術

1.3 基於降級的未root設備數據收集技術

隨着Android版本更新,目前支持root的設備越來越少,且部分廠商如OPPO、realme等品牌部分機型禁止安裝root apk,甚至在固件層面禁止root。根據對淘寶十餘家提供root服務的店鋪和所在城市5家線下手機維修店的走訪,目前市面上支持root的手機僅有不到20款,且要求沒有更新過2020年3月Google發佈的Android安全性補丁。

微信在6.0之後的版本,不支持使用adb back up備份用戶數據。在文獻Anglano C. Forensic analysis of WhatsApp Messenger on Android smartphones[J]. Digital Investigation, 2014, 11(3): 201-213.中,Songyang Wu等人提出了一種“未root備份方法”(unrooted backup method),稱通過使用adb等工具,可以在信息無損失的前提下通過降級到支持使用adb備份的微信版本,即微信5.X版本實現Android手機取證。國內一些廠商也採用該方法提供服務,如圖1

 

圖1基於降級實現微取證的某公司取證軟件截圖

 

根據實驗,該方法命令行實現執行流程如如圖2,解釋如下:

1)通過adb shell pm path com.tencent.mm命令,查看當前微信包名稱;

2)通過adb pull /data/app/com.tencent.mm-1/base.apk命令,導出目前微信的 base.apk 文件;

3)通過adb shell pm uninstall -k com.tencent.mm命令,卸載當前安裝的微信,並通過-k參數保留用戶信息;

4)通過adb install weixin5.4_33lc.apk命令,安裝獲取到的低版本微信安裝包,並在手機端確認安裝;

5)通過adb backup -f mm.ab -noapk -noshared -nosystem com.tencent.mm命令,通過低版本微信支持adb備份APP數據的方法導出備份,在手機上確認備份並跳過設置備份密碼;

6)通過adb shell pm uninstall -k com.tencent.mm命令,卸載低版本微信;

7)通過adb install base.apk命令,在手機端確認安裝,恢復之前手機安裝的微信版本。

 

圖2 命令行實現示意

 

但在復現過程中,發現由於Android版本更新和騰訊停止了對部分低版本微信的支持,導致該操作在一些情況下並不適用。

Android版本小於10.0,或在2019年AndroidQ發佈後未更新谷歌安全補丁的情況下,可以復現實驗並導出數據庫。

使用Android版本大於10.0,與微信6.X版本,在步驟4中,Android或騰訊官方停止了對微信低於6.0版本的支持,即打開程序直接閃退,有可能導致步驟5導出備份文件爲0B,如圖3,並在步驟7丟失未刪除的微信的數據庫鏈接,直接導致登錄狀態丟失,可能會對司法取證造成不必要的困難。

轉存失敗重新上傳取消轉存失敗重新上傳取消圖3成功與失敗情況導出備份文件示意

圖3 成功與失敗示例

使用當前微信的最新版本,即微信7.0.13(更新於2020年4月2日)時,發現在步驟3中,不論是否附帶-k參數,data區的微信用戶數據庫文件都會被刪除,會導致數據丟失。根據其他資料查詢,也表示微信7.X版本在卸載時會自動清除用戶數據。

綜上,在實際操作中,2017年在Digital Investigation期刊提出的“未root備份方法”對最新版本微信適用性有限。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章