Los dispositivos inteligentes son cada vez más comunes y seguramente ya tengas algunos de ellos en tu casa, como puede ser quizás algún enchufe que puedes controlar desde el celular, las luces de alguna habitación, un asistente de voz o incluso algún ‘wearable’ como un smartwatch o un par de anteojos.

En el mercado existe una gran cantidad de opciones disponibles de este tipo de dispositivos que interactúan con tu teléfono móvil y/o con la red de tu hogar que, si no están bien configurados o si el fabricante no tuvo en consideración aspectos de seguridad suficientes, podrían ser vulnerables y exponer información personal.

En publicaciones anteriores explicamos por donde comenzar el análisis de dispositivos IoT, lo cual puede ser complejo teniendo en cuenta la variedad de tecnologías y firmwares que existen en el mercado. Sin embargo, también explicamos cuales son las vulnerabilidades más comunes y cómo encontrarlas. Ahora, vamos a completar esta información con algunas de las herramientas que pueden facilitarte el trabajo y que hemos estado utilizando en el laboratorio de ESET para llevar a cabo nuestras investigaciones.

En este caso, elegí tres herramientas que me resultaron muy útiles a la hora de interceptar las comunicaciones de los dispositivos con el objetivo de analizar el tráfico y también de poder inyectar paquetes manipulados. Aquí van:

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).

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.

El análisis del tráfico Bluetooth no es sencillo y requiere entender muy bien el protocolo, por lo que el proyecto cuenta también con una Wiki y un foro donde se encuentra toda la documentación, no solo del dispositivo, sino también del funcionamiento del protocolo Bluetooth.

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.

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.

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.

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.

Estas son solo algunas de las herramientas que nos han resultado muy útiles para analizar diferentes dispositivos. Hay muchas más disponibles y de a poco iremos ampliando esta lista.

Si utilizas alguna que no esté en el listado, te invitamos a compartirla en los comentarios.

Quizás te puede interesar también: