Usos comunes y puesta en marcha de una HackRF One

Blog

12
- Mayo
2022
Usos comunes y puesta en marcha de una HackRF One

Introducción

Durante una evaluación STIC de un producto, el equipo de evaluación de jtsec pensó que podría ser interesante analizar las comunicaciones entre dos dispositivos embebidos que formaban parte del producto. El principal objetivo era determinar si dichas comunicaciones estaban siendo protegidas adecuadamente con medidas de seguridad como cifrado y otras protecciones importantes cuando se trata de comunicaciones por radio frecuencia como protección contra "jamming", "GPS spoofing" o ataques de replay.

Para esta tarea, usar un SDR era necesario y con este objetivo en mente, el equipo comenzó a investigar sobre dispositivos SDR y terminó decantándose por la HackRF One de Great Scott Gadgets, un pequeño transceptor de radio frecuencia capaz de trabajar en el rango de 2.4GHz que utilizaba el producto que estaba siendo evaluado para sus comunicaciones.

¿Qué es la HackRF One?

La HackRF One es uno de los SDR más populares del mercado. El término SDR o "Software Defined Radio" por sus siglas en inglés se utiliza para definir dispositivos que implementan en software los componentes encargados de modular y demodular señales de radio en lugar de hacerlo por hardware. La idea es tener un dispositivo capaz de recibir y transmitir distintos protocolos de radio solo teniendo que configurar su software para hacerlo.

*Ilustración 1: HackRF One

Entre las cosas que hacen a la HackRF One tan popular están su capacidad para recibir y transmitir señales de radio en el rango de 1MHz hasta los 6GHz, su soporte para software Open Source como GNU-Radio, tener una gran comunidad detrás además de una buena documentación y su "bajo" precio. Aspectos como el poder trabajar en un rango de frecuencias tan amplio permite a la HackRF poder ser usada con dispositivos que pueden ir desde una simple llave de garaje (las cuales suelen trabajar en los 300-450MHz) hasta aplicaciones mucho más impactantes como monitorizar lanzamientos de cohetes de SpaceX.

*Ilustración 2: https://hackaday.com/2021/03/11/monitor-spacex-rocket-launches-with-software-defined-radio/

En este artículo discutiremos sobre los usos más comunes de este dispositivo por parte de entusiastas de la ciberseguridad, ciber delincuentes e incluso el usuario estándar, además de tratar qué software se necesita para utilizarlo y cómo esto puede ayudar a mejorar futuras evaluaciones. .

Caso de usos comunes

La primera pregunta que alguien podría hacerse es, ¿Para qué se utilizan realmente estos dispositivos? Bien, un usuario estándar podría hacer uso de un dispositivo SDR para llevar a cabo una gran cantidad de proyectos como iniciarse como radioaficionado comunicándose con otros radioaficionados (¡Siempre teniendo en cuenta la regulación local respecto a transmitir en radiofrecuencia!), crear una red GSM personal o incluso escuchar estaciones de radio.

Cuando hablamos de entusiastas de la ciberseguridad, dispositivos como la HackRF One pueden ser usados para realizar ingeniería inversa sobre protocolos de radiofrecuencia que están siendo utilizados por multitud de dispositivos a nuestro alrededor, ya sean protocolos usados en comunicaciones móviles como LTE o un simple protocolo de radiofrecuencia utilizado por el mando de una puerta de garaje. Aunque puede tratarse de un proyecto divertido, cabe destacar que puede ser una tarea compleja ya que para conseguir llegar a los datos que están siendo transmitidos en la señal primero habría que encontrar la señal, sintonizarla, demodularla, conseguir los bits, identificar la secuencia que marca el inicio de un frame y darle un sentido a los bits encontrados. Hay una gran cantidad de ejemplos de proyectos simples de ingeniería inversa de protocolos de radiofrecuencia en internet que ayudan a comprender los conceptos básicos de trabajar con radiofrecuencias y a iniciarse en el mundo del reversing con dispositivos SDR..

Y ahora, ¿Qué hacer cuando se ha aplicado reversing sobre un protocolo? Una vez que conocemos como funciona el protocolo no hay prácticamente límites en lo que poder hacer con este. Ejemplos de posibles proyectos son recrear la funcionalidad del dispositivo original para crear nuestro propio cliente del protocolo o incluso mejorarlo eliminando restricciones impuestas por el fabricante para limitar funcionalidades destinadas a dispositivos de gamas superiores.

¿Cómo es usada por ciber delincuentes?

