(http://www.codigoamigo.com/uploads/oneplus.jpg)
En estas últimas horas un desarrollador (https://twitter.com/fs0c131y/status/930128672023072769) ha descubierto que una de las aplicaciones instaladas por defecto en los teléfonos OnePlus puede actuar como backdoor y es capaz de obtener permisos de root en los OnePlus 3, 3T y 5.
Según el usuario de Twitter Elliot Alderson, la aplicación, incluida en todos los teléfonos de la compañía con OxygenOS en su interior, no solo es capaz de diagnosticar problemas en el GPS, verificar si el teléfono está rooteado o realizar pruebas automatizadas, sino que también puede obtener permisos de root en el dispositivo si se ejecuta una actividad concreta.
Tal y como se puede comprobar en uno de sus tweets: https://twitter.com/fs0c131y/status/930128672023072769?ref_src=twsrc%5Etfw
Dicha herramienta recibe el nombre de EngineerMode y se puede visualizar si activamos la opción "Mostrar Aplicaciones del Sistema" en nuestro teléfono:
(https://i.imgur.com/OZ2xaFn.jpg)
Acto seguido, la buscamos por su nombre pudiendo acceder a más información:
(https://i.imgur.com/w5DBk7e.jpg)
Llegados a este punto y habiendo confirmado que tenemos la aplicación, vamos a iniciar el rooteo del dispositivo, para ello, descargamos adb y activamos el modo depuración en el teléfono:
(https://i.imgur.com/n6ZPAyV.jpg)
Si queremos ejecutar la aplicación basta con ejecutar el siguiente comando vía adb shell:
adb shell am start http://com.android .engineeringmode/.EngineeringMode
(https://i.imgur.com/iglfpVH.jpg)
(https://pbs.twimg.com/media/DOh2Y88WAAMkC6p.jpg)
Además y para verificar que funciona el backdoor, comprobamos los permisos actuales del dispositivo:
(https://i.imgur.com/UybQB4d.jpg)
Para rootear el dispositivo debemos invocar el Indent mediante el siguiente comando:
adb shell am start -n com.android.engineeringmode/.qualcomm.DiagEnabled --es "code" "angela"
(https://i.imgur.com/poGB0da.png)
Si, la contraseña es angela y es que, la ficción supera a la realidad en algunos casos y Mr. Robot lo acaba de demostrar (https://twitter.com/fs0c131y/status/930278097177497600)
En estos momentos se reiniciará la shell, desconectamos el cable, lo volvemos a conectar y accedemos de nuevo al dispositivo vía adb shell, comprobamos el usuario y... ROOT!
(https://i.imgur.com/z9DBolC.jpg)
Nota: Pese a tener acceso root vía shell no he conseguido que las aplicaciones reconozcan dichos privilegios:
(https://i.imgur.com/IPA3h6T.jpg)
(https://i.imgur.com/MsovoaO.jpg)
Nota2: Podéis deshabilitar el backdoor de la siguiente manera:
1) Modificando los permisos de la app:
(https://i.imgur.com/6PjTSUc.jpg)
2) Desactivándola:
pm disable com.android.engineeringmode
3) Desinstalándola:
pm uninstall -k --user 0 com.android.engineeringmode
Si alguien quiere obtener más información, recomiendo que lea el hilo oficial: https://twitter.com/fs0c131y/status/930115188988182531
Un saludo.
Blackdrake