亚洲日本免费-啊轻点灬太粗太长了三男一女-麻豆av电影在线观看-日韩一级片毛片|www.grbbt.com

如何在未Root的Android設(shè)備上解密數(shù)據(jù)庫

WhatsApp是世界上最受歡迎的智能手機(jī)即時通訊應(yīng)用之一。現(xiàn)如今,全世界各地每月有超過13億的用戶活躍在WhatsApp上,使用該應(yīng)用進(jìn)行免費通信(2017年7月份的統(tǒng)計數(shù)據(jù))。WhatsApp采用了基于whisper systems的通信協(xié)議,因此即便有人成功攔截通信數(shù)據(jù),這種點對點通信數(shù)據(jù)仍然可以保持安全。顯而易見的是,這些通信數(shù)據(jù)中可能包含調(diào)查人員非常關(guān)心的與案件有關(guān)的重要信息,因此現(xiàn)在WhatsApp已經(jīng)成為移動取證方面最炙手可熱的一個領(lǐng)域。然而眾所周知,智能手機(jī)的調(diào)查取證并沒有那么簡單。調(diào)查人員可能會遇到各種各樣的問題(如加密數(shù)據(jù)庫、系統(tǒng)安全機(jī)制、消息被刪除等等)。因此在本文中,我們會介紹如何解密WhatsApp的加密數(shù)據(jù)庫、如何繞過WhatsApp的加密機(jī)制以及如何恢復(fù)已刪除的WhatsApp消息。

Whatsapp forensics decrypt database SalvationDATA

 

如何解密WhatsApp數(shù)據(jù)庫

與許多智能手機(jī)應(yīng)用一樣,WhatsApp會將數(shù)據(jù)存放在SQLite數(shù)據(jù)庫文件中。對于Android設(shè)備上的WhatsApp來說,兩個數(shù)據(jù)庫最為重要,一個是msgstore.db,包含聊天記錄;一個是wa.db,包含聯(lián)系人列表。處理這些數(shù)據(jù)庫比較簡單,因為WhatsApp具有備份功能,會將數(shù)據(jù)庫備份到SD卡上,無需任何權(quán)限(比如root權(quán)限)就能訪問。然而,安裝最新的安全更新后,WhatsApp數(shù)據(jù)庫就會被加密處理,無法再直接分析,給執(zhí)法調(diào)查人員帶來極大的挑戰(zhàn)。聊天記錄、消息記錄以及通話記錄使用的是AES-256標(biāo)準(zhǔn),而類似照片、視頻等媒體文件沒有加密處理。并且WhatsApp的加密方式已經(jīng)從Crypt5、Crypt7、Crypt8更新到了Crypt12。

WhatsApp forensics

那么,此時我們該怎么解密WhatsApp數(shù)據(jù)庫呢?最關(guān)鍵的步驟是獲取加密密鑰(cipher key)。當(dāng)用戶首次進(jìn)行WhatsApp備份時,就會生成加密密鑰,密鑰永遠(yuǎn)不會存儲在云端,只會保存在智能手機(jī)上,而且每個智能手機(jī)對應(yīng)不同的密鑰。因此,為了解密數(shù)據(jù)庫,我們首先必須從創(chuàng)建備份時所使用的那臺手機(jī)上提取加密密鑰。加密密鑰的具體路徑為:userdata/data/com.whatsapp/files/key。

WhatsApp forensics

根據(jù)SalvationDATA數(shù)據(jù)取證專家的研究結(jié)果,我們研發(fā)了一種專門的算法,可以使用這個key文件來解密WhatsApp數(shù)據(jù)庫。我們不久后會公布這款工具,將其集成到 SmartPhone Forensic System(SPF)中,讓不具備任何計算機(jī)編程基礎(chǔ)的調(diào)查人員能夠順利處理WhatsApp的加密數(shù)據(jù)庫。用戶只需導(dǎo)入key文件以及加密的數(shù)據(jù)庫文件,程序就可以自動生成正確的未加密的數(shù)據(jù)庫文件。

WhatsApp forensics

?如何繞過WhatsApp加密機(jī)制

然而,如果不root設(shè)備,想要獲取key文件并不會一帆風(fēng)順。因此,接下來我們討論下如何繞過WhatsApp的加密機(jī)制。換句話說,如何在不具備root訪問權(quán)限的前提下提取WhatsApp數(shù)據(jù)。

key文件以及未加密的數(shù)據(jù)庫始終存儲在WhatsApp目錄中。如果調(diào)查人員可以接觸這些文件,那么就能查看當(dāng)前設(shè)備上WhatsApp的通信記錄。唯一的問題在于,如果沒有root權(quán)限,我們無法直接訪問這些文件。

在不具備root權(quán)限的情況下,有兩種方法可以提取WhatsApp數(shù)據(jù)。

1、系統(tǒng)備份&還原

第一種方法是利用Android系統(tǒng)的備份及還原功能。許多Android手機(jī)廠商允許用戶使用內(nèi)置的系統(tǒng)應(yīng)用創(chuàng)建備份。利用這種方式創(chuàng)建的備份存儲在SD卡中,沒有經(jīng)過加密處理。因此,執(zhí)法部門可以使用這種簡單的方法訪問WhatsApp的通訊記錄。

如下圖所示,我們可以使用OPPO智能手機(jī)來創(chuàng)建WhatsApp的備份。用戶可以在Tools文件夾中找到“Backup Restore”應(yīng)用,創(chuàng)建新的備份,記得要勾選WhatsApp。

WhatsApp forensics

然后,我們就可以在手機(jī)的SD卡上找到WhatsApp備份數(shù)據(jù)。這個備份中包括所有未加密的數(shù)據(jù)庫文件以及WhatsApp的key文件。現(xiàn)在,我們要做的就是使用移動取證工具來分析目標(biāo)數(shù)據(jù)庫。

WhatsApp forensics

2、降級備份

另一種方法就是降級WhatsApp應(yīng)用,降級到不具備加密機(jī)制的那個版本。v.2.11.431版的WhatsApp是沒有強制使用加密備份的最后一個版本。因此,我們可以在不刪除用戶數(shù)據(jù)的前提下將WhatsApp降級到v.2.11.431版,然后使用老版本的WhatsApp創(chuàng)建備份文件,然后提取所需的數(shù)據(jù)庫。

這個過程需要操作人員具備專業(yè)技能,并伴隨著永久性丟失數(shù)據(jù)的風(fēng)險。因此,我們強烈建議用戶使用專業(yè)的取證工具進(jìn)行版本降級。

WhatsApp forensics

如何恢復(fù)已刪除的WhatsApp消息

現(xiàn)在我們已經(jīng)知道如何從智能機(jī)中提取WhatsApp數(shù)據(jù)庫文件,接下來看看如何利用數(shù)據(jù)庫文件,在Android以及iOS設(shè)備上恢復(fù)已刪除的WhatsApp消息。

用戶可以通過兩種方法來刪除WhatsApp的消息。用戶可以逐條刪除消息,或者使用“clear/delete”聊天按鈕一次性刪除所有消息。根據(jù)我們的測試結(jié)果,不論用戶使用哪種方式刪除消息,我們都可以使用下面的方法進(jìn)行恢復(fù)。

WhatsApp forensics

前面我們提到過,WhatsApp使用SQLite數(shù)據(jù)庫來存儲消息。與Android系統(tǒng)不同的是,iOS系統(tǒng)會將WhatsApp相關(guān)的所有數(shù)據(jù)存放在ChatStorage.sqlite這個數(shù)據(jù)庫中。這些數(shù)據(jù)庫文件通常會附帶后綴為”-wal”的緩存文件。大多數(shù)情況下,這些緩存文件的大小為0,但如果這些緩存文件的大小不為0,那么就可能包含尚未存儲在數(shù)據(jù)庫中的重要數(shù)據(jù)。一旦出現(xiàn)這種情況,我們必須謹(jǐn)慎處理,因為如果我們不在意這些緩存文件,那么存放在其中的信息可能就會被覆蓋掉,永遠(yuǎn)無法找回。

WhatsApp forensics

根據(jù)我們的分析,可以正常訪問的WhatsApp消息存儲在msgstore.db中,而已刪除的消息存放在msgstore.db-wal中,這個文件正是消息的緩存文件。WhatsApp始終會把消息先存放在緩存文件中,然后再保存到真正的數(shù)據(jù)庫中。

有趣的是,有些時候緩存文件會比數(shù)據(jù)庫文件更大。這是因為一條消息只能以單條記錄存放在數(shù)據(jù)庫中,但緩存文件中并沒有這種限制。一條消息可能同時存在多條記錄。因此,我們有機(jī)會能恢復(fù)已刪除或者已丟失的WhatsApp消息。

然而,為了避免覆蓋緩存文件中已有的數(shù)據(jù),在正確處理緩存文件之前,我們不能直接打開數(shù)據(jù)庫文件。我們必須先處理緩存文件,匹配特征,然后保存并分析緩存文件中的所有數(shù)據(jù)。

以“this is a test message”這條消息為例。當(dāng)用戶刪除這條消息時,該消息對應(yīng)的那條記錄通常也會從msgstore.db中刪除。

Whatsapp forensics

然而,msgstore.db-wal緩存文件中可能還保留這條消息的一些記錄。“This is a test message”這條消息被刪除前后的情況如下圖所示。我們可以看到,當(dāng)該消息被刪除后,相關(guān)數(shù)據(jù)仍然保存在緩存文件中,并且記錄的偏移位置也保持不變。

Whatsapp forensics

因此,通過分析并提取msgstore.db-wal緩存文件中的數(shù)據(jù),我們給出了恢復(fù)已刪除或已丟失的WhatsApp消息的一種方法。前面提到的這種方法可以有效并可靠地提取出已刪除的WhatsApp數(shù)據(jù),也是恢復(fù)已刪除消息和已清空聊天記錄的完美解決方案。

根據(jù)SalvationDATA數(shù)字取證專家的研究結(jié)果,我們可以在未Root的Android設(shè)備上解密WhatsApp的加密數(shù)據(jù)庫,并且也能在Android以及iOS設(shè)備上恢復(fù)已刪除的WhatsApp消息。提醒一下,前面提到的所有技術(shù)及解決方案已經(jīng)或者即將公布,會集成到SmartPhone Forensic System(SPF)中。希望本文能進(jìn)一步幫助DFIR(數(shù)字取證與應(yīng)急響應(yīng))社區(qū)處理移動設(shè)備,收集盡可能多的數(shù)字證據(jù)。后面我們會為大家提供更多實用的數(shù)字取證方案。

原文:https://blog.salvationdata.com/2018/02/08/whatsapp-forensics-decryption-of-encrypted-databases-and-extraction-of-deleted-messages-on-non-rooted-android-devices/

上一篇:CVE-2017-13253: 多個Android DRM服務(wù)中的緩沖區(qū)溢出

下一篇:如何利用暴力攻擊破解密碼