Advertisement

header ads

Hackeando dispositivos en 433MHz

Introducción

Hola a todos! Mi nombre es Francisco y este es mi primer post en Creadpag :D

Esta vez les voy a comentar acerca de distintos dispositivos que trabajan en 433 MHz y cómo es posible hackearlos por un bajo costo. Para empezar, muchos de los dispositivos diarios trabajan en la frecuencia de 433MHz para poder comunicarse. Por ejemplo. Las alarmas (de autos o de casas), los timbres inalámbricos, estaciones meteorológicas hogareñas, botones antipánico, etc.

Ahora bien, sabemos que un montón de dispositivos se comunican por esta frecuencia, pero la pregunta es ¿Cómo podemos escuchar que es lo que están transmitiendo? Bueno, una de las maneras mas fáciles y económicas es usando un SDR (En mi caso el RTL-SDR) y un programa llamado GQRX.



Con este programa podremos escuchar que se transmite en varias frecuencias, pero en este caso nos centraremos en la de 433MHz. Notarán que al presionar el botón de un dispositivo que transmita en esta frecuencia se escuchará un ruido indicando que se transmitió un dato.
Si grabamos este ruido en modo AM y lo abrimos con un programa de edición de audio (Por ej. Audacity) podrán notar lo siguiente:

Si lo miran más detenidamente se darán cuenta que es un código binario!

Ahora que sabemos que transmite, como lo transmite y cómo lo podemos decodificar, la pregunta es ¿Cómo podemos replicar este código para poder conseguir hackear nuestro dispositivo?

Automatización con Arduino

Una de las desventajas de los SDR como el mío, es que no pueden transmitir, tendría que tener una HackRF u otro tipo de SDR para poder transmitir… Pero recientemente estuve desarrollando el código para que podamos replicar señales en 433MHz con un Arduino!


Utilizando un Arduino UNO con los módulos de transmisión y recepción podemos escuchar y replicar las señales de los dispositivos 433MHz.
Las conexiones son bastante sencillas de hacer, en la primera versión lo diseñe que cada módulo se conecte por separado.
  • Con el módulo de recepción se pueden obtener los datos de manera sencilla sin tener que decodificarlo manualmente.
  • Con el módulo de transmisión, usando los datos que recibimos, podemos emitir una señal idéntica a la que capturamos.

Ya para la segunda versión unifique el diseño, para que dependiendo de qué código se le cargue, reciba o transmita. También le agregué un módulo para tarjetas Micro SD para que guarde los datos recibidos.






Una vez realizada las conexiones solo faltaría cargar el código que pueden encontrar aquí
https://github.com/franc205/433MHz-Cloner

Explicación del Código

Si se desea recibir y escuchar los datos, se debe cargar el código “receive.ino”, lo que hará es empezar a escuchar si se transmite algún dato en la frecuencia en 433MHz, en caso de encontrar algo, guardará en la tarjeta SD y mostrará en el monitor serial los siguientes datos:

  • Time Detected - Indica cuántos segundos pasaron desde que se inició el Arduino.
  • Decimal - Indica el código transmitido en decimal.
  • Binary - Indica el código transmitido en binario.
  • Tri-State - Se utiliza en muy pocos casos, es una especie de sub-código que permite ejecutar determinadas tareas.
  • PulseLength - Ancho de pulso.
  • Protocol - Protocolo de transmisión.
  • Raw data - Datos en crudo.
Una vez obtenido los datos, cargamos el código “send.ino” modificandolo con los datos ya obtenidos. Y listo! :D

Casos Particulares

En algunos casos, como suele ser en alarmas, tal vez existen tres códigos distintos que van rotando y sólo uno permite la desactivación de la alarma, en esos casos se puede hacer un bruteforce y lograr rápidamente desactivar la alarma. En otros casos tal vez ocurre que el código es siempre el mismo, pero se modifica el ancho de pulso, y si no se modifica el ancho de pulso varias veces a lo largo del código, no es posible desactivar la alarma.

Demo

Les dejo a continuación un vídeo en el que desactivo la alarma de un auto con el Arduino.


Muchas gracias a todos por leer mi primer post y Happy Hacking :D

Publicar un comentario

2 Comentarios