abril 25, 2024

Herramienta de test de penetración para el protocolo MQTT de IoT

0
Comparte en redes sociales

Internet de las cosas (inglés, IoT Internet of Things) es un concepto reciente en tecnologías de la computación, que combina tecnologías consolidadas como: internet, capacidad de procesamiento de información de dispositivos autónomos y procesamiento analítico de datos masivos. La amplitud de que define el paradigma de IoT depende del objetivo que desee lograr con su implementación, que puede abarcar un serie de dispositivos que tienen capacidad de conexión y poder computacional para realizar tareas automatizadas, o también como dispositivos que solo interactúan a través de estímulos externos y que no tiene ninguna función de procesamiento. La arquitectura de IoT se puede ver en 3 capas: una capa de percepción o hardware, una capa de comunicación o red y una capa de interfaces o servicios. De esa forma, los elementos que componen un sistema IoT son hardware, protocolos y servicios de comunicación.

Durante las últimas dos décadas, la comunidad de seguridad ha estado luchando contra programas maliciosos basados en sistemas Windows. Sin embargo, el reciente aumento en la adopción de Linux embebidos en dispositivos y la revolución de IoT están cambiando rápidamente el paisaje de los ciberataques. Los dispositivos integrados son profundamente diferentes a las tradicionales computadoras personales. De hecho, mientras las computadoras personales funcionan predominantemente en arquitecturas x86, sistemas embebidos funcionan en una variedad de arquitecturas diferentes.

Los débiles estándares de seguridad de los dispositivos IoT liberaron malware de Linux en los últimos años. Telnet expuesto y servicios ssh con contraseñas predeterminadas, firmware obsoleto o vulnerabilidades del sistema, todo eso son formas de permitir que los atacantes construyan botnets de miles de dispositivos integrados comprometidos.

MQTT es un protocolo de conectividad de máquina a máquina diseñado como un transporte de mensajería de publicación/suscripción extremadamente ligero y ampliamente utilizado por millones de dispositivos IoT en todo el mundo. 

El protocolo MQTT se ha convertido en un estándar para la transmisión de datos de IoT, ya que ofrece los siguientes beneficios:

Ligero y eficiente: La implementación de MQTT en el dispositivo IoT requiere recursos minúsculos, por lo que se puede usar incluso en pequeños microcontroladores. Por ejemplo, un mensaje de control MQTT mínimo puede tener tan solo dos bytes de datos. Los encabezados de los mensajes MQTT también son pequeños para poder mejorar el ancho de banda de la red.

Escalable: La implementación de MQTT requiere una cantidad mínima de código que consume muy poca energía en las operaciones. El protocolo también tiene funciones integradas para admitir la comunicación con una gran cantidad de dispositivos IoT. Por tanto, puede implementar el protocolo MQTT para conectarse con millones de estos dispositivos.

Fiable: Muchos dispositivos IoT se conectan a través de redes celulares poco fiables con bajo ancho de banda y alta latencia. MQTT tiene funciones integradas que reducen el tiempo que tarda el dispositivo IoT en volver a conectarse con la nube. También define tres niveles diferentes de calidad de servicio a fin de garantizar la fiabilidad para los casos de uso de IoT: como máximo una vez, al menos una vez y exactamente una vez.

Seguro: MQTT facilita a los desarrolladores el cifrado de mensajes y la autenticación de dispositivos y usuarios mediante protocolos de autenticación modernos, como OAuth, TLS1.3, certificados administrados por el cliente, etc.

Admitido: Varios lenguajes, como Python, tienen un amplio soporte para la implementación del protocolo MQTT. Por lo tanto, los desarrolladores pueden implementarlo rápidamente con una codificación mínima en cualquier tipo de aplicación.

MQTT-PWN tiene la intención de ser un marco para las operaciones de evaluación de seguridad y pruebas de penetración de IoT Broker, ya que combina enumeración, funciones de apoyo y módulos de explotación. Empaquetado todo dentro de una interfaz de línea de comandos, fácil de usar y un entorno extensible.

Características:

  • Fuerza bruta de credenciales: descifrado de contraseñas de fuerza bruta configurable para eludir los controles de autenticación
  • Enumerador de temas: establecimiento de una lista completa de temas a través de un muestreo continuo a lo largo del tiempo
  • Capturador de información útil: obtención y etiquetado de datos de una lista predefinida extensible que contiene temas de interés conocidos
  • Rastreador GPS: trazado de rutas desde dispositivos que usan la aplicación OwnTracks y recopilación de coordenadas publicadas
  • Explotador de sonoff: diseño para extraer contraseñas y otra información confidencial

Más información del protocolo MQTT:

https://mqtt.org/

Más información y descarga de MQTT-PWN:

https://github.com/akamai-threat-research/mqtt-pwn

Deja un comentario