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

not eth1cal hack3r

not eth1cal hack3r

Member
22.02.2019
14
71
Доброго времени суток форумчане! Сегодня я хочу рассказать про уязвимость переполнения буфера кучи в сетевом коде ядра 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

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

Спасибо за прочтение моей статьи!
 
GoodSmile

GoodSmile

Премиум
16.07.2018
151
115
Не совсем понял, через блютуз проводится атак или по вай фай? И зачем второй ноутбук?
 
GoodSmile

GoodSmile

Премиум
16.07.2018
151
115
По ходу второй это макбук, т.е OSX. Теперь все понятно. Будем тестить)
 
not eth1cal hack3r

not eth1cal hack3r

Member
22.02.2019
14
71
Не совсем понял, через блютуз проводится атак или по вай фай? И зачем второй ноутбук?
Атака проводится по сети. Нужно знать айпи цели. Слева ноутбук атакующего, а справа устройства жертвы(айфон, айпад, макбук)
 
not eth1cal hack3r

not eth1cal hack3r

Member
22.02.2019
14
71
НЕ RCE а дос эксплойт.
Вместо доса можно организовать RCE. Это же переполнение. На фотографиях не использовался шеллкод а просто отправление мусорных байт.
 
Последнее редактирование:
fuzzz

fuzzz

Red Team
03.02.2019
180
317
Вместо доса можно организовать RCE. Это же переполнение. На фотографиях не использовался шеллкод а просто отправление мусорных байт.
Ну тогда в заголовке статьи надо было написать DOS а не RCE!!!

Толку от такой статьи 0. А знаешь почему 0 ??? Потому что тут ничего не рассказано и не показано. Покажи лучше шаг за шагом. Как ты выполнишь код ? И еще покажи как ты эксплуатируешь эту уязвимость. Не показан процесс дебага уязвимости. Как ты триггеришь код... Пока я только увидел картинки. И какой то не понятный код. ВСЁ!
 
Последнее редактирование:
centr

centr

Well-known member
31.01.2017
412
420


 
Последнее редактирование:
R

Rizor

Member
24.06.2019
7
1
Может быть хватит воровать зарубежные статьи, брать чужой код и потом выставлять за свое как и в предыдущих твоих статьях?
 
centr

centr

Well-known member
31.01.2017
412
420
Переводы тоже дело ..., особенно если человек ещё и понимает тему которую переводит, может так же что нибудь дополнить или же подправить в ходе перевода, просто не надо делать вот так:
Я написал эксплойт и выложил в своём профиле гитхаб.
Вот ссылка на репозиторий:
 
  • Нравится
Реакции: Marylin
Мы в соцсетях: