Ataques de Arranque Custom by GeekLock

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 6

1

Atacar modos de arranque personalizados de Nexus 6 y 6P


Roee Hay y Michael Goberman
Seguridad de IBM

Abstracto—Describimos una vulnerabilidad de alta II. Vulnerabilidades


gravedad (CVE-2016-8467) en Nexus 6 y 6P (con un impacto
menor en Nexus 6P) que permite habilitar interfaces USB En esta sección describimos las nuevas vulnerabilidades que
ocultas. Esto, junto con otra vulnerabilidad, se puede descubrimos. Cabe señalar que todos ellos fueron divulgados
combinar para realizar varios ataques. El primer ataque responsablemente a Google. Ambas vulnerabilidades se han
permite a un adversario con acceso USB al dispositivo,
parcheado; consulte la Sección IV para obtener más detalles.
poseer prácticamente el módem Nexus 6, accediendo a su
interfaz de diagnóstico. El segundo ataque también funciona Los dispositivos en los que probamos las vulnerabilidades son:
en Nexus 6P y permite el acceso a la interfaz AT del módem. Huawei Nexus 6P PESCADOR-FILA-VN1, Huawei Nexus 6P
El tercer y cuarto ataques son solo contra Nexus 6 y permiten PESCADOR-VN2 y dos Motorola Nexus 6 shamu XT1100 32 GB
la filtración de datos del kernel no inicializados y parte del P3A0 dispositivos.
tráfico de red a través de USB. El resto de los ataques
descritos permiten que el adversario obtenga una sesión Vulnerabilidad 1. Modos de arranque personalizados de Nexus 6P / 6 Anulación
ADB en un dispositivo Nexus 6P.
de configuraciones USB (CVE-2016-8467)

los androidboot.mode El argumento de la línea de


