Saltearse al contenido

SDR y radio

Una Radio Definida por Software (SDR) es un receptor (y a veces transmisor) de radio cuyo procesamiento se hace en software, lo que permite sintonizar y analizar casi cualquier frecuencia con un solo dispositivo barato. Para un hacker, una SDR abre un universo enorme: mandos a distancia, sensores inalámbricos, telemandos de garaje/coche, buscas, ADS-B de aviones, GPS, y protocolos IoT propietarios. Es la puerta de entrada al hacking de radio más allá de WiFi/BT.

RTL-SDR ~25€, solo recepción, hasta ~1.7 GHz -> ideal para empezar (escuchar)
HackRF One TX+RX, 1 MHz - 6 GHz -> transmitir (replay), half-duplex
LimeSDR / USRP más capaces (full-duplex, mejor rango) -> profesional
Flipper Zero sub-GHz integrado para mandos comunes (433/315 MHz)
GQRX / SDR# receptor visual: ver el espectro y escuchar/demodular
GNU Radio framework de bloques para procesar señales (análisis avanzado)
Universal Radio Hacker (URH) capturar, analizar, decodificar y REPETIR señales (clave)
rtl_433 decodifica cientos de sensores/dispositivos ISM (433/868/915 MHz)
inspectrum analizar capturas visualmente

URH es la herramienta estrella para el pentest: captura una señal, la analiza (modulación, codificación), extrae el mensaje y lo reenvía.

1. Encontrar la frecuencia del dispositivo (manual, FCC ID, escaneo del espectro en GQRX)
2. Capturar la señal al activarlo (p. ej. pulsar el mando)
3. Analizar: modulación (ASK/OOK, FSK), codificación, estructura del paquete (URH/inspectrum)
4. Decodificar el mensaje
5. Reenviar (replay) con HackRF/Flipper -> si funciona, el dispositivo es vulnerable
# replay attack (el más simple y frecuente)
# capturar la señal de "abrir" de un mando y reenviarla -> abre la puerta/garaje
# funciona si NO hay rolling code (código fijo)
# rolling code: muchos mandos cambian el código cada vez -> replay simple falla
# -> ataques como RollJam (bloquear + capturar) en implementaciones débiles
# análisis de sensores (rtl_433): temperatura, timbres, estaciones meteo, alarmas
# spoofing/jamming de sensores (inyectar lecturas falsas)
# recepción pasiva: ADS-B (aviones), AIS (barcos), pagers (POCSAG), etc.

El caso clásico: un telemando de garaje con código fijo → capturas y reenvías = acceso. Con rolling code bien hecho, el replay simple no funciona.

Transmitir en frecuencias reguladas puede ser ilegal sin licencia, y hay bandas prohibidas. La recepción suele ser legal; la transmisión (replay/jamming) requiere cuidado extremo y autorización. Practica en entornos controlados y dentro de la ley.

  • Rolling codes / challenge-response bien implementados en mandos y telemandos (no códigos fijos).
  • Cifrado y autenticación en los protocolos IoT inalámbricos; anti-replay (contadores, nonces).
  • No confiar en la oscuridad del protocolo: los protocolos propietarios se analizan con SDR.
  • Validar la integridad/origen de los datos de sensores (no fiarse de lecturas sin autenticar).
  • Detección de jamming e interferencias donde sea crítico (alarmas, accesos).
  • Hardware SDR (RTL-SDR para RX, HackRF/Flipper para TX)
  • Encontrar la frecuencia del objetivo (GQRX/FCC ID)
  • Capturar la señal del dispositivo (URH)
  • Analizar modulación/codificación/estructura
  • Replay de la señal (¿código fijo o rolling?)
  • Decodificar sensores con rtl_433
  • Evaluar rolling code / anti-replay
  • Respetar la legalidad (TX regulada)