Herramientas útiles para el análisis de este tipo de dispositivos inteligentes.
Ubertooth, Attify Badge, Killerbee y Attify OS.
Ubertooth:
Una gran cantidad de dispositivos inteligentes utilizan Bluetooth para comunicarse con equipos cercanos, como teléfonos móviles o controles remotos. En este sentido, poder interceptar y analizar este tráfico puede ser de gran utilidad para encontrar fallas de seguridad o para realizar ataques de MiTM y lograr enviar mensajes o comandos remotos al equipo.
El proyecto Ubertooth tiene todo lo necesario para experimentar y analizar la tecnología Bluetooth, ya que permite capturar e inyectar tráfico tanto BLE (Bluetooth Low Energy) como las conexiones clásicas de Bluetooth (Basic Rate).
Link: https://github.com/greatscottgadgets/ubertooth
Wiki: https://github.com/greatscottgadgets/ubertooth/wiki
Este proyecto consta de:
La antena Ubertooth ONE, que puede comprarse en tiendas online o construirse. Dado que el proyecto es de código abierto y que en el repositorio se encuentra el paso a paso para su ensamblado, así como también el Firmware que consta de un bootloader para el arranque y un software de recepción y transmisión de Bluetooth.
El software que se ejecuta en cualquier computadora con Linux o MacOS, y que permite interactuar con la antena o incluso analizar el tráfico capturado.
Una vez instalado el software y conectada la antena, podrán descargar y utilizar las diferentes herramientas que se incluyen en el repositorio para facilitar el análisis de los datos interceptados. Incluso, es posible analizar los paquetes capturados utilizando Wireshark, el cual ya incluye desde su versión 1.12 el plugin para el tráfico BLE.
Attify Badge:
Tener acceso al harwdare del dispositivo que se quiere analizar es una gran ventaja, ya que muchos puertos de comunicación no cuentan con protección contra el acceso físico al dispositivo. Desde el punto de vista del análisis, poder conectarse directamente al hardware del equipo permite interceptar el tráfico de las comunicaciones a más bajo nivel, analizarlo o incluso modificarlo e inyectar comandos.
De hecho, los ataques a través de JTAG y UART son los más efectivos para dispositivos IoT. JTAG (Joint Test Action Group) es una interfaz electrónica de cuatro o cinco pines utilizada para probar los módulos de circuitos integrados, y es muy útil también como mecanismo para depuración de aplicaciones embebidas, ya que provee una puerta trasera para acceder al sistema. UART (Universal Asynchronous Receiver-Transmitter), por su parte, es el chip que controla los puertos y dispositivos serie, tomando bytes de datos y transmitiendo los bits individuales de forma secuencial. Entre otras funciones, maneja las interrupciones de los dispositivos conectados al puerto serie y convierte los datos en formato paralelo, transmitidos al bus de sistema, a datos en formato serie, para que puedan ser transmitidos a través de los puertos y viceversa.
Attify Badge es una pequeña placa electrónica que permite interactuar con varios protocolos y puertos de comunicación muy utilizados en dispositivos inteligentes, como UART, SPI, I2C, JTAG y GPIO, entre otros. También, tiene varios pines GPIO (General Purpose Input/Output, Entrada/Salida de Propósito General), que pueden customizarse y utilizarse para diferentes propósitos, como sniffear el tráfico UART, conseguir acceso root desde un puerto serie, debaggear el dispositivo a través de JTAG o realizar un dump de la memoria del dispositivo. Según sus propios creadores, es la navaja suiza de la explotación de hardware IoT.
Info: https://blog.attify.com/hack-iot-device/
Killerbee:
La aparición de dispositivos pequeños, con recursos limitados, ha hecho que nuevos protocolos se vuelvan cada vez más populares. Uno de ellos es ZigBee, un protocolo de comunicación inalámbrico muy utilizado en domótica por su bajo consumo eléctrico. Es muy común encontrarlo en luces inteligentes, sensores de temperatura, y todo tipo de dispositivos para el control del hogar.
Al igual que muchos otros protocolos, este también cuenta con un framework de código abierto para su análisis. Se trata del proyecto KillerBee, pensado para la explotación del protocolo ZigBee y otras redes IEEE 802.15.4.
Al igual que Ubertooth, KillerBee también consta de un software instalable, principalmente desarrollado en Python, y un hardware (antena) para poder capturar el tráfico. La más común es la Atmel RZ RAVEN USB Stick, pero también pueden conseguirse otras alternativas.
Una vez instalado, Killerbee permite interceptar el tráfico de los protocolos inalámbricos, realizar inyección de paquetes, ataques de denegación de servicio y hasta crear exploits personalizados utilizando SCAPY. Otro punto a favor es que soporta la modalidad wardriving, lo cual permite analizar diferentes canales para encontrar redes disponibles.
Si bien este framework nos resultó un poco difícil de instalar y dejar a punto, una vez sorteados estos obstáculos, es sencillo de utilizar y posee una interfaz amigable.
Link: https://github.com/riverloopsec/killerbee/
Attify OS:
Así como encontramos una gran variedad de dispositivos, también existen muchas aplicaciones para su análisis. Instalar y configurar todas estas herramientas, y sus dependencias, puede ser tedioso y demandar una gran cantidad de tiempo. Con el objetivo de facilitar la instalación, surge Attify OS, una distribución pre configurada de Ubuntu 14.04 con una gran cantidad de herramientas para hacer análisis y auditorías de dispositivos inteligentes.
Entre otras cosas, ya cuenta con el software para utilizar la Ubertooth ONE y Attify Badge (mencionadas anteriormente), así como también las librerías necesarias para trabajar con otros protocolos de radio y comunicación, como ZigBee, GNU Radio y la suite de HackRF. En lo que refiere a aplicaciones de análisis, las más útiles han sido JADx e IDA y el Firmware Analysis Toolkit para hacer análisis y emulación de firmwares.
IDA: https://out7.hex-rays.com/files/idafree70_windows.exe
JADx: https://github.com/skylot/jadx
Firmware Analysis Toolkit: https://github.com/attify/firmware-analysis-toolkit
Esta distribución nos ha resultado muy útil para realizar análisis de firmwares, debuggear la interfaz JTAG, reversear aplicaciones móviles, sniffear tráficos de protocolos BLE y ZigBee, entre otras tantas tareas. Sin embargo, la desventaja que hemos encontrado es que sólo está disponible la imagen virtualizada, para utilizar con VMWare, Virtual Box o algún otro framework de virtualización. Esto puede resultar un poco complicado cuando no tenemos un entorno virtualizado donde trabajar o cuando la virtualización trae algunos problemas con el hardware, especialmente, las conexiones USB. Sin embargo, en nuestra experiencia, ha resultado sumamente útil en la mayoría de los análisis.
Si bien es una distribución que ya tiene cerca de dos años, lo cierto es que sus aplicaciones no han pasado de moda y basta con realizar una actualización una vez levantada la máquina virtual.
Link: https://github.com/adi0x90/attifyos
Cómo analizar dispositivos IoT: vulnerabilidades más comunes y cómo encontrarlas:
Link: https://www.welivesecurity.com/la-es/2019/01/22/como-analizar-dispositivos-iot/
Fuente: WeLiveSecurity
Saludos.