Explotación de vulnerabilidad Bluetooth en Android con 0-click

Una vulnerabilidad crítica descubierta recientemente (CVE-2023-45866, CVE-2024-21306) en Bluetooth se puede aprovechar para inyectar pulsaciones de teclas sin la confirmación del usuario, aceptando cualquier solicitud de emparejamiento de Bluetooth.

Estas vulnerabilidades afectan a los sistemas operativos Android, Linux, macOS, iOS y Windows, lo que las convierte en una grave amenaza para los usuarios de diferentes plataformas.

Las vulnerabilidades fueron descubiertas por Marc Newlin, que también publicó scripts de explotación de prueba de concepto. Con estos scripts, es posible inyectar pulsaciones de teclas en cualquier dispositivo Android y Linux sin parches que se encuentre cerca de un equipo o gadget con Bluetooth haciéndose pasar por un teclado Bluetooth. Dicho teclado Bluetooth forzará el emparejamiento de un dispositivo específico sin ninguna interacción o notificación del usuario, tratándose de un exploit del tipo 0-click.

Hoy nos enfocaremos en la explotación de dispositivos Android sin parches utilizando un teléfono inteligente Android.

No se desarrolla la plataforma móvil iOS debido a que el escenario de explotación es difícil y requiere Magic Keyboard y una sincronización exacta.

En ese caso, el momento es un momento específico en el que un atacante necesita conectarse a iOS en el momento en que el usuario de iOS intenta conectarse al Magic Keyboard.

El atacante también puede conectarse a iOS falsificando el Magic Keyboard, sin embargo, el teclado debe estar fuera del alcance de Bluetooth y el atacante aún necesita conocer la dirección MAC del Bluetooth Magic Keyboard, lo que en un caso real será un desafío.

Si estás interesado en obtener más detalles sobre estas vulnerabilidades dirigidas a Linux, macOS, iOS y Windows, le aconsejo que leer el blog original.

Dispositivos vulnerables

La lista de todos los sistemas operativos afectados conocidos se encuentra en la Tabla 1 a continuación.