comandos del kernel (con un valor predeterminado de
I. Introducción
'normal') se propaga al ro.bootmode propiedad del
Uno de los principales vectores de ataque físico de los sistema que luego es leída por UsbDeviceManager. Estos
dispositivos móviles es su puerto USB / Lightning. A pesar de últimos mapas, según elconfig.xml file bajo la ruta AOSP
la suposición inmediata de que el adversario necesita poseer dispositivo / {huawei / angler, moto / shamu} / overlay /
el dispositivo para atacarlo, dicho ataque también podría frameworks / base / core / res / res / values (Figura 1
ser realizado por cargadores maliciosos (por ejemplo, cargadores públicos y 2), entre la pareja ( El modo de inicio, Actualque se
encuentran en los puertos aéreos) [19], también conocido como "Juice jacking" Configuración USB) y (nueva configuración USB). [18]
o por malware de PC esperando que el dispositivo móvil La nueva configuración USB se guarda en la
estar enchufado [25]. Por tanto, varias funciones de seguridad sys.usb.configpropiedad del sistema que
existen en Android para bloquear y reducir el impacto desencadena un inicio en la propiedad evento de acuerdo con dichos intentos
de explotación. Primero, los cargadores de arranque dispositivo / {huawei / pescador, moto / shamu} / init.
están bloqueados de forma predeterminada. Esto significa que el {pescador- / shamu} .usb.rc (Figura 5). Esto implica que el
atacante no debería ser capaz de hacer ningún daño (como atacante, capaz de cambiarandroidboot.mode puede obtener
reemplazar el sistema operativo de la plataforma) interactuando capacidades adicionales si una configuración USB segura
con el dispositivo.fastboot interfaz. Además, no se puede ahora se puede reemplazar por una insegura. De hecho,
desbloquear el gestor de arranque sin habilitar la casilla de como se puede ver, tanto en Nexus 6 como en 6P, las
verificación "Permitir desbloqueo OEM" en la Configuración del configuraciones originales se anulan con algunas más
desarrollador, a la que el atacante no puede acceder si el capaces. Las nuevas interfaces agregadas para Nexus 6 son
dispositivo está protegido con credenciales de usuario. Además, las siguientes: (1)diag: proporciona acceso de diagnóstico al
incluso si el atacante de alguna manera logró eludir esa casilla Snapdragon 805 SoC (APQ8048). No logramos realizar ningún
de verificación, desbloquear el cargador de arranque activará un ataque accediendo a esta interfaz, aunque una investigación
restablecimiento de fábrica, que debería eliminar todos los datos adicional puede demostrar lo contrario. (2)diag_mdm:
del usuario. La Prevención de restablecimiento de fábrica (FRP) Proporciona acceso de diagnóstico al módem (MDM9x25).El
[9] posteriormente inutilizará el dispositivo. Otras características Ataque 1 describe lo que logramos al acceder a él. (3)
de seguridad notables son Full Disk Encryption (FDE) [7] serial_hsic. Acceso en serie a la interfaz AT del módem del
introducido en Android 5.0, y el reciente File Based Encryption dispositivo, cubierto por el Ataque 2. (4)serial_tty: Acceso a un
(FBE) [6] que habilita Direct Boot [10], introducido en Android 7.0 NMEA interfaz. Esta interfaz debe proporcionar datos de GPS,
- ambas características tienen como objetivo evitar el robo de sin embargo, no lo cubrimos en este documento. (5)
datos personales por atacantes físicos. Además, para protegerse rmnet_hsic: Acceso a la interfaz RmNet. No cubierto en este
también contra ataques externos, las claves de cifrado están documento. (6)usbnet. una interfaz USB identificada por
respaldadas por hardware, “Motorola Test Command”, cubierta por Attack 3 y Attack 4.
A pesar de los mecanismos de protección, los dispositivos móviles aún
pueden verse comprometidos mediante la explotación de vulnerabilidades [14, En cuanto a Nexus 6P, las nuevas interfaces agregadas son: (1)
5, 4, 21]. diag: proporciona acceso de diagnóstico al módem. Puerto
identificado como MSM8994. Habilitar esta interfaz no tiene ningún comunidad de ingenieros / mentores [16], pero en cuanto a seguridad, se pasa
impacto en la seguridad, al menos en nuestros dispositivos de por alto.
prueba Nexus 6P, porque para acceder a los datos de diagnóstico era
necesario mostrar una imagen de radio personalizada. (2)serial_smd: <string -array translatable = "false" name = "
Acceso en serie a la interfaz AT del módem del dispositivo, cubierto config_oemUsbModeOverride "> <item>" hw-factory: mtp:
manufacture, adb "</item>...
por el Ataque 2. (3) adb: Habilita el 'Puente de depuración de
Android'. Esta interfaz agregada es problemática ya que deshonra la <item> "hw-factory: adb: manufacture, adb" </item> <item> "bp-
opción 'Habilitar depuración USB' en el menú 'Configuración del tools: mtp: diag, serial_smd, rmnet_ipa,
adb "
desarrollador', lo que permite que el dispositivo acepte conexiones </item>
ADB de hosts previamente autorizados. Cubierto por los Ataques 5 y ...
6. (4)rmnet_ipa: Acceso al RmNet interfaz. No cubierto en este <item> "bp-tools: rndis, adb: rndis, serial, adb" </
artículo>
documento. (5)fabricar: incluye todas las interfaces anteriores </ string -array>
además de una interfaz de dispositivo de almacenamiento masivo,
que parece no tener ningún impacto en la seguridad.
Figura 1. Se anula la configuración del puerto USB del Nexus 6P
La única pregunta que queda abierta es cómo cambia el
adversario. androidboot.mode. Resulta que debajo del dispositivo
Nexus 6P / 6 fastboot UI (en la que un atacante físico no autenticado
<string -array traducible = "falso"
puede iniciar), existen dos elementos de menú patentados. Estos nombre = "config_oemUsbModeOverride">
elementos de menú instruyen, incluso en un cargador de arranque ...
<item> "bp-tools: mtp: diag, diag_mdm, serial_hsic,
bloqueado, para cambiar elandroidboot.modeargumento a
serial_tty, rmnet_hsic, usbnet "
cualquiera bp-herramientas o hw / mot-factory. Curiosamente, la </item>
capacidad de cambiar el modo de arranque a través de la interfaz de <item> "bp-tools: adb: diag, diag_mdm, serial_hsic,
serial_tty, rmnet_hsic, usbnet, adb "
usuario fastboot se conoce desde hace mucho tiempo dentro de la
comunidad de desarrolladores [24], sin embargo, parece que se ha </item>
pasado por alto su impacto en la seguridad. <item> "mot -factory: rndis, adb: usbnet, adb" </item> <...
La situación es más grave, ya que un atacante con acceso a <item> "mot -factory: adb: usbnet, adb" </item> </ string
ADB, como un malware de PC o un cargador malicioso conectado -array>
a un dispositivo habilitado para ADB, puede cambiar el modo de
arranque. permanentemente, emitiendo los siguientes Figura 2. Anulación de la configuración del puerto USB del Nexus 6
comandos:

cargador de arranque de reinicio adb en la propiedad: sys.usb.config = diag, serial_smd,


fastboot oem config bootmode bp-tools (N6) rmnet_ipa, adb
detener adbd
fastboot oem bp-tools-on (N6, opción 2)fastboot escribir / sys / class / android_usb / android0 / habilitar 0
oem enable-bp-tools (N6P)reinicio de fastboot escritura ...
escribir / sys / class / android_usb / android0 / enable adbd 1
comienzo
setprop sys.usb.state $ {sys.usb.config}
Del mismo modo, para arrancar con hw / mot-factory, el
atacante puede emitir:
Figura 3. init.angler.usb.rc de Nexus 6P

cargador de arranque de reinicio adb

fábrica fastboot oem config bootmode (N6) Vulnerabilidad 2. Fuga de memoria no inicializada del kernel
fastboot oem enable-hw-factory (N6P)reinicio de usbnet de Nexus 6 a través de USB (CVE-2016-6678)
fastboot El controlador del kernel f usbnet de Motorola filtra 4-5 bytes de
datos del kernel no inicializados por cada marco que envía a través
Esto significa que el atacante ni siquiera necesita poseer el de USB, lo que permite al adversario extraer información del
dispositivo para atacarlo. Por lo tanto, el malware solo necesita dispositivo.
esperar a que la víctima habilite ADB una vez, y luego cualquier los usb_ether_xmit función (Figura 4) recibe el búfer de
arranque futuro tendrá habilitado el modo de arranque socket (skb) y lo pone en cola en el punto final USB. La
peligroso. Cabe señalar que puede aparecer un cuadro de función agrega otros 4-5 bytes al búfer del socketlen fi
diálogo de autorización ADB en el dispositivo. Otra opción para campo, con el fin de reservar espacio para el CRC de la trama
el malware sin acceso a ADB es esperar de manera oportunista a que se transmitirá próximamente. Dado que la función no
que el dispositivo esté en elfastbootmodo, y luego simplemente calcula y establece el CRC en el espacio reservado, el campo
emita el comando correspondiente. se envía sin inicializar (y puede contener datos de
Una vez más, la capacidad de cambiar el modo de arranque a asignaciones anteriores) a través del cable USB. La Figura 5
través de un comando fastboot se ha conocido dentro del desarrollo muestra una fuga exitosa.

