
A WebKit exploit using CVE-2018-4441 to obtain RCE on PS4 6.20.
Этот репозиторий содержит PoC-эксплойт удаленного выполнения кода (RCE), нацеленный на PlayStation 4 с прошивкой 6.20, использующий CVE-2018-4441. Эксплойт сначала устанавливает примитив произвольного чтения/записи, а также утечку адреса произвольного объекта в wkexploit.js. Затем он настраивает фреймворк для запуска ROP-цепочек в index.html и по умолчанию предоставляет две гиперссылки для запуска тестовых ROP-цепочек — одну для выполнения системного вызова sys_getpid(), а другую для выполнения sys_getuid() с целью получения PID и UID процесса соответственно.
Каждый файл содержит вверху комментарий с кратким объяснением содержимого файла и принципа работы эксплойта. Авторство обнаружения ошибки принадлежит lokihardt из Google Project Zero (p0). Отчёт об ошибке можно найти здесь.
Примечание: Он исправлен в обновлении прошивки 6.50.
Файлы в алфавитном порядке:
index.html — Содержит пост-эксплойт код, от произвольного чтения/записи до выполнения кода.rop.js — Содержит фреймворк для ROP-цепочек.syscalls.js — Содержит (неполный) список системных вызовов для пост-эксплойтных действий.wkexploit.js — Содержит сердцевину эксплойта WebKit.p.launchchain() для выполнения кода, возможно, придётся заменить.syscalls.js содержит лишь небольшое количество системных вызовов.Настройте веб-сервер, размещающий эти файлы на localhost, с помощью xampp или любой другой программы на ваш выбор. Кроме того, вы можете разместить их на сервере. Получить к нему доступ на PS4 можно двумя способами:
Подмена DNS для перенаправления страницы руководства на страницу эксплойта, или
Использование веб-браузера для перехода на страницу эксплойта (не всегда возможно).
Я написал эксплойт, но не я обнаружил уязвимость. Как упоминалось выше, ошибка (CVE-2018-4441) была найдена lokihardt из Google Project Zero (p0) и раскрыта через публичный баг-трекер Chromium.
Отчёт об ошибке Chromium — Уязвимость.
Phrack: Атака на JavaScript-движки от saelo — Спасительная статья. Эксплуатировать эту уязвимость было бы примерно в 1500 раз сложнее без этого божественного документа.
lokihardt — Уязвимость
st4rk — Помощь с эксплойтом
qwertyoruiop — WebKit School
saelo — Статья в Phrack