Bienvenidos a un nuevo capítulo de este Curso Gratis de Hardware para Hackers. Guía de Flipper Zero: Hacking Infrarrojo Funcionamiento, Ataque y Defensa. Comparte este articulo y síguenos para recibir más capítulos, guías y cursos gratis.

Este curso está en un ciclo de crecimiento y mejora constante. Tendrá revisiones y actualizaciones anuales y correcciones y mejoras mensuales. Agradecemos su apoyo difundiendo, compartiendo, comentando o simplemente leyéndolo.

Para saber más comente a continuación, respondemos todos y cada uno de los comentarios. Las recomendaciones y solicitudes de tutoriales siempre son bienvenidas.

Nos esforzamos por proporcionar artículos informativos; sin embargo, es importante que los lectores se aseguren de que su investigación sea ética y responsable. Además, es su responsabilidad asegurarse de cumplir con todas las leyes y regulaciones aplicables en su región. La información proporcionada en este artículo está destinada únicamente a fines educativos.

Table of Contents

¿Te gustaría enterarte de cuando lanzamos descuentos y nuevos cursos?

Control Remoto Por Infrarrojos

Los controles remotos IR pueden enviar y recibir datos codificados de diversas formas, como pulsos de luz infrarroja. Los distintos métodos de codificación que admiten la mayoría de los controles remotos IR se agrupan bajo el término general IR de consumo o CIR.

El CIR se utiliza generalmente para controlar productos de consumo como televisores, reproductores de DVD o consolas de juegos con un control remoto inalámbrico, pero en general se puede utilizar para cualquier aplicación que necesite transmitir datos de baja velocidad de forma inalámbrica. CIR es un protocolo de baja velocidad.

Esto significa que sus comandos generalmente no contienen más de 32 bits de datos con una tasa de bits máxima de 4000 bits/segundo (pero normalmente mucho menos). No hay concesión para la anticolisión, por lo que solo se puede transmitir un código en cualquier momento.

La distancia de transmisión depende de la potencia del transmisor y el receptor normalmente necesita estar dentro de la línea de visión. Sin embargo, la señal aún puede llegar al receptor sin línea de visión rebotando en las paredes y techos si el transmisor es lo suficientemente fuerte.

Los datos CIR se transmiten utilizando un flujo de bits modulado. Los datos se codifican en la longitud de los pulsos de luz IR y los espacios entre pulsos. Los pulsos de luz IR se modulan a una frecuencia mucho más alta (normalmente ~38 kHz) para que el receptor distinga los datos CIR de la luz ambiental de la habitación.

Infrarojos y Flipper Zero

  • Principalmente utilizados para controles remotos (televisores, aire acondicionado, etc.).
  • Las señales infrarrojas pueden ser captadas y almacenadas a través del detector de infrarrojos.
  • Las señales también pueden ser emuladas utilizando el blaster de infrarrojos.
  • Los dispositivos pueden admitir el estándar de infrarrojos universal, que es independiente de la plataforma.

La aplicación de infrarrojos en Flipper Zero es una característica que le permite interactuar con dispositivos que utilizan luz infrarroja (IR) para enviar comandos, como televisores, aires acondicionados, sistemas multimedia y más.

Ofrece una manera conveniente de controlar estos dispositivos usando Flipper Zero como un control remoto universal.

La aplicación de infrarrojos en Flipper Zero ofrece varias funcionalidades, entre ellas la capacidad de usar controles remotos universales. Flipper Zero tiene un diccionario de protocolos y fabricantes conocidos almacenado en su tarjeta microSD.

Iterando sobre este diccionario, Flipper Zero puede enviar el mismo comando a todos los fabricantes conocidos, lo que se conoce también como un ataque de fuerza bruta. Este proceso toma unos segundos y permite al Flipper Zero enviar señales a una amplia gama de dispositivos.

Otra funcionalidad de la aplicación de infrarrojos en Flipper Zero es la capacidad de aprender y guardar nuevos controles remotos. Flipper Zero puede leer y guardar señales de controles remotos infrarrojos. Cada botón de un control remoto se guarda por separado, permitiendo a los usuarios programar fácilmente Flipper Zero con los comandos que necesitan.

Tomando el control de los televisores con el puerto infrarrojo Flipper Zero

Los controles remotos de TV, aire acondicionado y audio del hogar transmiten comandos a través del puerto infrarrojo. El puerto infrarrojo de Flipper Zero le permite controlar todos los dispositivos IR: capturar las señales y guardarlas en una tarjeta SD, forzar protocolos desconocidos y cargar sus propios códigos.

Este artículo cubre:

  • Cómo funcionan los receptores y transmisores de infrarrojos
  • Variedades de señales digitales de mandos a distancia por infrarrojos
  • Captura y análisis de señales infrarrojas
  • Dominando los infrarrojos con Flipper Zero

Cómo funciona el puerto de infrarrojos

La luz infrarroja es invisible para los humanos. La longitud de onda de la luz infrarroja oscila entre 0,7 y 1000 micrones. Los mandos a distancia domésticos utilizan una señal infrarroja para la transmisión de datos y funcionan en un rango de longitud de onda de entre 0,75 y 1,4 micrones. Un microcontrolador en el mando a distancia hace que un LED infrarrojo parpadee con una frecuencia específica, convirtiendo la señal digital en una señal infrarroja.

Para recibir señales infrarrojas se utiliza un fotorreceptor que convierte la luz infrarroja en pulsos de voltaje, que son señales digitales. Normalmente, en el interior del receptor hay un filtro de luz oscura que deja pasar solo la longitud de onda deseada y elimina el ruido.

