• 24 марта в 19:00 по МСК приглашаем вас на бесплатный вебинар, где мы разберем, как модель Kill Chain помогает выстроить стратегию атаки, выявить уязвимости и повысить эффективность тестирования.

    >>> Подробнее <<<

Статья iOS 12 / OSX - Remote Kernel Heap Overflow RCE

Доброго времени суток форумчане! Сегодня я хочу рассказать про уязвимость переполнения буфера кучи в сетевом коде ядра XNU который используется почти во всех продуктах Apple.
31115


Поехали!
Уязвимая версия: iOS 12
Heap overflow - Данные атаки не так хорошо изучены и описаны, по сравнению со stack overflow, но, тем не менее, широко распространены. Для хранения очень больших объемов данных часто используют heap - специальную область памяти, которая, в отличие от стека, растет вверх. В heap-based переполнении мы можем переписать указатели (например, указатель на файл - подставить туда свое значение, допустим /etc/shadow и если процесс запущен под рутом, то мы увидим содержимое этого файла), указатели на функции (к примеру, заменить адрес функции на адрес нашего шеллкода). Проблема все та же - использование небезопасных функций, отсутствие проверки границ, исполняемый heap.

Уязвимсть заключается в сетевом коде ядра операционной системы XNU. Там стоит плохая защита которая не блокирует "вредные" пакеты и принимает как обычные. В итоге крашиться ядро и устройство перезагружаеться. Так как XNU используется как в iOS, так и в macOS, поэтому все iPhone, iPad и MacBook затронуты данной уязвимостью. Так же вместо того что бы крашить ядро можно указать вместо адреса функции, указать адрес шеллкода и перехватить управление над устройством посредством удалённого выполнения кода.
Как выглядит отправляемый запрос на краш ядра:
31112

В новой версии iOS / OSX исправили эту уязвимость добавив улучшенную проверку, но я считаю что данная уязвимость очень легка и есть масса способов обхода защиты в новых версиях iOS / OSX.
Переполнение происходит за счёт того что мы отправляем 44, 76 байт мусора в кучу. Программа записывает данные за пределом кучи и устройство перезагружается.
До атаки:
31110


После атаки:
31111

Это статья была бы не интересна без эксплойта.
Я написал эксплойт и выложил в своём профиле гитхаб.
Вот ссылка на репозиторий:NotEth1calHack3r/iOS-Kernel-Crash

Спасибо за прочтение моей статьи!
 
Не совсем понял, через блютуз проводится атак или по вай фай? И зачем второй ноутбук?
 
По ходу второй это макбук, т.е OSX. Теперь все понятно. Будем тестить)
 
Не совсем понял, через блютуз проводится атак или по вай фай? И зачем второй ноутбук?
Атака проводится по сети. Нужно знать айпи цели. Слева ноутбук атакующего, а справа устройства жертвы(айфон, айпад, макбук)
 
Вместо доса можно организовать RCE. Это же переполнение. На фотографиях не использовался шеллкод а просто отправление мусорных байт.
Ну тогда в заголовке статьи надо было написать DOS а не RCE!!!

Толку от такой статьи 0. А знаешь почему 0 ??? Потому что тут ничего не рассказано и не показано. Покажи лучше шаг за шагом. Как ты выполнишь код ? И еще покажи как ты эксплуатируешь эту уязвимость. Не показан процесс дебага уязвимости. Как ты триггеришь код... Пока я только увидел картинки. И какой то не понятный код. ВСЁ!
 
Последнее редактирование:
Может быть хватит воровать зарубежные статьи, брать чужой код и потом выставлять за свое как и в предыдущих твоих статьях?
 
Переводы тоже дело ..., особенно если человек ещё и понимает тему которую переводит, может так же что нибудь дополнить или же подправить в ходе перевода, просто не надо делать вот так:
Я написал эксплойт и выложил в своём профиле гитхаб.
Вот ссылка на репозиторий:NotEth1calHack3r/iOS-Kernel-Crash
 
  • Нравится
Реакции: MrGuss и Marylin
Чет не понял, эксплоит или DOS?) И что китайский коллега предложил?
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!