• XSS.stack #1 – первый литературный журнал от юзеров форума

iOS 12 / OSX - Remote Kernel Heap Overflow RCE (CVE-2018-4407)

Статус
Закрыто для дальнейших ответов.

tabac

CPU register
Пользователь
Регистрация
30.09.2018
Сообщения
1 610
Решения
1
Реакции
3 332
Доброго времени суток форумчане! Сегодня я хочу рассказать про уязвимость переполнения буфера кучи в сетевом коде ядра XNU который используется почти во всех продуктах Apple.

Поехали!

Уязвимая версия: iOS 12

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

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

Как выглядит отправляемый запрос на краш ядра:

1c1c28b9db9ca0e9e9ce6.png

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

Переполнение происходит за счёт того что мы отправляем 44, 76 байт мусора в кучу. Программа записывает данные за пределом кучи и устройство перезагружается.

До атаки:
1.png


После атаки:
2.png


Это статья была бы не интересна без эксплойта.

Видео:

Автор написал эксплойт и выложил в гитхаб.

Вот ссылка на репозиторий: https://github.com/649/Crash-iOS-Exploit/blob/master/CVE-2018-4407.py


автор @Semmle
 
Последнее редактирование модератором:
Пожалуйста, обратите внимание, что пользователь заблокирован

Единственное условие: автор атаки должен находиться в одной сети с уязвимым девайсом — например, сидеть в том же кафе с бесплатным WiFi.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
бро и что потом?)
Собственно выполнение кода. Но тут DOS POC. Так что хрень...

P.s. Эта статья была спизжена челом с кодбая у китайца...
 
Статус
Закрыто для дальнейших ответов.
Верх