Infrarrojos en Flipper Zero

El puerto IR del Flipper Zero tiene una ventana oscura especial que permite el paso únicamente de la luz IR. Esto ayuda a extraer la señal IR deseada y mitiga la interferencia de la luz visible. Los componentes del transceptor están ocultos detrás de esa ventana. El puerto IR del Flipper Zero puede recibir y transmitir señales.

Detrás de la ventana de infrarrojos se encuentra una placa de circuito impreso. A ambos lados de la misma hay 3 LED IR, que son transmisores de señales. Se utilizan varios LED para aumentar la potencia de transmisión. También hay un fotorreceptor TSOP en la parte inferior de la placa de circuito impreso. El TSOP recibe una señal IR y emite una señal digital, que es procesada por el microcontrolador STM32.

Receptor de señal IR en Flipper Zero

Flipper utiliza un receptor de señal IR digital TSOP, que permite interceptar señales de mandos IR. Hay algunos smartphones como Xiaomi, que también tienen un puerto IR, pero hay que tener en cuenta que la mayoría de ellos solo pueden transmitir señales y no son capaces de recibirlas.

El receptor de infrarrojos Flipper es bastante sensible. Incluso puedes captar la señal mientras te encuentras en algún punto intermedio entre el mando a distancia y el televisor. No es necesario apuntar el mando a distancia directamente al puerto de infrarrojos de Flipper. Esto resulta útil cuando alguien cambia de canal mientras está cerca del televisor y tanto tú como Flipper estás a cierta distancia. Por ejemplo, cuando estás en una cafetería y el camarero empieza a cambiar de canal y quieres controlar el televisor captando la señal.

La decodificación de la señal infrarroja

Como la decodificación de la señal infrarroja se realiza en el lado del software, Flipper Zero admite potencialmente la recepción y transmisión de cualquier código remoto IR. En el caso de protocolos desconocidos que no se pudieron reconocer, graba y reproduce la señal sin procesar exactamente como se recibió.

La interfaz de los controles remotos guardados en el Flipper se muestra en forma vertical. De esta manera, es más cómodo sostener el dispositivo en la mano mientras se apunta el puerto IR hacia el receptor al mismo tiempo.

Para leer la señal IR, esta debe ingresar a la ventana IR del Flipper, lo que debería ser fácil si está en interiores porque la señal probablemente se reflejará en varias superficies y eventualmente llegará al puerto IR.

Para leer la señal IR, navegue por Infrared -> Learn new remote. La señal capturada se puede guardar en un nuevo control remoto. Es posible agregar varias señales a un control remoto seleccionando el control remoto deseado en Infrared -> Saved remotes. Puede agregar una cantidad ilimitada de señales (botones) a un solo control remoto.

Flipper Zero como control remoto universal

Flipper Zero se puede utilizar como control remoto universal para controlar cualquier televisor, aire acondicionado o centro multimedia. En este modo, Flipper fuerza brutamente todos los códigos conocidos de todos los fabricantes compatibles según el diccionario de la tarjeta SD. No es necesario elegir un control remoto en particular para apagar el televisor de un restaurante.

Basta con pulsar el botón de encendido en modo Universal Remote y Flipper enviará secuencialmente comandos de “Apagado” de todos los televisores que conoce: Sony, Samsung, Panasonic… y así sucesivamente. Cuando el televisor reciba su señal, reaccionará y se apagará.

Este tipo de fuerza bruta lleva tiempo. Cuanto más grande sea el diccionario, más tiempo llevará completarlo. Es imposible averiguar qué señal exactamente ha reconocido el televisor, ya que no hay retroalimentación del televisor.

Para utilizar el modo Control remoto universal, navegue Infrared -> Universal libraryy seleccione el tipo de dispositivo que desea controlar.

Para consultar o editar el diccionario, es necesario abrir o crear el archivo correspondiente en la tarjeta SD. Por ejemplo, en el caso de los televisores, el archivo del diccionario se ve así:

Otros controles remotos universales para apagar cualquier televisor

Existen dispositivos diseñados especialmente para aquellos a los que les molestan los televisores. Dichos dispositivos contienen una base de datos de señales para apagar televisores de diferentes fabricantes. El principio de funcionamiento es el mismo que en Flipper: el dispositivo simplemente prueba todas las señales conocidas de su diccionario, con la esperanza de que en algún momento la señal funcione. Dicha base de datos de señales suele estar incorporada en el firmware y no es fácil actualizarla.

  • Knopkus de Artemy Lebedev es un dispositivo simple y hermoso en una carcasa de goma con un botón. Después de presionar el botón, comienza la búsqueda de códigos. Lamentablemente, la lista de señales no es muy grande y no funcionó con los televisores de nuestra oficina y de casa. No hay forma de actualizar la base de datos de señales en este dispositivo: hay una especie de microcontrolador de marca desconocida en el interior y no está claro cómo flashearlo.
  • TV B GONE es un proyecto antiguo y conocido con firmware y hardware abiertos. Cuatro potentes diodos infrarrojos a la vez le dan un alcance muy amplio. Puedes añadir tus propios códigos, pero para ello necesitarás un programador de chips.

La principal diferencia de Flipper es que su diccionario de fuerza bruta se almacena en la tarjeta SD y se puede actualizar fácilmente. Los usuarios también pueden crear sus propios diccionarios para nuevas clases de electrodomésticos y automatización. Flipper también puede recibir señales, por lo que se lo puede entrenar para que memorice cualquier botón remoto que, por alguna razón, no se haya encontrado en el diccionario de fuerza bruta.

Receptor de infrarrojos TSOP

Como receptor IR, Flipper utiliza un chip TSOP-75338. Este componente filtra la señal y la mantiene en un nivel lógico constante, amplificándola si es necesario. Por lo tanto, el TSOP-75338 es capaz de recibir incluso una señal muy débil de pequeños controles remotos descargados o señales reflejadas desde las paredes. Y el amplificador incorporado le permite obtener los mismos niveles de voltaje, independientemente de la intensidad de la señal IR. Esto simplifica enormemente el procesamiento de señales de software en el lado del microcontrolador.

En el esquema de alimentación del fotodetector TSOP-75338 hay un filtro RC. Es necesario porque el microcontrolador interfiere con las líneas eléctricas, por lo que la señal digital de salida del fotorreceptor puede no corresponderse con la señal recibida. Se utiliza un diodo para hacer coincidir el voltaje del receptor TSOP y el microcontrolador STM32. El TSOP emite una señal digital, que es procesada por el microcontrolador STM32.

Bloques funcionales del receptor IR TSOP-75338:

  • Filtro de luz IR
  • Fotorreceptor IR sensible
  • Amplificador de paso de banda
  • Control de ganancia automática
  • Demodulador para obtener una envolvente de señal

Para la transmisión, se suele utilizar una señal modulada en frecuencia . El receptor demodula la señal de 38 kHz. La mayoría de los mandos a distancia funcionan con ondas portadoras de 36 a 38 kHz.

¿Por qué la modulación de frecuencia?

Casi siempre hay algo de ruido de fondo cuando se recibe una señal de infrarrojos. Esto se debe a que muchos objetos emiten luz infrarroja, incluso las lámparas comunes. Por lo tanto, el receptor suele recibir una señal mezclada con ruido.

  • El ruido de fondo IR es creado por muchas fuentes de luz porque la fuente de luz IR es el calor generado. Por lo tanto, el ruido de fondo IR es aleatorio. Para mayor claridad, se representa como una sinusoide en el video anterior.
  • Señal de infrarrojos modulada : ráfagas de pulsos de infrarrojos desde el control remoto. La ráfaga de pulsos ideal parece un meandro suave, pero una señal de este tipo solo se puede ver si no hay ruido en absoluto. En realidad, el meandro siempre se superpondrá al ruido y se sumará con él.

La modulación de frecuencia permite distinguir la señal del ruido. Cuando la señal parpadea a una frecuencia de 38 kHz, los pulsos de infrarrojos se distinguen del ruido de fondo. De esta forma, el fotorreceptor puede detectar la presencia de una señal y distinguirla de la iluminación de la lámpara.

Transmisor de señal IR en Flipper Zero

La transmisión de la señal IR está controlada directamente por el microcontrolador STM32 Flipper, que envía pulsos a los LED a través de un transistor externo. Para aumentar su potencia de transmisión, se utilizan 3 LED IR en lugar de uno.

Al igual que en los mandos a distancia, los datos del Flipper Zero se transmiten con ráfagas de pulsos. El demodulador del receptor forma envolventes (meandros) a partir de las ráfagas de pulsos que luego se procesan digitalmente. A menudo, la señal digital en la salida del receptor es una envolvente invertida.

Para aumentar la potencia del transmisor se utilizan ráfagas de pulsos en lugar de un meandro completo. Al mismo tiempo, la potencia media disminuye o permanece igual, por lo que no afecta al consumo de energía.

Por lo general, los transmisores funcionan con ondas portadoras de 30 a 50 kHz. Este rango de ondas portadoras presenta el nivel más bajo de interferencias. No debe confundirse con la frecuencia de la luz infrarroja, que corresponde a una longitud de onda de 940 nm (318,93 THz).

Analizando protocolos IR con Arduino

Para realizar pruebas y depuraciones rápidas de IR, utilizamos la biblioteca IRMP de Arduino. Puede encontrar instrucciones sobre cómo ensamblar un dispositivo para analizar protocolos de IR en el repositorio de GitHub.

Pero no se puede confiar completamente en el analizador de fabricación. Si se desconoce el protocolo IR, el analizador IRMP de Arduino puede reconocerlo como el protocolo Siemens.

Para recibir la señal IR con Arduino IRMP, utilizamos directamente la placa IR de Flipper. La variedad de protocolos IR conocidos en la biblioteca IRMP permite un desarrollo de firmware más rápido.

Propiedades de codificación de datos

Los códigos CIR codifican datos mediante un esquema de codificación específico. Además de la parte de datos propiamente dicha del flujo de bits, hay otras características que se deben describir.

Encabezamiento

Un código CIR suele comenzar con un encabezado, que consiste en un pulso y un espacio que preceden inmediatamente a los datos. Normalmente, el pulso es bastante largo (varios ms) y el receptor lo utiliza para ajustar el control de ganancia a la intensidad de la señal.

Camino

El rastro es un pulso que sigue el flujo de datos pero no forma parte de ellos. Esto solo se utiliza en algunas codificaciones.

Código De Repetición

El código de repetición es una serie de pulsos y espacios que se envían en un tiempo específico después del paquete de datos. Esto permite que el receptor sepa que se mantiene presionado el botón. No todas las codificaciones tienen un paquete de repetición específico, pero todas admiten la repetición (ya sea con un código de repetición o simplemente repitiendo los datos una y otra vez).

Longitud De Bits

Esta es la cantidad de bits que tienen los datos. La mayoría de los códigos tienen entre 8 y 32 bits de longitud.

Longitud Del Código

Los códigos pueden tener una longitud constante o variable. Los códigos de longitud constante tendrán una cantidad específica de tiempo dentro del cual se puede enviar el código, que incluye el código en sí seguido de un tiempo de intervalo. El tiempo de intervalo más el tiempo de datos se suma al tiempo de código constante, de modo que si los datos tardan un poco más porque hay muchos 1, entonces el intervalo será más corto, y si el tiempo de datos es corto porque se está enviando un código repetido, entonces el tiempo de intervalo será mucho más largo. Los códigos de longitud variable tendrán un tiempo de codificación de datos variable seguido de un tiempo de intervalo constante.

Brecha

El intervalo de tiempo se refiere al tiempo entre códigos. Se trata de un espacio de tiempo largo (>20 ms) entre códigos que ayuda al receptor a ver el comienzo del siguiente código. Si la longitud del código es constante, este intervalo de tiempo se refiere a la longitud total del código (el tiempo de los datos más el intervalo de tiempo). Si la longitud del código es variable, este intervalo de tiempo se refiere únicamente al intervalo de tiempo constante.

Repetición Mínima

Algunas codificaciones requieren que se repita un código varias veces antes de que se lo reconozca. Por lo general, esto no se puede detectar automáticamente.

Cambiar Máscara

Los datos CIR a veces se alternan por dos motivos. En un caso, algunos de los datos se alternan cada vez que se envían. Esto puede ayudar al receptor a reconocer los datos como válidos y, a menudo, se combina con la función de repetición mínima. A veces, esto se puede detectar automáticamente.

En una variante más común, se alterna un bit de datos cada vez que se suelta el botón; de esta manera, cuando se presiona y se mantiene presionado un botón, se obtiene el mismo código repetido una y otra vez; una vez que se suelta el botón y se presiona nuevamente, se obtiene lo mismo, pero con un bit alternado. Esto ayuda al receptor a saber cuándo se está repitiendo un código. Esta «alternativa al repetir» no se puede detectar automáticamente.

Frecuencia De Carga

La frecuencia portadora es la frecuencia que se utiliza para modular los pulsos de infrarrojos. Los receptores de infrarrojos están sintonizados a una frecuencia específica, por lo que es mejor transmitir en la frecuencia que están sintonizados para recibir. La mayoría de los dispositivos de infrarrojos de consumo utilizan 38 kHz, que suele estar configurada como predeterminada. Otras frecuencias que se utilizan a veces son 56 kHz, 40 kHz, 36 kHz o 39,2 kHz. Si no está seguro de a qué frecuencia está sintonizado su receptor, le recomendamos que consulte la hoja de datos o la documentación en línea.

Ciclo De Trabajo

El ciclo de trabajo es el período de la frecuencia portadora. Puede configurarse entre 1 y 50, pero los valores útiles están en el rango de 25 a 50. El valor predeterminado es 50. El ciclo de trabajo de un flujo de datos entrante no se puede determinar automáticamente.

Variedad de protocolos IR

Los protocolos IR difieren en tres factores:

  • codificación de bits
  • estructura de datos
  • Frecuencia portadora: a menudo en el rango de 36 a 38 kHz

Codificación de datos

Los fabricantes de dispositivos CIR utilizan muchos protocolos diferentes para codificar datos mediante pulsos de luz infrarroja. Pocos de estos protocolos se han estandarizado y muchos son muy similares, pero tienen longitudes de bits diferentes o encabezados diferentes, etc. Hay tres formas principales de codificar datos que son compatibles automáticamente con nuestros dispositivos y que cubren la codificación utilizada por casi todos los dispositivos CIR:

1. Modulación De Distancia Por Pulsos (PDM) O Codificación Espacial

Los bits se codifican modulando la duración del espacio entre pulsos. El ancho del pulso en sí es constante.

Este es el esquema de codificación más común. En este caso, los datos se codifican modulando la duración del espacio entre pulsos, mientras que el tiempo de pulso permanece constante. Por ejemplo, un «1» podría codificarse con un pulso de 500 µs seguido de un espacio de 1 ms, y un «0» podría codificarse con un pulso de 500 µs seguido de un espacio de 500 µs. El flujo de datos finalizará con un pulso final que nos permite determinar la longitud del último espacio.

2. Modulación Por Ancho De Pulso (PWM) O Codificación De Pulso

Los bits se codifican mediante la modulación del ancho del pulso. El ancho del espacio después de la ráfaga de pulso es constante.

Esto es como la codificación espacial, excepto que los datos se codifican mediante la modulación del ancho del pulso. Por ejemplo, un pulso de 1,2 ms seguido de un espacio de 600 µs codificaría un «1», mientras que un pulso de 600 µs seguido de un espacio de 600 µs codificaría un «0». No es necesario un pulso final porque la longitud del espacio es fija y el espacio final se puede inferir. Este protocolo lo utiliza Sony.

3. Codificación Bifásica O Manchester

Codificación de fase o Manchester. El valor lógico se define por la polaridad de la transición entre la ráfaga de pulsos y el espacio. «Espacio a ráfaga de pulsos» denota un «0» lógico, «ráfaga de pulsos a espacio» denota un «1» lógico.

Esta codificación divide cada bit del flujo de datos en una longitud de tiempo fija, donde cada porción de tiempo es mitad pulso y mitad espacio. Por ejemplo, si el tiempo de bit es 800us, un ‘1’ podría codificarse con un pulso de 400us seguido de un espacio de 400us, mientras que un ‘0’ se codificaría con un espacio de 400us seguido de un pulso de 400us.

El PhidgetIR admite dos variaciones específicas de codificación bifásica, llamadas RC5 y RC6. Hay protocolos que se han estandarizado de alguna manera, con tiempos de bit y encabezados específicos, y se pueden reconocer y usar automáticamente para la transmisión.

Hay muchas otras formas de codificar datos, pero no se tratan aquí y nuestros dispositivos no las admiten automáticamente. Se pueden reproducir capturando/retransmitiendo un flujo de bits RAW. Uno de esos protocolos sería RCMM.

Tenga en cuenta también que, con la excepción de RC5 y RC6, no hay forma de saber cómo el fabricante codificó originalmente los «1» y los «0», y la lógica de decodificación automática que utilizan nuestros controles remotos IR simplemente lo adivinará.

Por lo tanto, un código devuelto por el dispositivo puede ser el complemento del mismo código publicado en otro lugar. Dicho esto, siempre devolverá consistentemente el mismo código para un flujo de bits específico.

Combinación de los anteriores y otros exóticos.

Estructura de datos

  • Comando de control
  • dirección del dispositivo
  • sumas de comprobación
  • Cualquier otra información de servicio

Existen protocolos IR que están intentando convertirse en universales para varios tipos de dispositivos. Los más famosos son RC5 y NEC. Lamentablemente, el más famoso no significa el más común. En mi entorno, me encontré con solo dos controles remotos NEC y ningún RC5.

A los fabricantes les encanta utilizar sus propios protocolos de infrarrojos, incluso dentro de la misma gama de dispositivos (por ejemplo, los decodificadores de TV). Por lo tanto, los controles remotos de diferentes compañías y, a veces, de diferentes modelos de la misma compañía, no pueden funcionar con otros dispositivos del mismo tipo.

Protocolos IR que conocemos

Nombre del protocoloDetalles
SIRCSony
Comité ejecutivo nacionalNEC con 32 bits, 16 direcciones + 8 + 8 bits de comando, Pioneer, JVC, Toshiba, NoName, etc.
NEC16NEC con 16 bits (incluida sincronización)
NEC42NEC con 42 bits
SAMSUNGSamsung
SAMSUNG32Samsung32: no hay pulso de sincronización en el bit 16, longitud 32 en lugar de 37
Samsung 48Aire acondicionado con protocolo SAMSUNG (48 bits)
Aire acondicionado LGAire acondicionado LG
MatsushitaMatsushita
TÉCNICATechnics, similar a Matsushita, pero 22 en lugar de 24 bits
KASEKIYOKaseikyo (Panasonic, etc.)
PANASONICPanasonic (Beamer), bits de inicio similares a KASEIKYO
MITSU_PESADOAire acondicionado Mitsubishi-Heavy, sincronización similar al proyector Panasonic
RECS80Philips, Thomson, Nordmende, Telefunken, Saba
RC5Philips, etc.
DenonDenon, agudo
RC6Philips, etc.
MANZANAApple, muy similar a NEC
RECS80EXTPhilips, Technisat, Thomson, Nordmende, Telefunken, Saba
NUBERTONubert
BANG & OLUFSENBang & Olufsen
GruñidoGrundig
NOKIANokia
SiemensSiemens, por ejemplo, Gigaset
CDFTeclado FDC
COCHE RCCoche RC
JVCJVC (NEC con 16 bits)
RC6ARC6A, por ejemplo Kathrein, XBOX
NikonNikon
RuwidoRuwido, por ejemplo, receptor multimedia T-Home
IR60IR60 (SDA2008)
CatalinaCatalina
Caja de redTeclado Netbox (bitserial)
LEGOFunciones de potencia LEGO RC
ThomsonThomson
BoseBose
Caja de TV A1Caja de TV A1
ORTEKORTEK — Hama
TELEFUNKENTelefunken (1560)
HabitaciónAspiradora iRobot Roomba
RCMM32Fujitsu-Siemens (mando a distancia activo)
24 de la RCMMFujitsu-Siemens (Teclado activo)
RCMM12Fujitsu-Siemens (Teclado activo)
VOCEROOtro protocolo de altavoz, similar a Nubert
ESMEREJÓNMerlín (Pollin 620 185)
PentaxCámara Pentax
ADMIRADORFAN (ventilador), muy similar a NUBERT, pero el último bit es un bit de datos en lugar de un bit de parada
S100Muy similar a RC5, pero 14 en lugar de 13 bits de datos
ACP24Aire acondicionado Stiebel Eltron ACP24
VICENTEVicente
SamsungSAMSUNG AQUÍ
IRMP16Protocolo específico IRMP para transferencia de datos, por ejemplo entre dos microcontroladores a través de IR
VERDEClima verde
RCIIProtocolo de control remoto por infrarrojos RC II para FM8
METZMETZ
OnkioComo NEC pero con 16 bits de dirección + 16 bits de comando

Recibiendo información

Un transceptor IR recibe continuamente datos IR cuando no está transmitiendo. Hay tres formas de interceptar estos datos.

1. Datos de código: utilice este método si desea actuar sobre códigos específicos (pulsaciones de botones) pero no le interesa reproducirlos. El transceptor hace todo lo posible para decodificar cada código que ingresa y lo muestra como una cadena hexadecimal (matriz de bytes). Esta cadena debe ser única al menos en un control remoto. Acceda a estos datos mediante el evento Code o la propiedad LastCode.