Los ciber delincuentes también hacen uso de dispositivos como la HackRF One (normalmente con accesorios como el Portapack) para llevar a cabo un gran número de ataques como "Jamming attacks" en los que el atacante emite ruido en un rango de frecuencias para bloquear la recepción de una señal, ataques de Replay en los que una señal es grabada y reemitida sin el dispositivo que originalmente emitió la señal, "GPS spoofing" o incluso ataques de canal lateral que pueden permitir a un atacante visualizar qué se está viendo en el monitor del ordenador de una víctima entre otras muchas cosas.

Ejemplo de ataque de canal lateral

El último ataque que se ha mencionado aprovecha el hecho de que los dispositivos electrónicos emiten señales de radio de forma no intencionada mientras están en funcionamiento. Capturar estas señales puede aportar información sobre qué está haciendo el dispositivo actualmente y los monitores de ordenador no son una excepción para este problema. Usando un software llamado TempestSDR es posible recrear una imagen en vivo de lo que está siendo mostrado en pantalla actualmente gracias a las señales de radiofrecuencia que el cable HDMI está emitiendo. Tras calibrar la frecuencia a la que la señal estaba siendo filtrada y jugar con los distintos ajustes y retoques que ofrece TempestSDR, ¡Tenemos una imagen en vivo de lo que se muestra por pantalla!

*Ilustración 3: Señales de RF emitidas por el cable HDMI en SDR#

*Ilustración 4: Pantalla de la máquina víctima

*Ilustración 5: Reconstrucción de la imagen en TempestSDR

Software requerido

La HackRF One puede usarse tanto en Windows como en Linux con software fácil de instalar y actualizado frecuentemente. En Windows, todo lo necesario para comenzar a usar la HackRF es instalar SDR#

*Ilustracion 6: Interfaz de usuario de SDR#

En Linux, es necesario instalar los drivers del dispositivo para que este pueda comunicarse con las distintas herramientas. Esto puede hacerse a través de los repositorios oficiales en distribuciones basadas en Debian instalando el paquete "hackrf". Para recibir, grabar y transmitir señales de radiofrecuencia Gqrx es la alternativa a SDR# en Linux y también está disponible en los repositorios de Debian. *Ilustración 7: Interfaz de usuario de Gqrx

Estas herramientas son bastante parecidas en lo que hacen, ambas permiten al usuario monitorizar el espectro de radiofrecuencia, recibir señales en una frecuencia concreta y demodularlas en diferentes modos como AM, FM o USB para recuperar la información que estaba siendo transmitida en la señal. Ambos también disponen de una interfaz similar en la que la mitad superior representa el espectro de radiofrecuencia (fuerza de la señal dada una frecuencia en un momento de tiempo concreto) y la mitad inferior representa lo mismo pero a lo largo del tiempo.

Volviendo al objetivo principal de los dispositivos SDR, al principio hablamos de la idea de ser capaces de recibir y transmitir diferentes protocolos de RF con un único dispositivo solo teniendo que configurar su software. El software que hemos tratado hasta ahora solo permite llevar a cabo una serie de acciones y configuraciones predefinidas, pero ¿Qué tal un enfoque más orientado a la programación? Aquí es donde entra GNU Radio. GNU Radio es un SDK Open Source que provee bloques de procesamiento de señales que pueden ser combinados e interconectados de manera gráfica con el objetivo de simplificar crear programas que trabajen con RF.

*Ilustración 8: Ejemplo de proyecto en GNU Radio para captar paquetes Wifi

¿Cómo puede esto mejorar la calidad de nuestras evaluaciones?

No cabe lugar a duda de que un producto es tan seguro como su eslabón más débil. Las medidas de seguridad de alto nivel pueden ser inutilizadas si la seguridad a bajo nivel es descuidada y tras ver de lo que son capaces dispositivos como la HackRF One resulta evidente la necesidad de invertir recursos en la protección de las comunicaciones a bajo nivel.

Añadir un SDR al catálogo de herramientas de las que dispone el equipo de evaluación en jtsec nos permite llevar a cabo pruebas más exhaustivas sobre las comunicaciones de los productos para verificar que se satisfacen los niveles de seguridad más altos.

Sergio García/Evaluador Junior

Ingeniero informático por la Universidad de Granada trabajando como Evaluador de ciberseguridad junior en jtsec desde Enero de 2022, participando en proyectos relacionados con la certificación LINCE de productos. Sergio busca seguir expandiendo sus conocimientos sobre ciberseguridad y su aplicación en diferentes metodologías.

.


Contacto

¡Envíanos tus dudas o sugerencias!

Al enviar tus datos nos permites que los usemos para resolver tus dudas enviándote información comercial de tu interés. Los suprimiremos cuando dejen de ser necesarios para esto. Infórmate de tus derechos en nuestra Política de Privacidad.