DEFCON 2018: Vulnerable Out of the Box - An Evaluation of Android Carrier Devices

Overview

Pre-installed apps and firmware pose a risk due to vulnerabilities that can be pre-positioned on a device, rendering the device vulnerable on purchase. To quantify the exposure of the Android end-users to vulnerabilities residing within pre-installed apps and firmware, we analyzed a wide range of Android vendors and carriers using devices spanning from low-end to flagship. Our primary focus was exposing pre-positioned threats on Android devices sold by United States (US) carriers, although our results affect devices worldwide. We provided details of vulnerabilities in devices from all four major US carriers, as well two smaller US carriers, among others. The vulnerabilities we discovered on devices offered by the major US carriers are the following: arbitrary command execution as the system user, obtaining the modem logs and logcat logs, wiping all user data from a device (i.e., factory reset), reading and modifying a user’s text messages, sending arbitrary text messages, getting the phone numbers of the user’s contacts, and more. All of the aforementioned capabilities are obtained outside of the normal Android permission model.

Mitigation

Utilizing Kryptowire’s automated firmware scanning tools we are able to provide up to date detection of these vulnerabilities as new firmware and devices are introduced into your organization. To request the full report and/or more information about our firmware scanning service please click the link below.

REQUEST MORE INFORMATION

Sample Exploit Videos

Sample Affected Devices

 

OEMModelOS VersionDescriptionAttack RequirementsBuild Fingerprint
ZTEZMAX Pro6.0.1Send text messagesLocal app on the device without any permissionsZTE/P895T20/urd:6.0.1/MMB29M/20170418.114928:user/release-keys
ZTEZMAX Pro6.0.1Obtain all the text messages of the user and also insert, modify, and delete text messagesLocal app on the device without any permissionsZTE/P895T20/urd:6.0.1/MMB29M/20170418.114928:user/release-keys
ZTEZMAX Champ6.0.1A pre-installed app allows any app on the device to cause the device to get stuck in an unfixable recovery bootloop.Local app on the device without any permissionsZTE/Z917VL/fortune:6.0.1/MMB29M/20170327.120922:user/release-keys
ZTEZMAX Champ6.0.1A pre-installed app allows any app on the device to wipe all user data via a factory reset. There is no user intervention required and it will result in data loss.Local app on the device without any permissionsZTE/Z917VL/fortune:6.0.1/MMB29M/20170327.120922:user/release-keys
ZTEZMAX Pro6.0.1Obtain the numbers of contacts and numbers of people that the user has textedLocal app on the device without any permissionsZTE/P895T20/urd:6.0.1/MMB29M/20170418.114928:user/release-keys
ZTEBlade Spark7.1.1Obtain the logcat log which get written to the sdcard. This can be mined for user data. This does leave a sticky notification.Local app on the device with the READ_EXTERNAL_STORAGE permission to read from the sdcardZTE/Z971/peony:7.1.1/NMF26V/20171129.143111:user/release-keys
ZTEBlade Vantage7.1.1A pre-installed app allows any app on the device to make the system write the modem log to the sdcard. This contains the send and received text messages and the call data.Local app on the device with the READ_EXTERNAL_STORAGE permission to read from the sdcardZTE/Z839/sweet:7.1.1/NMF26V/20180120.095344:user/release-keys
VivoV77.1.2Record the screen and write it to app's private directory. A notification and floating icon pop up initiatlly, but these can be quickly removed.Local app on the device that does not require any permissionsvivo/1718/1718:7.1.2/N2G47H/compil11021857:user/release-keys
VivoV77.1.2Obtain the kernel log and also the logcat log which get written to the sdcard. This can be mined for user data. This does leave a sticky notification.Local app on the device with the READ_EXTERNAL_STORAGE permission to read from the sdcardvivo/1718/1718:7.1.2/N2G47H/compil11021857:user/release-keys
VivoV77.1.2Provides the capability to set system properties as the com.android.phone user. With this and vulnerability above, you can caputre the input of the user (where they touch the screen) and the bluetooth snoop log.Local app on the device with the READ_EXTERNAL_STORAGE permission to read from the sdcardvivo/1718/1718:7.1.2/N2G47H/compil11021857:user/release-keys
SonyXperia L17.0Take screenshot of the screen which can be used to examine the user's notifications.Local app on the device with the READ_EXTERNAL_STORAGE permission to read from the sdcard and the EXPAND_STATUS_BAR permission is needed to expand the status barSony/G3313/G3313:7.0/43.0.A.6.49/2867558199:user/release-keys
SKYElite 6.0L+6.0Command execution as the system user via old version of Adups softwareLocal app on the device that does not require any permissionsSKY/x6069_trx_l601_sky/x6069_trx_l601_sky:6.0/MRA58K/1482897127:user/release-keys
PlumCompass6.0A pre-installed app allows any app on the device to wipe all user data via a factory reset. There is no user intervention required and it will result in data loss.Local app on the device that does not require any permissionsPLUM/c179_hwf_221/c179_hwf_221:6.0/MRA58K/W16.51.5-22:user/release-keys
OrbicWonder7.1Pairing with the vulnerability above, the user can get the body of text messages and call data since the default messaging apps is in debug mode, so the telephony data is written to the log. The log is written to the sdcard so any app can use the vulnerability above to get this data.Local app on the device with the READ_EXTERNAL_STORAGE permission to read from the sdcardOrbic/RC555L/RC555L:7.1.2/N2G47H/329100b:user/release-keys
OrbicWonder7.1.2A pre-installed app allows the user to obtain the logcat log that get written to the sdcard continuosly. The logcat log is not available to third-party apps since it contains sensitive user data. The user can start the app with so it will not show up in the recent apps list and then dismiss it by going to the home screen so it will not be accessible to the user. It will continuosly write the log file to the sdcard.Local app on the device with the READ_EXTERNAL_STORAGE permission to read from the sdcardOrbic/RC555L/RC555L:7.1.2/N2G47H/329100b:user/release-keys
OrbicWonder7.1.2A pre-installed app allows any app on the device to wipe all user data via a factory reset. There is no user intervention required and it will result in data loss.Local app on the device that does not require any permissionsOrbic/RC555L/RC555L:7.1.2/N2G47H/329100b:user/release-keys
OppoF57.1.1Surreptitiously audio record the user and write it to the sdcard. This does require the command execution as system user to copy the recording file.Local app on the device without any permissionsOPPO/CPH1723/CPH1723:7.1.1/N6F26Q/1513597833:user/release-keys
OppoF57.1.1Command execution as the system userLocal app on the device without any permissionsOPPO/CPH1723/CPH1723:7.1.1/N6F26Q/1513597833:user/release-keys
Nokia6 TA-10257.1.1Take screenshot of the screen which can be used to examine the user's notifications.Local app on the device with the READ_EXTERNAL_STORAGE permission to read from the sdcard and the EXPAND_STATUS_BAR permission is needed to expand the status barNokia/TA-1025_00WW/PLE:7.1.1/NMF26F/00WW_3_32F:user/release-keys
MXQTV Box4.4.2A pre-installed app allows any app on the device to wipe all user data via a factory reset. There is no user intervention required and it will result in data loss.Local app on the device that does not require any permissionsMBX/m201_N/m201_N:4.4.2/KOT49H/20160106:user/test-keys
MXQTV Box4.4.2Make the device non-functional. The device will not boot properly even after a factory reset. The device can likely be recovered by placing clean firmware images on the sdcard and flashing them.Local app on the device that does not require any permissionsMBX/m201_N/m201_N:4.4.2/KOT49H/20160106:user/test-keys
LGG67.0Can lock a user out of their own phone (even in safe mode) and the user will be forced to factory reset in recovery mode. The user may be able to unlock the device if they have ADB enabled prior to the locking of the screen and can figure out how to unlock it hich may be difficult for the average user. This acts as a Denial of Service attack and results in data loss if a factory reset occurs.Local app on the device that does not require any permissionslge/lucye_nao_us_nr/lucye:7.0/NRD90U/17265155644e4:user/release-keys
LGG67.0Obtain the logcat logs continuosly which are not available to third party apps since they leak senstive user data. The log file can be written to the app's private directory by using path traversal.Local app on the device and INTERNET permission to send out the data.lge/lucye_nao_us_nr/lucye:7.0/NRD90U/17265155644e4:user/release-keys
LGG67.0Obtain the kernel log and also the logcat log which get written to the sdcard. This can be mined for user data. It also creates a file on the sdcard containing the phone IMEI and serial number.Local app on the device with the READ_EXTERNAL_STORAGE permission to read from the sdcardlge/lucye_nao_us_nr/lucye:7.0/NRD90U/17265155644e4:user/release-keys
LeagooZ5C6.0Read the last text message from each conversation. The last message will containt the phone number, text body, timestamp, and the contact's name (if any)Local app on the device that does not require any permissionssp7731c_1h10_32v4_bird:6.0/MRA58K/android.20180125.183848:user/release-keys
LeagooP17.0Take screenshot of the screen which can be used to examine the user's notifications.Local app on the device with the READ_EXTERNAL_STORAGE permission to read from the sdcard and the EXPAND_STATUS_BAR permission is needed to expand the status barLEAGOO/t592_otd_p1/t592_otd_p1:7.0/NRD90M/1508151212:user/release-keys
LeagooP17.0Local root privilege escalation via ADB. The vendor allows read only properties to be modified. They could also peform this behavior to get root privileges.Physical access to deviceLEAGOO/t592_otd_p1/t592_otd_p1:7.0/NRD90M/1508151212:user/release-keys
LeagooP17.0A pre-installed app allows any app on the device to wipe all user data via a factory reset. There is no user intervention required and it will result in data loss.Local app on the device that does not require any permissionsLEAGOO/t592_otd_p1/t592_otd_p1:7.0/NRD90M/1508151212:user/release-keys
LeagooZ5C6.0Send text messagesLocal app on the device that does not require any permissionssp7731c_1h10_32v4_bird:6.0/MRA58K/android.20180125.183848:user/release-keys
LeagooZ5C6.0A pre-installed app allows any app on the device to wipe all user data via a factory reset. There is no user intervention required and it will result in data loss.Local app on the device that does not require any permissionssp7731c_1h10_32v4_bird:6.0/MRA58K/android.20180125.183848:user/release-keys
EssentialEssential7.1.1A pre-installed app allows any app on the device to wipe all user data via a factory reset. There is no user intervention required and it will result in data loss.Local app on the device that does not require any permissionsessential/mata/mata:7.1.1/NMJ88C/464:user/release-keys & essential/mata/mata:8.1.0/OPM1.180104.166/297:user/release-keys
DoogeeX56.0Video record of the screen. This capability can be used in a similar way as taking screenshots by opening apps that show the user's messages. The recording is not transparent to the user.Local app on the device with the READ_EXTERNAL_STORAGE permission to read from the sdcard and the INTERNET permission to send out the dataDOOGEE/full_hct6580_weg_c_m/hct6580_weg_c_m:6.0/MRA58K/1479906828:user/test-keys
CoolpadRevvl Plus7.1.1Obtain all the text messages of the user and also insert, modify, and delete text messagesLocal app on the device without any permissionsCoolpad/alchemy/alchemy:7.1.1/143.14.171129.3701A-TMO/buildf_nj_02-206:user/release-keys
CoolpadCanvas7.0Provides the capability to set system properties as the com.android.phone user.Local app on the device without any permissionsCoolpad/cp3636a/cp3636a:7.0/NRD90M/093031423:user/release-keys
CoolpadDefiant7.1.1Send text messagesLocal app on the device without any permissionsCoolpad/cp3632a/cp3632a:7.1.1/NMF26F/099480857:user/release-keys
CoolpadRevvl Plus7.1.1Provides the capability to set system properties as the com.android.phone user.Local app on the device without any permissionsCoolpad/alchemy/alchemy:7.1.1/143.14.171129.3701A-TMO/buildf_nj_02-206:user/release-keys
CoolpadRevvl Plus7.1.1A pre-installed app allows any app on the device to wipe all user data via a factory reset. There is no user intervention required and it will result in data loss.Local app on the device without any permissionsCoolpad/alchemy/alchemy:7.1.1/143.14.171129.3701A-TMO/buildf_nj_02-206:user/release-keys
CoolpadRevvl Plus7.1.1Send text messagesLocal app on the device without any permissionsCoolpad/alchemy/alchemy:7.1.1/143.14.171129.3701A-TMO/buildf_nj_02-206:user/release-keys
CoolpadCanvas7.0Obtain the logcat logs, kernel logs, and tcpdump capture which are written to the sdcard. This leaves a notification active. The logs contain the body of sent and received text messages.Local app on the device with the READ_EXTERNAL_STORAGE permission to read from the sdcardCoolpad/cp3636a/cp3636a:7.0/NRD90M/093031423:user/release-keys
CoolpadDefiant7.1.1A pre-installed app allows any app on the device to wipe all user data via a factory reset. There is no user intervention required and it will result in data loss.Local app on the device without any permissionsCoolpad/cp3632a/cp3632a:7.1.1/NMF26F/099480857:user/release-keys
CoolpadDefiant7.1.1Obtain all the text messages of the user and also insert, modify, and delete text messagesLocal app on the device without any permissionsCoolpad/cp3632a/cp3632a:7.1.1/NMF26F/099480857:user/release-keys
AsusZenFone 3 Max7.0A pre-installed app with an exposed interface allows any app on the phone to obtain a bugreport (kernel log, logcat log, dump of system services (includes text of active notifications), WiFi Passwords, and other system data gets written to the sdcard. The numbers for received and placed telephone calls show up in the log, as well as the sending and receving telephone numbers for text messages.Local app on the device with the READ_EXTERNAL_STORAGE permission to read from the sdcardasus/US_Phone/ASUS_X008_1:7.0/NRD90M/US_Phone-14.14.1711.92-20171208:user/release-keys
AsusZenFone 3 Max7.0Arbitrary app installation over the internet. Then this app can also be uninstalled after it is run using the same interface.Local app on the device without any permissionsasus/US_Phone/ASUS_X008_1:7.0/NRD90M/US_Phone-14.14.1711.92-20171208:user/release-keys
AsusZenFone 3 Max7.0Take screenshot of the screen which can be used to examine the user's notifications.Local app on the device with the READ_EXTERNAL_STORAGE permission to read from the sdcard and EXPAND_STATUS_BAR permission is needed to expand the status barasus/US_Phone/ASUS_X008_1:7.0/NRD90M/US_Phone-14.14.1711.92-20171208:user/release-keys
AsusZenFone 3 Max & ZenFone V Live7.0Command execution as the system userLocal app on the device without any permissionsasus/US_Phone/ASUS_X008_1:7.0/NRD90M/US_Phone-14.14.1711.92-20171208:user/release-keys & asus/VZW_ASUS_A009/ASUS_A009:7.1.1/NMF26F/14.0610.1709.56-20171017:user/release-keys
AlcatelA307.0Take screenshot of the screen which can be used to examine the user's notifications.Local app on the device with the READ_EXTERNAL_STORAGE permission to read from the sdcard and the EXPAND_STATUS_BAR permission is needed to expand the status barTCL/5046G/MICKEY6US:7.0/NRD90M/J63:user/release-keys
AlcatelA307.0Local root privilege escalation via ADB. The vendor allows read only properties to be modified. They could also peform this behavior to get root privileges. This was an Amazon Prime exclusive device.The user needs physical access to the device and needs to bypass the screen-lock if it existsTCL/5046G/MICKEY6US:7.0/NRD90M/J63:user/release-keys

DISCLAIMER

This work was supported by the Department of Homeland Security (DHS) Science and Technology (S&T) via award to the Critical Infrastructure Resilience Institute (CIRI) Center of Excellence (COE) led by the University of Illinois at Urbana-Champaign (UIUC). The views and conclusions contained herein are those of the authors and should not be interpreted as necessarily representing the official policies or endorsements, either expressed or implied, of DHS.