2. Datos de Learn Code: utilice este método si desea aprender o retransmitir un código. El transceptor determinará la mayor cantidad posible de información sobre el código y pasará la estructura/objeto CodeInfo que contiene la semántica del código, junto con la cadena de código (matriz de bytes). Esto se puede utilizar para retransmitir el código tal como se recibió. Para aprender un código, el botón debe mantenerse presionado durante más tiempo (aproximadamente 1 segundo). Acceda a estos datos mediante el evento Learn o la propiedad LastLearnedCode.

3. Datos sin procesar: utilice este método si el transceptor no puede decodificar los datos automáticamente; puede acceder directamente al flujo de datos sin procesar. Se trata de una matriz de datos enteros en microsegundos. Cada acceso a la matriz de datos sin procesar devolverá un número par de elementos de la matriz, siendo el primer elemento siempre un espacio y el último elemento siempre un pulso. Acceda a estos datos mediante el evento RawData o la función getRawData (readRaw).

Transmitiendo datos

Los datos se pueden transmitir de dos maneras. Cuando se están transmitiendo datos, la recepción se detiene momentáneamente.

1. Datos de código: utilice este método si desea transmitir un código que pueda ser codificado automáticamente por PhidgetIR. Este código será prácticamente cualquier código. Para enviar un código como este, deberá completar una estructura CodeInfo. La forma más fácil de obtener todos estos valores es aprender el código del control remoto original.

Tenga en cuenta que el control remoto probablemente utilizará la misma configuración de CodeInfo para cada botón, y solo cambiará el código (datos) real. También puede completar la estructura de CodeInfo manualmente utilizando datos conocidos (por ejemplo, en la base de datos del control remoto LIRC).

Solo tenga en cuenta que sus códigos pueden no coincidir exactamente con los códigos que necesita usar debido a una discrepancia en la convención de bit más/menos significativo primero o los métodos de bits invertidos mencionados anteriormente.

2. Datos sin procesar: si no puede representar su flujo de bits mediante una estructura CodeInfo, puede enviar datos sin procesar directamente. Se trata simplemente de una matriz de pulsos y espacios en microsegundos. La matriz debe comenzar y terminar con un pulso. También se puede especificar un espacio opcional que sirva para garantizar el espaciado antes de que se transmitan más datos.

Exploración de la señal IR con un osciloscopio

La forma más fiable de ver cómo se ve la señal IR remota es utilizar un osciloscopio. No demodula ni invierte la señal recibida, simplemente la muestra «tal como está». Esto es útil para realizar pruebas y depurar. Mostraré la señal esperada en el ejemplo del protocolo IR de NEC.

Generalmente, al principio de un paquete codificado hay un preámbulo que permite al receptor determinar el nivel de ganancia y de fondo. También existen protocolos sin preámbulo, por ejemplo, Sharp.

Luego se transmiten los datos. La estructura, el preámbulo y el método de codificación de bits están determinados por el protocolo específico.

El protocolo IR de NEC contiene un comando corto y un código de repetición que se envía mientras se presiona el botón. Tanto el comando como el código de repetición tienen el mismo preámbulo al principio.

El comando NEC , además del preámbulo, consta de un byte de dirección y un byte de número de comando, mediante los cuales el dispositivo entiende lo que se debe realizar. Los bytes de dirección y número de comando se duplican con valores inversos para verificar la integridad de la transmisión. Hay un bit de parada adicional al final del comando.

El código de repetición tiene un «1» después del preámbulo, que es un bit de parada.

Para la lógica «0» y «1», NEC utiliza codificación de distancia de pulso: primero, se transmite una ráfaga de pulso después de la cual hay una pausa, su longitud establece el valor del bit.

Sonda de osciloscopio infrarrojo

Para capturar pulsos IR con un osciloscopio, utilicé un Silver Bullet de fabricación propia , desarrollado por el autor de AnalysIR . Es simplemente un LED IR y una resistencia, soldados a un conector de audio RCA, que luego se conecta a un osciloscopio a través de un BNC->RCAadaptador. Se puede ensamblar en cinco minutos a partir de productos que generalmente están disponibles y son fáciles de encontrar.

Mientras la luz infrarroja del control remoto llega al LED infrarrojo de la sonda, comienza a pasar una pequeña corriente a través del LED. Esta corriente aumenta el voltaje en los pines del LED, que se puede ver claramente en el osciloscopio. Es importante acercar el transmisor infrarrojo a la sonda para obtener una señal clara en el osciloscopio.

¿Qué pasa con los aires acondicionados?

Los mandos a distancia de los aires acondicionados son dispositivos completos con pantalla. Controlan muchos ajustes, como la temperatura, la potencia del ventilador, etc. Al mismo tiempo, el mando a distancia no sabe si el aire acondicionado ha recibido la señal, simplemente envía una señal cada vez que se modifican los ajustes del mando a distancia.

Pero ¿qué ocurrirá si cambiamos la temperatura en el mando desde otra habitación, de forma que el aire acondicionado no reciba esa señal? Por ejemplo, se ha fijado el valor de 19°C en el aire acondicionado, nos vamos a otra habitación y cambiamos por completo todos los ajustes en el mando, poniéndolo a 30°C.

Después volvemos al aire acondicionado y subimos la temperatura en 1°C. Si el mando simplemente enviara un código de cada botón, como hacen otros mandos, la temperatura se fijaría en 20°C en el aire acondicionado, y veríamos 31°C en la pantalla del mando. El resultado sería una desincronización de datos entre el mando y el aire acondicionado.

