HomePWN y ataques de Replay BLE: Una demo en BlackHat Europe 2019 (Parte 2 de 2)
En la primera parte de este artículo vimos cuál era la demo que queríamos realizar para lograr capturar las tramas de apertura de un SmartLock enviadas por BLE para poder hacer un ataque de Replay o de reutilización de paquetes. Este tipo de ataques se aprovechan de que son mensajes estáticos que no caducan y pueden utilizarse de forma repetida.
En la primera parte vimos cómo era la trama que se enviaba al SmartLock por BLE cuando la capturamos usando la herramienta BTLEJack, que nos permite acceder a las tramas de red que se envían por medio del protocolo BlueTooth Low Energy. Ahora vamos a ver la demo completa.
HomePWN BLE Replay Attack
En este apartado vamos a ver la demo paso a paso. Lo primero es tener HomePwn corriendo. Vamos a hacer uso de 3 módulos:
Con el módulo de discovery/ble podemos hacer el descubrimiento de dispositivos BLE con cierta información alrededor. Información como:
La información de la bmac es importante ya que para poder conectarnos y leer las características del dispositivo debemos hacer uso de ella. Ahora, cargamos el módulo ble/read-characteristics. Este módulo proporciona la posibilidad de listar las características y las propiedades de éstas.
Como se puede ver en la imagen, haciendo uso de la bmac, se puede ejecutar el módulo. Si conociéramos el UUID de alguna característica, podríamos acertar más fácilmente con el objetivo. El atributo type debe coincidir con el atributo AddrType del módulo anterior.
El módulo conecta y obtiene el listado de características y handles asociados. Esto es fundamental para el ataque de replay, ya que debemos conocer dónde se puede escribir, dónde se lee, dónde se puede subscribir al dispositivo, etcétera.
Si nos fijamos en la última característica, vemos que es de escritura sin respuesta, esto quiere decir que el comando es enviado a la característica, pero no se llevará a cabo ninguna respuesta. Si observamos el UUID de la captura de Wireshark obtenida con BTLEJack en la primera parte de este artículo podemos ver justamente que coincide. Parece que hemos encontrado la característica utilizada por la aplicación para poder escribir el código y abrir el SmartLock.
El módulo ble/write-characteristic nos permite podemos escribir la información, previa conexión. En este caso, se configura la bmac, el UUID que hemos obtenido en el módulo anterior, se configura el comando que se quiere enviar a través del atributo data y e se proporciona el tipo de encode. Para este caso tenemos dos tipos de encode: HEX o ASCII.
La demo en vídeo
A continuación, os dejamos un vídeo de la demo completa para que podáis verla en ejecución. El ataque de Replay es llevado a cabo gracias al uso de HomePwn. El mundo del BLE tiene muchas posibilidades y esperamos ir añadiendo funcionalidades en el futuro.
Esperamos que os resulte de interés una de las demos que trataremos en BlackHat Arsenal 2019 y si estáis por ahí no dudéis en pasaros. Además, el próximo viernes estaré en Cybercamp 2019 con un taller de BLE y una charla sobre ATT&CK y alguna sorpresa. Tenemos una semana intensa como se puede ver. Esperemos estar mucho tiempo al pie del cañon en el equipo de Ideas Locas.
Saludos,
***********************************************************************************************
- HomePwn y ataques de Replay BLE: Una demo en BlackHat Europe 2019 (1 de 2)
- HomePwn y ataques de Replay BLE: Una demo en BlackHat Europe 2019 (2 de 2)
***********************************************************************************************
Figura 9: HomePWN y ataques de Replay BLE: Una demo en BlackHat Europe 2019 (Parte 2 de 2) |
En la primera parte vimos cómo era la trama que se enviaba al SmartLock por BLE cuando la capturamos usando la herramienta BTLEJack, que nos permite acceder a las tramas de red que se envían por medio del protocolo BlueTooth Low Energy. Ahora vamos a ver la demo completa.
HomePWN BLE Replay Attack
En este apartado vamos a ver la demo paso a paso. Lo primero es tener HomePwn corriendo. Vamos a hacer uso de 3 módulos:
• Discovery/ble
• Ble/read-characteristics
• Ble/write-characteristicsHay otro módulo que puede ser de gran utilidad en un momento determinado y es el de capture/bluetooth-scapy y capture/bluetooth-tcpdump. Estos módulos permiten capturar el tráfico bluetooth del equipo donde se ejecuta HomePwn.
Figura 10: Módulo discovery/ble en HomePWN |
Con el módulo de discovery/ble podemos hacer el descubrimiento de dispositivos BLE con cierta información alrededor. Información como:
• Si es conectable el dispositivo.
• El tipo de dirección (random, public...)
• El manufacturer.
• La bmac o dirección Bluetooth.
• La intensidad de señal. Distancia al dispositivo.Una vez ejecutamos el módulo y se realiza la búsqueda podemos obtener el listado de dispositivo con las características que se han encontrado. Dependiendo del entorno y del valor del rssi que configuremos podemos obtener un gran listado de dispositivos. Esto hay que tenerlo en cuenta.
Figura 11: Listado de dispositivos descubiertos |
La información de la bmac es importante ya que para poder conectarnos y leer las características del dispositivo debemos hacer uso de ella. Ahora, cargamos el módulo ble/read-characteristics. Este módulo proporciona la posibilidad de listar las características y las propiedades de éstas.
Como se puede ver en la imagen, haciendo uso de la bmac, se puede ejecutar el módulo. Si conociéramos el UUID de alguna característica, podríamos acertar más fácilmente con el objetivo. El atributo type debe coincidir con el atributo AddrType del módulo anterior.
Figura 12: Módulo ble/read-characteristics |
El módulo conecta y obtiene el listado de características y handles asociados. Esto es fundamental para el ataque de replay, ya que debemos conocer dónde se puede escribir, dónde se lee, dónde se puede subscribir al dispositivo, etcétera.
Figura 13: Información de características de un dispositivo descubierto por BLE |
Si nos fijamos en la última característica, vemos que es de escritura sin respuesta, esto quiere decir que el comando es enviado a la característica, pero no se llevará a cabo ninguna respuesta. Si observamos el UUID de la captura de Wireshark obtenida con BTLEJack en la primera parte de este artículo podemos ver justamente que coincide. Parece que hemos encontrado la característica utilizada por la aplicación para poder escribir el código y abrir el SmartLock.
Figura 14: Módulo de ble/write-characteristic |
El módulo ble/write-characteristic nos permite podemos escribir la información, previa conexión. En este caso, se configura la bmac, el UUID que hemos obtenido en el módulo anterior, se configura el comando que se quiere enviar a través del atributo data y e se proporciona el tipo de encode. Para este caso tenemos dos tipos de encode: HEX o ASCII.
La demo en vídeo
A continuación, os dejamos un vídeo de la demo completa para que podáis verla en ejecución. El ataque de Replay es llevado a cabo gracias al uso de HomePwn. El mundo del BLE tiene muchas posibilidades y esperamos ir añadiendo funcionalidades en el futuro.
Figura 15: Demo de BLE Replay Attack con HomePWN para abrir un SmartLock
Esperamos que os resulte de interés una de las demos que trataremos en BlackHat Arsenal 2019 y si estáis por ahí no dudéis en pasaros. Además, el próximo viernes estaré en Cybercamp 2019 con un taller de BLE y una charla sobre ATT&CK y alguna sorpresa. Tenemos una semana intensa como se puede ver. Esperemos estar mucho tiempo al pie del cañon en el equipo de Ideas Locas.
Saludos,
***********************************************************************************************
- HomePwn y ataques de Replay BLE: Una demo en BlackHat Europe 2019 (1 de 2)
- HomePwn y ataques de Replay BLE: Una demo en BlackHat Europe 2019 (2 de 2)
***********************************************************************************************
Autor: Pablo González Pérez (@pablogonzalezpe), escritor de los libros "Metasploit para Pentesters", "Hacking con Metasploit: Advanced Pentesting" "Hacking Windows", "Ethical Hacking", "Got Root" y “Pentesting con Powershell”, Microsoft MVP en Seguridad y Security Researcher en el equipo de "Ideas Locas" de la unidad CDO de Telefónica.
Para consultas puedes usar el Buzón Público para contactar con Pablo González
No hay comentarios:
Publicar un comentario