Android4.2, 5, 6, 7, 8, 9, 10CVE-2023-45866no hay solución disponibleAndroid 3 y anteriores no fueron probados
Android11, 12, 13, 14CVE-2023-45866fixed in 2023-12-05 security patch level
Linux (BlueZ)Distros AfectadasCVE-2023-45866BlueZ patch available
macOS12, 13CVE-2023-45866no hay solución disponiblemacOS 11 y anteriores no fueron probados
macOS14CVE-2023-45866fixed in macOS 14.2
iOS16CVE-2023-45866no hay solución disponibleiOS 15 y versiones anteriores no fueron probadas
iOS17CVE-2023-45866fixed in iOS 17.2
Windows10, 11, Server 2022CVE-2024-21306fixed in January 2024 Patch TuesdayLas versiones anteriores de Windows no fueron probadas.
Tabla 1. Versiones afectadas conocidas (fuente: https://github.com/skysafe/reblog/blob/main/cve-2024-0230/README.md)

Desde el punto de vista de Android, la tabla anterior ilustra que Android hasta la versión 10 es vulnerable y no hay ninguna solución disponible.
Si ejecuta Android 11 y versiones posteriores, es posible que aún sea vulnerable sin el parche de seguridad 2023-12-05.

Requisitos previos a la explotación

Usando un teléfono inteligente Android rooteado (OnePlus 7 Pro) con un kernel NetHunter personalizado que admite escaneo Bluetooth mediante el chipset Bluetooth incorporado. También es posible utilizar un dongle Bluetooth externo conectado a Android mediante un adaptador OTG; sin embargo, la compatibilidad con el Kernel es esencial.

Cómo descubrir dispositivos Android

La vulnerabilidad de Android es de 0-click y los dispositivos no parcheados pueden explotarse siempre que Bluetooth esté habilitado. Esta vulnerabilidad se encuentra en la tecnología Bluetooth clásica, no en el protocolo Bluetooth Low Energy (BLE).

Esto significa que si queremos explotar un dispositivo Android, primero debemos descubrirlo para obtener su dirección MAC de Bluetooth.

Los dispositivos BLE se anuncian transmitiendo paquetes periódicamente, para que otros dispositivos los detecten.

Para descubrir un dispositivo Android con Bluetooth clásico, el dispositivo debe estar en modo reconocible; de lo contrario, los dispositivos cercanos no podrán detectarlo.

Para habilitar el modo reconocible, el usuario debe abrir las opciones de Bluetooth en Configuración, de modo que su dirección MAC de Bluetooth pueda revelarse a otros dispositivos y, en nuestro caso, a un atacante.

Con la dirección MAC del dispositivo vulnerable objetivo, es posible inyectar cualquier pulsación de tecla para tomar control del objetivo, convirtiéndolo en un escenario de ataque Bluetooth HID.

Si desea saber más sobre los ataques HID, no dude en leer la guía definitiva sobre ataques HID utilizando scripts Rubber Ducky y el ataque Bad USB MITM.

Explotación

Para encontrar dispositivos Bluetooth y su dirección MAC, usando el menú Bluetooth Arsenal de Kali NetHunter, como se ve en la Figura 1.

Figura 1. Escaneando dispositivos Bluetooth

Una vez obtenida la dirección MAC del dispositivo objetivo probado, es posible proceder clonando scripts de explotación desde GitHub usando el comando:

git clone https://github.com/marcnewlin/hi_my_name_is_keyboard.git

También se necesita instalar la biblioteca pydbus usando el comando:

pip3 install pydbus

Ingresar al directorio recién clonado y ejecutar el script keystroke-injection-android-linux.py. Como entrada, se debe especificar la interfaz Bluetooth (-i).

Usando un chipset interno (hci0), o usando un adaptador externo (hci1). Como objetivo (-t), ingresar la dirección MAC del dispositivo objetivo. De forma predeterminada, el script inyectará un conjunto de pulsaciones de teclas del Tabulador. Suficiente como prueba de concepto.

./keystroke-injection-android-linux.py -i hci0 -t 22:22:42:E6:DD:A8

La salida de la consola podría verse similar a la de la Figura 2.

Figura 2. Salida de la consola después de una inyección exitosa de una tecla

Se recomienda ver el siguiente video

Dispositivo de adquisición con Metasploit Payload

Esta vulnerabilidad crítica puede ser más peligrosa si el atacante pudiera apoderarse del dispositivo objetivo mediante la instalación remota de una aplicación de software espía.

Lo que quiero decir es abrir el navegador, descargar, instalar y ejecutar el Payload que abriría una puerta trasera en el teléfono inteligente a través de Bluetooth sin ninguna interacción del usuario.

En el vídeo a continuación puedes ver una demostración de la instalación del Payload de Metasploit que, por simplicidad, está alojada en la red local.

PoC se tomará control de Android utilizando otro Android mediante la explotación de una vulnerabilidad crítica de Bluetooth para instalar Metasploit Payload sin el emparejamiento Bluetooth adecuado (CVE-2023-45866)

Este caso puede concretarse solo si el dispositivo está desbloqueado o no cuenta con bloqueo de pantalla configurado.

Restringir el acceso al dispositivo objetivo

Los dos casos anteriores requerían que el dispositivo estuviera desbloqueado o sin bloqueo de pantalla configurado, como PIN, contraseña o patrón. ¿Qué se podría hacer si el dispositivo tiene habilitado el PIN? Bueno, el atacante puede intentar de forma remota forzar el PIN por fuerza bruta hasta que el dispositivo se bloquee. Esto se supone que no se adivinará el PIN correcto. De forma predeterminada, después de cinco PIN incorrectos, el dispositivo Android se bloquea durante 30 segundos. Después de cinco intentos fallidos más, el dispositivo se bloquea durante otros 30 segundos. Luego se pone peor, porque después de cada PIN incorrecto hay un tiempo de espera de 30 segundos. Después de un total de 41 intentos, el tiempo de espera aumenta a 60 segundos por cada intento incorrecto. Esta fuerza bruta se puede repetir en un bucle para inutilizar el dispositivo, ya que las pulsaciones de teclas inyectadas se escriben más rápido que los toques del usuario para desbloquear el dispositivo. En el video a continuación se pudo dejar al usuario sin acceso al dispositivo durante 30 segundos.

Mantenerse seguro

Si estás ejecutando Android 11 y superior, la mejor decisión es parchear el dispositivo, por supuesto, si el OEM ya impulsó la actualización de seguridad de Android 05-12-2023. Si no, tendrás que esperar.

Si tienes Android 10 y versiones anteriores, lamentablemente el parche de seguridad no está disponible y, según la publicación original de Marc Newlin, no estará parcheado.

La buena noticia es que un atacante que se encuentre cerca no puede recibir automáticamente la dirección MAC Bluetooth de los dispositivos Android. Sólo es posible si el dispositivo está en modo reconocible. En caso de que el atacante ya tenga la dirección MAC y el dispositivo no esté parcheado, lo más seguro es apagar el Bluetooth.

Este reciente descubrimiento de una vulnerabilidad de Bluetooth es una grave amenaza para los usuarios de diferentes plataformas. La vulnerabilidad de Android es 0-click y los dispositivos sin parches de seguridad actualizados pueden explotarse siempre que Bluetooth esté habilitado.

Para mitigar el riesgo de ataques de Bluetooth, es importante:

  • Mantener los dispositivos actualizados,
  • Desactivar el Bluetooth cuando no esté en uso,
  • Evitar el emparejamiento con dispositivos desconocidos y
  • No activar el modo detectable si no es necesario.

Fuente: Mobile Hacker

Tags :
Amenazas, Riesgos, Seguridad
Share This :
WP Twitter Auto Publish Powered By : XYZScripts.com