2
III. Ataques
Describimos algunos ataques que pueden surgir de las
vulnerabilidades enumeradas anteriormente. La siguiente
stat ic int usb ether xmi t estructura sk bu ff ∗skb,
estructura ne t de vicio ∗dev) {
tabla resume los requisitos de ataque y las vulnerabilidades
estructura contexto usbnet ∗contexto = ne tdev pr iv ( explotadas, para cada uno de los ataques descritos.
dev);
estructura USB solicitud ∗req;
no firmado largo banderas Ataque Nexus 6 Nexus 6P Vulnerabilidad
no firmado l en;
En t rc;
1 χ∨ϕ - 1
req = usb obtener xmi tr eque st (DETENER COLA, dev); 2 χ∨ϕ χ∨ϕ 1
....
/ ∗ Agregar 4 bytes CRC ∗ /skb->l
3 χ∨ϕ - 1,2
en + = 4; 4 χ∨ϕ - 1
/ ∗ asegúrese de que terminemos con un paquete corto ∗ /l en 5 - φ∧ϕ 1
= skb->l en; 6 - METRO ∧ F 1
si (! (l en & 63) | |! (l en y 511))
l en ++; Leyenda: φ - Acceso físico a la PC bloqueada autorizada
req->context = skb; req->buf =
skb->datos ; req->l ength = l en; por ADB de la víctima. ϕ- Acceso físico al dispositivo Android.
χ - PC / cargador malicioso infectado con malware con (al
rc = cola ep usb (contexto->a granel, req, menos) acceso ADB / fastboot una vez a un dispositivo.
NÚCLEO GFP); METRO - PC autorizada por ADB infectada con malware. F -
....
regreso 0; dispositivo en modo fastboot.
}
Ataque 1. Acceso no autenticado a la interfaz de diagnóstico del
módem de Nexus 6 a través de USB
Figura 4. f función usb ether xmit de usbnet
Configuración y requisitos previos: Este ataque explota Vuln 1 y
funciona solo en Nexus 6, por lo que requiere un atacante (malware
de PC / cargador / atacante físico) que pueda reiniciar en uno de los
modos de arranque especiales como se explicó anteriormente.

Flujo de ataque: (1) El atacante reinicia el dispositivo Nexus


Ethernet
02 1a 11 fe 91 5d da 9c 27 ce 4c c9 08 00 45 c0 00 6c 3e 6 en uno de los modos especiales para habilitar el diag_mdm
5e 00 00 40 01 33 6b 01 02 03 04 01 02 03 01 03 03 05
dst
src
02: 1a: 11: fe: 91: 5d
da: 9c: 27: ce: 4c: c9
53 00 00 00 00 45 00 00 50 00 01 00 00 40 11 72 94 01 interfaz. (2) El atacante ahora puede acceder a la interfaz
02 03 01 01 02 03 04 04 d2 00 33 00 3c 0e 85 61 61 61
USB. En cuanto al adversario físico, cabe señalar que FDE no
escribe 0x800
61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61
IP 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61
versión
ihl
4L
5L
61 61 61 61 61 61 61 61 61 61 61 72 6f 69 64
protege contra este ataque porque se puede acceder a la
tos 0xc0
len 108 interfaz de diagnóstico antes de la autenticación de la
15966
víctima, por lo que el atacante puede causar algunos
identificación

banderas

frag 0L
ttl
proto
64
icmp
estragos antes de abandonar el dispositivo.
chksum 0x336b
src 1.2.3.4
También debe tenerse en cuenta que nuestro modelo de propiedad (
dst 1.2.3.1
opciones [] XT1100)es el internacional. El otro modelo (XT1103) podría impedir el
ICMP
escribe dest-unreach
acceso de diagnóstico al módem y / o tener un código de proveedor de
puerto inalcanzable
servicios (SPC) y una contraseña de diagnóstico diferentes.
código

chksum 0x553
reservado 0
largo 0 Impacto: El acceso a la interfaz de diagnóstico permite al
nexthopmtu 0
IP en ICMP adversario poseer prácticamente el módem. Logramos con éxito (1)
versión 4L
ihl 5L Interceptar llamadas telefónicas. En nuestro entorno de prueba, se
tos 0x0
len
identificación
80
1
trataba de tramas de codificador de voz UMTS RX / TX con audio
banderas

frag 0L
codificado en AMR 12.2 [3]. Luego los ensamblamos en un archivo
ttl 64
proto udp AMR [1], el resultado se muestra en la Figura 6 como una forma de
chksum 0x7294
src 1.2.3.1 onda. (2) Olfatear paquetes de datos. (Figura 7) (3) Encuentre las
dst 1.2.3.4
opciones [] coordenadas GPS exactas con información satelital detallada. (4)
UDP en ICMP
deporte 1234 Obtenga información de llamadas. (5) Iniciar llamadas telefónicas. (6)
dport 51
len 60 Acceder / Cambiar elementos NV. (7) Acceder / Cambiar el EFS.
chksum 0xe85
Crudo