Por lo tanto, los mandos a distancia de los aparatos de aire acondicionado, a diferencia de otros mandos a distancia, no transmiten el código del botón pulsado, sino todos los parámetros. En otras palabras, estos mandos a distancia siempre envían TODOS los datos del mando a distancia en un único y gran paquete. Estos protocolos son muy complejos.

La estructura de datos de los controles remotos de los aires acondicionados

La estructura de datos de los controles remotos de los aires acondicionados puede ser completamente diferente para los distintos modelos. Los aires acondicionados pueden tener diferentes rangos de temperatura o potencia, opciones de control de humedad, etc. Por lo tanto, la estructura de datos puede ser tan grande que debe transmitirse en varios lotes.

Crear una interfaz de usuario universal para estos mandos a distancia es una tarea complicada, debido a la imposibilidad de probar varios aires acondicionados y sus funciones. Por lo tanto, podemos trabajar con varios aires acondicionados, pero aún no se ha implementado la compatibilidad con una gran cantidad de modelos.

Para trabajar con señales IR en PC utilizo AnalysIR . Se trata de un programa para analizar protocolos IR y que soporta distintos dispositivos para la captura de IR. La forma más habitual es fabricar un receptor casero con TSOP y Arduino, y conectarlo por USB. Yo utilizo IR-toy V2 como receptor. Lista de receptores soportados: AnalysIR.pdf .

AnalysIR muestra la envolvente de la señal IR en lugar de pulsos, a diferencia de un osciloscopio. El programa calcula los retrasos y las duraciones de las ráfagas de pulsos y registra esta información. Ayuda a analizar protocolos IR desconocidos. AnalysIR conoce más de 100 protocolos IR y es capaz de reconocerlos automáticamente. Por cierto, el autor del programa sugirió agregar soporte para un Flipper como receptor IR. Gran idea, ¿no?

Métodos de Ataque con Flipper Zero

  1. Clonación de Controles Remotos: El Flipper Zero puede capturar y reproducir señales infrarrojas de controles remotos, lo que permite al usuario clonar y usar los controles remotos para operar dispositivos como televisores, aires acondicionados, puertas de garaje, y otros equipos que utilicen infrarrojo.
  2. Intercepción de Comunicación: El dispositivo puede interceptar y registrar la comunicación entre dispositivos que utilizan infrarrojo para transferir datos, como algunos mandos a distancia. Esta información puede ser usada para analizar y potencialmente explotar vulnerabilidades.
  3. Inyección de Comandos IR: Al grabar una señal infrarroja específica y reproducirla, el Flipper Zero puede ejecutar comandos no autorizados en dispositivos que aceptan esas señales, como cambiar canales, ajustar volumen, o abrir puertas.

Cómo controlar las pulseras del Eras Tour de Taylor Swift con Flipper Zero

Muchos conciertos multitudinarios incluyen pulseras que se iluminan cuando se les ordena. Se utilizan para producir diversos efectos visuales en un estadio. Una empresa que fabrica estas pulseras es PixMob.

Sus pulseras iluminadas y controlables se están utilizando actualmente como parte de la gira Eras de Taylor Swift . Un breve artículo de Wired aquí ofrece algunos detalles y aquí hay un vídeo del Wall Street Journal:

Para el Eras Tour se está utilizando el producto X2 de la empresa. Tiene este aspecto:

Dado que estas pulseras están diseñadas para reutilizarse, se abren fácilmente y revelan dos baterías y una pequeña y encantadora placa de circuito:

Aquí está la placa de circuito con la fecha de copyright 20230629, marcas claras de los componentes y una pequeña palmera al lado de PALM V2.6r1.

Cómo funciona

En esa placa hay dos LED RGB, un pequeño microcontrolador, un poco de EEPROM y un diodo infrarrojo para recibir una señal. En pocas palabras, PixMob funciona instalando un control remoto IR realmente grande (y movible) (puedes leer sobre esto en su sitio web aquí ) y transmitiendo comandos a las pulseras para producir colores, desvanecimientos, destellos, etc. Lindo. Hay un montón de detalles de hardware aquí.

Dado que proyectan infrarrojos con un proyector móvil, pueden hacer barrer los efectos por todo el estadio y cubrir el proyector con recortes para hacer cosas como corazones. Es una tecnología sencilla que funciona muy bien. Y, por supuesto, existe una comunidad de ingeniería inversa en torno a esto.

Flipper Zero tiene capacidad IR, hay un proyecto que lo hace controlar la pulsera.Aquí hay un video corto de mí haciendo que las pulseras se desvanezcan en color naranja.

Una tecnología tan bonita y sencilla que produce efectos muy interesantes.

Métodos de prevención de interceptación infrarroja Flipper Zero

Blindaje Físico

Sinceramente no hay mucho por hacer aca. Colocar barreras físicas alrededor de los receptores infrarrojos para limitar la capacidad de un atacante de enviar señales no autorizadas. Esto puede incluir el uso de materiales que bloquean las señales infrarrojas o ubicaciones estratégicas que dificulten el acceso no autorizado.

Conclusión

Flipper Zero es una herramienta poderosa para los entusiastas de la seguridad, capaz de realizar una variedad de ataques utilizando señales infrarrojas. Sin embargo, con las defensas adecuadas, es posible mitigar estos riesgos y proteger los dispositivos que utilizan infrarrojos para la comunicación. Implementar medidas de seguridad como filtros de banda, autenticación de señales, barreras físicas, sistemas de detección de intrusos y mantener el firmware actualizado son pasos cruciales para protegerse contra estos ataques.

