hacktricks/todo/radio-hacking/infrared.md

79 lines
6.4 KiB
Markdown
Raw Normal View History

2023-06-03 01:46:23 +00:00
# Infrarrojo
2022-12-24 12:04:26 +00:00
<details>
2023-04-25 18:35:28 +00:00
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
2022-12-24 12:04:26 +00:00
2023-06-03 01:46:23 +00:00
* ¿Trabajas en una **empresa de ciberseguridad**? ¿Quieres ver tu **empresa anunciada en HackTricks**? ¿O quieres tener acceso a la **última versión de PEASS o descargar HackTricks en PDF**? ¡Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
* Descubre [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nuestra colección de exclusivos [**NFTs**](https://opensea.io/collection/the-peass-family)
* Obtén el [**swag oficial de PEASS y HackTricks**](https://peass.creator-spring.com)
* **Únete al** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **sígueme** en **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Comparte tus trucos de hacking enviando PR al** [**repositorio de hacktricks**](https://github.com/carlospolop/hacktricks) **y al** [**repositorio de hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
2022-12-24 12:04:26 +00:00
</details>
2023-06-03 01:46:23 +00:00
## Cómo funciona el infrarrojo <a href="#how-the-infrared-port-works" id="how-the-infrared-port-works"></a>
2022-12-24 12:04:26 +00:00
2023-06-03 01:46:23 +00:00
**La luz infrarroja es invisible para los humanos**. La longitud de onda del infrarrojo es de **0,7 a 1000 micrones**. Los mandos a distancia utilizan una señal de infrarrojos para la transmisión de datos y operan en el rango de longitud de onda de 0,75 a 1,4 micrones. Un microcontrolador en el mando hace que un LED infrarrojo parpadee con una frecuencia específica, convirtiendo la señal digital en una señal de infrarrojos.
2022-12-24 12:04:26 +00:00
2023-06-03 01:46:23 +00:00
Para recibir señales de infrarrojos se utiliza un **fotoreceptor**. Este **convierte la luz infrarroja en pulsos de voltaje**, que ya son **señales digitales**. Por lo general, hay un **filtro de luz oscura dentro del receptor**, que permite pasar **sólo la longitud de onda deseada** y elimina el ruido.
2022-12-24 12:04:26 +00:00
2023-06-03 01:46:23 +00:00
### Variedad de protocolos de infrarrojos <a href="#variety-of-ir-protocols" id="variety-of-ir-protocols"></a>
2022-12-24 19:19:02 +00:00
2023-06-03 01:46:23 +00:00
Los protocolos de infrarrojos difieren en 3 factores:
2022-12-24 19:19:02 +00:00
2023-06-03 01:46:23 +00:00
* codificación de bits
* estructura de datos
* frecuencia portadora - a menudo en el rango de 36 a 38 kHz
2022-12-24 19:19:02 +00:00
2023-06-03 01:46:23 +00:00
#### Formas de codificación de bits <a href="#bit-encoding-ways" id="bit-encoding-ways"></a>
2022-12-24 19:19:02 +00:00
2023-06-03 01:46:23 +00:00
**1. Codificación de distancia de pulso**
2022-12-24 19:19:02 +00:00
2023-06-03 01:46:23 +00:00
Los bits se codifican mediante la modulación de la duración del espacio entre pulsos. El ancho del pulso en sí es constante.
2022-12-24 19:19:02 +00:00
2022-12-24 19:34:46 +00:00
<figure><img src="../../.gitbook/assets/image (16).png" alt=""><figcaption></figcaption></figure>
2022-12-24 19:19:02 +00:00
2023-06-03 01:46:23 +00:00
**2. Codificación de ancho de pulso**
2022-12-24 19:19:02 +00:00
2023-06-03 01:46:23 +00:00
Los bits se codifican mediante la modulación del ancho del pulso. El ancho del espacio después del estallido de pulso es constante.
2022-12-24 19:19:02 +00:00
2022-12-29 12:18:46 +00:00
<figure><img src="../../.gitbook/assets/image (29) (1).png" alt=""><figcaption></figcaption></figure>
2022-12-24 19:19:02 +00:00
2023-06-03 01:46:23 +00:00
**3. Codificación de fase**
2022-12-24 19:19:02 +00:00
2023-06-03 01:46:23 +00:00
También se conoce como codificación de Manchester. El valor lógico se define por la polaridad de la transición entre el estallido de pulso y el espacio. "Espacio a estallido de pulso" denota la lógica "0", "estallido de pulso a espacio" denota la lógica "1".
2022-12-24 19:19:02 +00:00
2022-12-24 19:34:46 +00:00
<figure><img src="../../.gitbook/assets/image (25).png" alt=""><figcaption></figcaption></figure>
2022-12-24 19:19:02 +00:00
2023-06-03 01:46:23 +00:00
**4. Combinación de los anteriores y otros exóticos**
2022-12-24 19:19:02 +00:00
{% hint style="info" %}
2023-06-03 01:46:23 +00:00
Hay protocolos de infrarrojos que **intentan ser universales** para varios tipos de dispositivos. Los más famosos son RC5 y NEC. Desafortunadamente, lo más famoso **no significa lo más común**. En mi entorno, me encontré con sólo dos mandos NEC y ninguno de RC5.
2022-12-24 19:19:02 +00:00
2023-06-03 01:46:23 +00:00
A los fabricantes les encanta utilizar sus propios protocolos de infrarrojos únicos, incluso dentro del mismo rango de dispositivos (por ejemplo, cajas de TV). Por lo tanto, los mandos a distancia de diferentes empresas y, a veces, de diferentes modelos de la misma empresa, no pueden funcionar con otros dispositivos del mismo tipo.
2022-12-24 19:19:02 +00:00
{% endhint %}
2023-06-03 01:46:23 +00:00
### Explorando una señal de infrarrojos
2022-12-24 19:19:02 +00:00
2023-06-03 01:46:23 +00:00
La forma más fiable de ver cómo se ve la señal de infrarrojos del mando a distancia es utilizar un osciloscopio. No demodula ni invierte la señal recibida, sólo se muestra "tal cual". Esto es útil para pruebas y depuración. Mostraré la señal esperada en el ejemplo del protocolo NEC de infrarrojos.
2022-12-24 19:19:02 +00:00
2023-03-04 19:33:37 +00:00
<figure><img src="../../.gitbook/assets/image (18) (2).png" alt=""><figcaption></figcaption></figure>
2022-12-24 19:19:02 +00:00
2023-06-03 01:46:23 +00:00
Por lo general, hay un preámbulo al principio de un paquete codificado. Esto permite al receptor determinar el nivel de ganancia y el fondo. También hay protocolos sin preámbulo, por ejemplo, Sharp.
2022-12-24 19:19:02 +00:00
2023-06-03 01:46:23 +00:00
A continuación se transmite la información. La estructura, el preámbulo y el método de codificación de bits son determinados por el protocolo específico.
2022-12-24 19:19:02 +00:00
2023-06-03 01:46:23 +00:00
El **protocolo NEC de infrarrojos** 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.
2022-12-24 19:19:02 +00:00
2023-06-03 01:46:23 +00:00
El **comando NEC**, además del preámbulo, consta de un byte de dirección y un byte de número de comando, por el cual el dispositivo entiende lo que debe hacerse. Los bytes de dirección y número de comando se duplican con valores inversos, para comprobar la integridad de la transmisión. Hay un bit de parada adicional al final del comando.
2022-12-24 19:19:02 +00:00
2023-06-03 01:46:23 +00:00
El **código de repetición** tiene un "1" después del preámbulo, que es un bit de parada.
2022-12-24 19:19:02 +00:00
2023-06-03 01:46:23 +00:00
Para la lógica "0" y "1", NEC utiliza la codificación de distancia de pulso: primero se transmite un estallido de pulso, después del cual hay una pausa, cuya longitud establece el valor del bit.
2022-12-24 19:19:02 +00:00
2023-06-03 01:46:23 +00:00
### Acondicionadores de aire
2022-12-24 19:19:02 +00:00
2023-06-03 01:46:23 +00:00
A diferencia de otros mandos a distancia, **los acondicionadores de aire no transmiten sólo el código del botón pulsado**. También **transmiten toda la información** cuando se pulsa un botón para asegurarse de que la **máquina de aire acondicionado y el mando a distancia estén sincronizados**.\
Esto