carga 'aaaaaaaaaaaaaaaaa [...]


Relleno
carga 'esteroide' Ataque 2. Acceso no autenticado a la interfaz AT del módem
del dispositivo a través de USB
Figura 5. f Fuga de usbnet (el campo 'Relleno')
Configuración y requisitos previos: Similar al Ataque 1, pero
también funciona en Nexus 6P.
Flujo de ataque: Similar al Ataque 1.

3
2 otros
Figura 6. Forma de onda 'IBM' interceptada (con acento hebreo)
(UMTS RX)

Figura 8. Detección de SMS a través de A en Nexus 6P

A Descripción
+ CLCC Mostrar llamada actual

+ VZWRSRP / Q (solo N6) Obtenga ID de celda física,


RSRP y RSRQ
+ CMGS Enviar SMS
+ CNMI = 1,2,0,0,0 Olfatear SMS

+ CFUN = 6 (solo N6) Reiniciar el dispositivo

ˆSYSCONFIG = 13,0,2,4 Cambiar a GSM


ˆSYSCONFIG = 2,0,2,0 Solo conmutación de circuito

ˆSYSCONFIG = 2,0,2,1 Solo conmutación de paquetes

Figura 9. Varios comandos AT con impacto en la seguridad

omitir la autenticación de dos factores. Consulte la Figura 9 para ver


algunos comandos AT con impacto en la seguridad. (2) Las interfaces
Figura 7. Detección de datos LTE
habilitadas aumentan innecesariamente la superficie de ataque del
dispositivo de la víctima (Nexus 6 tiene 372 comandos AT devueltos
porEN $ QCCLAC, mientras que Nexus 6P tiene 316 comandos), lo
Impacto: (1) El atacante tiene acceso 'AT' al módem, lo que le
que permite la explotación de otras vulnerabilidades, si existen.
permite robar información confidencial, como ver números de
llamadas entrantes. Además, el atacante puede recuperar el ID de
celda física (PCI) y el nivel de señal. El atacante también puede leer y Ataque 3. Fugas de datos del kernel no inicializados a través de USB
enviar mensajes SMS de forma transparente en nombre de la
Configuración y requisitos previos: Este ataque es solo contra Nexus 6
víctima, el atacante puede hacer que el dispositivo acepte o realice
y tiene como objetivo el dispositivo USB usbnet de Motorola [20].
llamadas telefónicas, lo que prácticamente le permite escuchar a
Flujo de ataque: (1) El atacante reinicia el teléfono en uno de
escondidas conversaciones cercanas. Curiosamente, en Nexus 6 con
los modos de arranque especiales, explotando Vuln 1 (2) El
Android 6.0, si el dispositivo está en la pantalla de autenticación de
atacante ahora puede acceder a la interfaz usbnet, que le
inicio seguro (FDE), una llamada telefónica realizada (después de
permite configurar (es decir, cambiar la configuración de IP) a
habilitar la funcionalidad del módem, usandoAT ^ CFUN = 1) no
través de USB la interfaz de red 'usb0' en el dispositivo de la
tendrá ninguna indicación de IU, por lo que el usuario no se dará
víctima (Figuras 10 y 11). Esto le permite capturar el tráfico de
cuenta de que el otro lado está escuchando. (En Android 7.0, el
red que fluye desde / hacia ese adaptador a través de USB. (3) El
usuario ve una llamada realizada / entrante, aunque se indica un
atacante induce al dispositivo a enviar paquetes a través del
modo avión). Además, el atacante puede cambiar permanentemente
cable USB. Por ejemplo, esto se puede lograr enviando paquetes
varias configuraciones de radio, como deshabilitar los servicios de
UDP a puertos UDP cerrados, ya que hará que el otro extremo
conmutación de circuitos o paquetes (conEN ^ SYSCONFIG), haciendo
transmita respuestas inaccesibles al puerto ICMP. Debido a Vuln
que el dispositivo no pueda realizar / recibir llamadas telefónicas o
2, los paquetes de respuesta contienen 4-5 bytes filtrados (Figura
datos. Desafortunadamente, estos cambios sobreviven a los
5).
restablecimientos de fábrica de Android. Además, el atacante puede
Impacto: Los datos del kernel filtrados pueden contener
degradar la conexión de red a protocolos más antiguos. La Figura 8
información confidencial y / o ayudar a realizar una explotación
muestra el rastreo de SMS a través de la interfaz AT en Nexus 6P, lo
adicional.
que puede permitir al atacante