Descargo de responsabilidad: 

Esta publicación de blog tiene fines informativos únicamente. No fomenta ni respalda ninguna actividad ilegal o poco ética relacionada con el hacking o el uso indebido de dispositivos y dispositivos de hacking. La información proporcionada aquí tiene como objetivo promover el uso responsable y legal de la tecnología con fines educativos y de seguridad.

Respete siempre las leyes, regulaciones y pautas éticas locales cuando trabaje con herramientas y dispositivos de hacking. Se desaconseja encarecidamente el uso no autorizado o cualquier acción que viole la privacidad, comprometa la seguridad o cause daño y puede tener consecuencias legales.

Consideraciones legales

Flipper Zero es una poderosa herramienta diseñada para uso educativo y profesional. Se anima a los lectores a cumplir con todas las leyes y directrices éticas aplicables al utilizar dichos dispositivos.

Asegúrese de utilizar estas herramientas de manera ética y dentro de los límites de la ley. Las pruebas de penetración sólo deben realizarse en redes con el permiso explícito del propietario.

No te detengas, sigue avanzando

Aquí tienes un propósito para este 2024 que debes considerar seriamente: si has querido mejorar tus habilidades en hacking, Ciberseguridad y programación ahora es definitivamente el momento de dar el siguiente paso. ¡Desarrolla tus habilidades aprovechando nuestros cursos a un precio increíble y avanza en tu carrera! El mundo necesita más hackers…

Universidad Hacking. Todo en Ciberseguridad. Curso Completo

Aprende Hacking Ético y Ciberseguridad sin necesitar conocimientos Previos. Practica Hacking Ético y Ciberseguridad aquí

Calificación: 4,6 de 5 (2.877 calificaciones) 15.284 estudiantes Creado por Alvaro Chirou • 1.800.000+ Enrollments Worldwide

Lo que aprenderás

  • Seguridad informática
  • Hacking Ético en profundidad
  • Redes
  • Programación (Python) (Hacking con Python)
  • Análisis de Malware con laboratorios, practicas y ejecución de Malware para que veas su comportamiento.
  • Cómo reforzar tu Privacidad y Anonimato
  • Uso avanzado de Metasploit
  • Top 10 de Owasp Web, Top 10 de Owasp mobile y Top 10 de Owasp API
  • Seguridad informática para empresas
  • Kali linux de 0 a 100, Veremos su suite de herramientas de hacking y como explotar fallos en sistemas.
  • Termux y como hackear desde el celular
  • Seguridad informática server/web, profundizaremos en WordPress
  • Análisis de trafico en Wireshark
  • Y mucho, pero mucho más

¿Esto que significa?

Hoy más que nunca, se necesitan personas capacitadas en este rubro para trabajar.

Por esa razón cree esta formación profesional para compartirte mis conocimientos y experiencia en la materia y puedas iniciar en este mundo del Hacking Ético y Ciberseguridad.

Te voy a estar acompañando en el proceso de aprendizaje, donde si estas empezando desde 0, sin conocimientos previos, no es un impedimento ya que iniciaremos como si no supieras nada de la materia.

Si sos una persona con conocimientos, podrás iniciar directamente en el nivel más avanzado o en el que tu elijas.

Como en todos mis cursos en udemy, tendrás muchísima practica para que materialices lo que vas aprendiendo.

Empieza a aprender ya mismo!

Aprende con nuestros más de 100 cursos que tenemos disponibles para vos

No solo te enseñamos, tambien te guíamos para que puedas conseguir trabajo como desarrollador y hacker…

¿Te gustaría enterarte de cuando lanzamos descuentos y nuevos cursos?

Sobre los autores

Álvaro Chirou

Yo soy Álvaro Chirou, tengo más de 20 Años de experiencia trabajando en Tecnología, eh dado disertaciones en eventos internacionales como OWASP, tengo más de 1.800.000 estudiantes en Udemy y 100 formaciones profesionales impartidas en la misma. Puedes seguirme en mis redes:

Laprovittera Carlos

Soy Laprovittera Carlos. Con más de 20 años de experiencia en IT brindo Educación y Consultoría en Seguridad de la Información para profesionales, bancos y empresas. Puedes saber más de mi y de mis servicios en mi sitio web: laprovittera.com y seguirme en mis redes:

¿Quieres iniciarte en hacking y ciberseguridad pero no sabes por dónde empezar? Inicia leyendo nuestra guia gratuita: https://achirou.com/como-iniciarse-en-ciberseguridad-y-hacking-en-2024/ que te lleva de 0 a 100. Desde los fundamentos más básicos, pasando por cursos, recursos y certificaciones hasta cómo obtener tu primer empleo.

SIGUE APRENDIENDO GRATIS CON NUESTRAS GUIAS

Cómo Iniciarse en Hacking y Ciberseguridad en 2024

Curso Gratis de Programación

Curso Gratis Linux – Capitulo 1 – Introducción a Linux

Curso Gratis de Redes – Capitulo 1 – Tipos de redes y servicios

Como iniciarse en TRY HACK ME – Complete Beginner #1

OSINT #1 Más de 200 Search Tools

Curso Gratis de Java para Hackers

SIGUE APRENDIENDO GRATIS EN NUESTRO BLOG

Saludos amigos y happy hacking!!!