4
ip = socket.inet_aton (IP_ADDR) ipwords = adb_auth_client.cpp). Un problema, como con Poison-Tap
struct.unpack ("HH", ip) sn = socket.inet_aton [17], es que el host ADB firma un token determinado, incluso
(SUBNET_MASK) snwords = struct.unpack ("HH", sn)
host = socket.inet_aton (HOST) hostwords = en hosts bloqueados. Otro problema fundamental con el
struct.unpack ("HH", host) protocolo ADB que permite ataques es el hecho de que solo
el apretón de manos es seguro. Por lo tanto, un atacante de
dev = usb.core.find () Manin-the-Middle (MiTM) puede colocar algún hardware
dev.ctrl_transfer (0x40, 0x5, ipwords [1], ipwords [0]) dev.ctrl_transfer (0x40, especial entre el dispositivo de la víctima y el host para
0x6, snwords [1], snwords [0]) dev.ctrl_transfer (0x40, 0x7, hostwords [1], secuestrar / monitorear la sesión de ADB.
hostwords [0])
Configuración y requisitos previos: Nuestro ataque supone un
acceso físico a la PC y al dispositivo Android de la víctima. La PC se
Figura 10. Nexus 6 usb0 configuración vía USB
puede bloquear. El ataque requiere que la PC de la víctima esté
autenticada con adbd, sin embargo, no requiere que ADB se esté
shell @ shamu : / $ ifconfig usb0 usb0 ejecutando en el dispositivo antes de hacerlo. Un ejemplo factible de
Encapsulado de enlace: UNSPEC
inet addr: 1 .2.3.4 Bcast: 1 .2.3.255 Máscara: 255 una configuración de este tipo con los requisitos previos antes
.0.0.0 mencionados es un atacante interno, dirigido a un compañero
inet6 addr: fe80 :: dcb9: c8ff: fee0: e04b / 64 Alcance: Link UP BROADCAST
EJECUTANDO MULTICAST MTU: 1500 desarrollador, que dejó su dispositivo bloqueado desatendido. El
Métrica: 1 desarrollador había autorizado ADB permanentemente a su PC, pero
Paquetes RX: 10 errores: 96 descartados: 2 desbordamientos: 0 trama: 0
paquetes TX: 394 errores: 0 descartados: 0 desbordamientos: 0 portadora: 0 luego desactivó ADB en el dispositivo.
colisiones: 0 txqueuelen: 1000 Flujo de ataque: (1) Al explotar Vuln 1, un atacante no
Bytes RX: 176 bytes TX: 50601
autenticado habilita adbd en el dispositivo. (2) El atacante
conecta el dispositivo a través de un proxy USB. (3) La PC de
Figura 11. Nexus 6 con configuración USB usb0 adaptador
la víctima (ADB HOST) firma ciegamente el token ADB
generado por el dispositivo, incluso si está bloqueado. (3) El
Ataque 4. Fugas limitadas de paquetes a través de USB atacante ahora tiene una sesión adb autenticada con el
dispositivo de la víctima.
Configuración y requisitos previos: A partir del Ataque 3.Flujo Impacto: El atacante ahora tiene un shell (ejecutándose como el
de ataque: De manera similar al Ataque 3, el adversario usuario 'shell' capaz que es miembro de varios grupos) en el
interactúa y configura, a través de USB, el adaptador de red dispositivo. Por lo tanto, puede instalar aplicaciones maliciosas,
usb0, pero esta vez con configuraciones de red arbitrarias para copiar archivos desde / hacia el dispositivo, generar un informe de
exfiltrar / inyectar tráfico de red desde / hacia el dispositivo. errores y más. Tenga en cuenta que Direct Boot [10] no protege
contra la instalación de malware.
Impacto: (1) Nuestro breve análisis demostró que podemos
capturar paquetes de transmisión y multidifusión (como Googlecast Ataque 6. Obtener una sesión ADB de un dispositivo Nexus 6P mediante

mensajes de descubrimiento). No hemos logrado que los paquetes software malicioso para PC
de unidifusión con puertos TCP / UDP por debajo de 1024 se enruten
Configuración y requisitos previos: El ataque requiere que la PC de
al dispositivo USB, excepto los generados porraíz. (2) Hemos logrado
la víctima esté autenticada con adbd, sin embargo, no requiere que
capturar conexiones de unidifusión a cualquier IP, apuntando a los
ADB se esté ejecutando en el dispositivo antes de hacerlo. Un
puertos 1024 y superiores, mediante el uso de una aplicación
ejemplo factible de tal configuración es un desarrollador que había
maliciosa sin permiso (a excepción del permiso INTERNET otorgado
autorizado ADB permanentemente a su PC, pero luego deshabilitó
automáticamente) que escucha en los puertos por encima de 1024.
ADB en el dispositivo.
Luego, el atacante puede configurar el adaptador usb0 con la IP de
Flujo de ataque: (1) El malware para PC espera a que la víctima
su objetivo (por ejemplo, la IP de www.ibm.com). Esto hará que
coloque el dispositivo en el fastboot modo, luego explota Vuln 1
cualquier tráfico dirigido a esa IP se recupere en un bucle de retorno,
usando el comando fastboot mencionado anteriormente. (2) El
que el atacante escucha. Este ataque puede permitir Universal XSS en
atacante ahora tiene una sesión adb autenticada con el
sitios sin HSTS [15], o en sitios HSTS nunca visitados / antiguos que
dispositivo de la víctima.
no están en la lista de precarga de HSTS [2].
Impacto: Similar al Ataque 5.

Ataque 5. Obtener una sesión ADB de un dispositivo Nexus 6P IV. Divulgación coordinada
por parte de un atacante físico
Todos los problemas se comunicaron de manera responsable a Google
Fondo: Como parte del apretón de manos de ADB [22], antes de la publicación de este documento.
adbd, que se ejecuta en el dispositivo móvil, genera un Google calificó a Vuln 1 (CVE-2016-8467) con Elevadogravedad y la
token aleatorio de 20 bytes (adb_auth_generate_token mitigó al prohibir que un cargador de arranque bloqueado arrancara
debajoadb_auth_client.cpp) que es entonces RSA-firmado con los modos de arranque peligrosos. La primera versión de
por el anfitrión de ADB (adb_auth_sign debajo cargador de arranque no vulnerable de Nexus 6 es 71.22 (publicada
adb_auth_host.cpp).El primero devuelve el token firmado en el Boletín de seguridad de Android de noviembre de 2016 [11]). La
a adbd, que valida la firma (adb_auth_verify debajo primera versión de gestor de arranque no vulnerable de

5
Nexus 6P es 03.64, lanzado como parte del boletín de seguridad [dieciséis] Palanqueta. ADB Comandos. https:
de enero de 2017 [13]. // sitios.Google.com / site / jimmy1115kk / engineering /
Google calificó a Vuln 2 (CVE-2016-6678) con Moderar android / adb-commands.
severidad y la mitigó mediante el compromiso 3f3c8a8 [23]. El [17] Kamkar, S. PoisonTap: extrae cookies, expone el enrutador
relleno ahora se pone a cero para que los bytes no inicializados interno e instala una puerta trasera web en computadoras
no se filtren. El parche se publicó como parte del boletín de bloqueadas, 2016. https: // samy.pl / poisontap /.
seguridad de Android de octubre de 2016 [12]. [18] Krebs, B. Cuidado con el Juice-Jacking, 2011.
https: // krebsonsecurity.com / 2011/08 / cuidado-con-la-
extracción-de-jugo /.
Referencias [19] Lau, B., Jang, Y. y col. MACTANS, inyección de malware
en dispositivos iOS a través de cargadores maliciosos.
[1] Formato de archivo AMR. http: // hackipedia.org / File% En BlackHat Estados Unidos (2013), Instituto de
20formats / Containers / AMR,% 20Adaptativo% Tecnología de Georgia. https: // medios.sombrero
20MultiRate / AMR% 20format.pdf. negro.com / us-13 / US-13-Lau-Mactans-Injecting-
[2] Envío de lista de precarga HSTS. // https: Malware-in-iOS-Devices-via-Malicious-Chargers-WP.pdf.
hstspreload.org /. [20] Motorola, Inc. Controlador de gadget para Motorola
[3] Códec AMR en UMTS, 2007. // http: USBNet, 2009. https: // android.googlesource.com /
onlinelibrary.wiley.com / doi / 10. kernel / msm.git / + / android-msm-shamu-3.10-
1002/9780470612279.aplicación1 / pdf. marshmallow / drivers / usb / gadget / f usbnet.C.
[4] Beniamini, G. Privilegio QSEE escalada [21] Shen, D. Explotación de Trustzone en Android. En
vulnerabilidad y explotación (CVE-2015-6639). http: // Sombrero negro (2015).
bits-por favor.blogspot.com / 2016/05 / qseeprivilege- [22] Styan, C. Documentación del protocolo ADB. https: //
escalation-vulnerabilidad.html. github.com / cstyan / adbDocumentation.
[5] CodeAurora. El comando de arranque Fastboot omite [23] Tjin, P. usb: gadget: f usbnet:
la verificación de firmas (CVE-2014-4325), 2014. relleno de cero.CRC https: //
https: // www.codigo aurora.org / projects / androide.googlesource.com / kernel / msm / + /
securityadvisories / fastboot-boot-command- 3f3c8a8313ff7995498d6e794f67650c8ba8072d.
bypassessignature-verify-cve-2014-4325. [24] Desarrolladores XDA. Breve guía para conectarse al
[6] Google. Cifrado basado en archivos. https: puerto diag con QPST y QXDM para Nexus 6P, 2016.
//fuente.androide.com / security / encryption / https: // foro.desarrolladores xda.com / nexus-6p /
filebased.html. general / guide-biref-guide-to-connect-to-
[7] Google. Cifrado de disco completo. https: diagt3354938.
//fuente.androide.com / security / encryption / [25] Xiao, C. DualToy: El nuevo troyano de Windows transfiere
fulldisk.html. aplicaciones riesgosas a dispositivos Android e iOS,
[8] Google. Almacén de claves respaldado por hardware. https: // 2016. http: // researchcenter.paloaltonetworks.com /
fuente.androide.com / security / keystore / index.html. 2016/09 / dualtoy-new-windows-trojan-sideloads-
[9] Google. Asegúrese de que su dispositivo esté riskyapps-to-android-and-ios-devices /.
tected. https: // soporte.Google.com / nexus / answer /
6172890? hl = es.
[10] Google. Secundario directo bota.
https: // desarrollador.androide.com / training / articles /
direct-boot.html.
[11] Google. Boletín de seguridad de Android: noviembre de
2016, 2016. https: // source.androide.com / security /
bulletin / 2016-11-01.html.
[12] Google. Boletín de seguridad de Android: octubre
2016, 2016. https: // fuente.androide.com / security /
boletín / 2016-10-01.html.
[13] Google. Boletín de seguridad de Android: enero
2017, 2017. https: // fuente.androide.com / security /
boletín / 2017-01-01.html.
[14] Hay, R. Vulnerabilidad parcheada no documentada en Nexus
5X permitida para volcado de memoria a través de USB,
2016. http: // ibm.co / 2i2HVlK.
[15] Hodges, J., Jackson, C. y Barth, A. RFC 6797: HTTP
Strict Transport Security (HSTS), 2012. https: //
herramientas.ietf.org / html / rfc6797.

También podría gustarte