Infrared

Reading time: 9 minutes

tip

Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE) Apprenez et pratiquez le hacking Azure : HackTricks Training Azure Red Team Expert (AzRTE)

Soutenir HackTricks

Comment fonctionne l'infrarouge

La lumiÚre infrarouge est invisible pour les humains. La longueur d'onde IR va de 0,7 à 1000 microns. Les télécommandes domestiques utilisent un signal IR pour la transmission de données et fonctionnent dans la plage de longueur d'onde de 0,75 à 1,4 microns. Un microcontrÎleur dans la télécommande fait clignoter une LED infrarouge à une fréquence spécifique, transformant le signal numérique en un signal IR.

Pour recevoir des signaux IR, un photodétecteur est utilisé. Il convertit la lumiÚre IR en impulsions de tension, qui sont déjà des signaux numériques. En général, il y a un filtre de lumiÚre sombre à l'intérieur du récepteur, qui laisse passer uniquement la longueur d'onde souhaitée et élimine le bruit.

Variété de protocoles IR

Les protocoles IR diffĂšrent par 3 facteurs :

  • encodage des bits
  • structure des donnĂ©es
  • frĂ©quence porteuse — souvent dans la plage de 36 Ă  38 kHz

Méthodes d'encodage des bits

1. Encodage par distance d'impulsion

Les bits sont encodĂ©s en modulant la durĂ©e de l'espace entre les impulsions. La largeur de l'impulsion elle-mĂȘme est constante.

2. Encodage par largeur d'impulsion

Les bits sont encodés par modulation de la largeur de l'impulsion. La largeur de l'espace aprÚs l'explosion d'impulsion est constante.

3. Encodage de phase

Il est également connu sous le nom d'encodage Manchester. La valeur logique est définie par la polarité de la transition entre l'explosion d'impulsion et l'espace. "Espace à explosion d'impulsion" désigne la logique "0", "explosion d'impulsion à espace" désigne la logique "1".

4. Combinaison des précédents et autres exotiques

tip

Il existe des protocoles IR qui essaient de devenir universels pour plusieurs types d'appareils. Les plus connus sont RC5 et NEC. Malheureusement, le plus connu ne signifie pas le plus courant. Dans mon environnement, j'ai rencontré seulement deux télécommandes NEC et aucune RC5.

Les fabricants aiment utiliser leurs propres protocoles IR uniques, mĂȘme au sein de la mĂȘme gamme d'appareils (par exemple, les dĂ©codeurs TV). Par consĂ©quent, les tĂ©lĂ©commandes de diffĂ©rentes entreprises et parfois de diffĂ©rents modĂšles de la mĂȘme entreprise, ne peuvent pas fonctionner avec d'autres appareils du mĂȘme type.

Exploration d'un signal IR

Le moyen le plus fiable de voir à quoi ressemble le signal IR de la télécommande est d'utiliser un oscilloscope. Il ne démodule ni n'inverse le signal reçu, il est simplement affiché "tel quel". Cela est utile pour les tests et le débogage. Je vais montrer le signal attendu à l'exemple du protocole IR NEC.

En général, il y a un préambule au début d'un paquet encodé. Cela permet au récepteur de déterminer le niveau de gain et de fond. Il existe également des protocoles sans préambule, par exemple, Sharp.

Ensuite, les données sont transmises. La structure, le préambule et la méthode d'encodage des bits sont déterminés par le protocole spécifique.

Le protocole IR NEC contient une courte commande et un code de rĂ©pĂ©tition, qui est envoyĂ© pendant que le bouton est enfoncĂ©. La commande et le code de rĂ©pĂ©tition ont tous deux le mĂȘme prĂ©ambule au dĂ©but.

La commande NEC, en plus du prĂ©ambule, se compose d'un octet d'adresse et d'un octet de numĂ©ro de commande, par lesquels l'appareil comprend ce qui doit ĂȘtre effectuĂ©. Les octets d'adresse et de numĂ©ro de commande sont dupliquĂ©s avec des valeurs inverses, pour vĂ©rifier l'intĂ©gritĂ© de la transmission. Il y a un bit d'arrĂȘt supplĂ©mentaire Ă  la fin de la commande.

Le code de rĂ©pĂ©tition a un "1" aprĂšs le prĂ©ambule, qui est un bit d'arrĂȘt.

Pour la logique "0" et "1", NEC utilise l'encodage par distance d'impulsion : d'abord, une explosion d'impulsion est transmise aprÚs laquelle il y a une pause, sa longueur détermine la valeur du bit.

Climatisations

Contrairement à d'autres télécommandes, les climatiseurs ne transmettent pas seulement le code du bouton enfoncé. Ils transmettent également toutes les informations lorsqu'un bouton est enfoncé pour s'assurer que la machine à air conditionné et la télécommande sont synchronisées.
Cela Ă©vitera qu'une machine rĂ©glĂ©e Ă  20ÂșC soit augmentĂ©e Ă  21ÂșC avec une tĂ©lĂ©commande, et ensuite, lorsqu'une autre tĂ©lĂ©commande, qui a toujours la tempĂ©rature Ă  20ÂșC, est utilisĂ©e pour augmenter encore la tempĂ©rature, elle "l'augmentera" Ă  21ÂșC (et non Ă  22ÂșC en pensant qu'elle est Ă  21ÂșC).


Attaques & Recherche Offensive

Vous pouvez attaquer l'infrarouge avec Flipper Zero :

FZ - Infrared

Prise de contrĂŽle de Smart-TV / Set-top Box (EvilScreen)

Des travaux acadĂ©miques rĂ©cents (EvilScreen, 2022) ont dĂ©montrĂ© que les tĂ©lĂ©commandes multi-canaux qui combinent l'infrarouge avec Bluetooth ou Wi-Fi peuvent ĂȘtre abusĂ©es pour prendre complĂštement le contrĂŽle des smart-TVs modernes. L'attaque enchaĂźne des codes de service IR Ă  privilĂšges Ă©levĂ©s avec des paquets Bluetooth authentifiĂ©s, contournant l'isolation des canaux et permettant le lancement d'applications arbitraires, l'activation du microphone ou la rĂ©initialisation d'usine sans accĂšs physique. Huit tĂ©lĂ©viseurs grand public de diffĂ©rents fournisseurs — y compris un modĂšle Samsung prĂ©tendant ĂȘtre conforme Ă  la norme ISO/IEC 27001 — ont Ă©tĂ© confirmĂ©s vulnĂ©rables. L'attĂ©nuation nĂ©cessite des correctifs de firmware du fournisseur ou la dĂ©sactivation complĂšte des rĂ©cepteurs IR inutilisĂ©s.

Exfiltration de données air-gapped via des LED IR (famille aIR-Jumper)

Les camĂ©ras de sĂ©curitĂ©, les routeurs ou mĂȘme les clĂ©s USB malveillantes incluent souvent des LED IR de vision nocturne. Des recherches montrent que des logiciels malveillants peuvent moduler ces LED (<10–20 kbit/s avec OOK simple) pour exfiltrer des secrets Ă  travers les murs et les fenĂȘtres vers une camĂ©ra externe placĂ©e Ă  des dizaines de mĂštres. Comme la lumiĂšre est en dehors du spectre visible, les opĂ©rateurs remarquent rarement. Contre-mesures :

  • ProtĂ©ger physiquement ou retirer les LED IR dans les zones sensibles
  • Surveiller le cycle de service des LED de la camĂ©ra et l'intĂ©gritĂ© du firmware
  • DĂ©ployer des filtres IR-cut sur les fenĂȘtres et les camĂ©ras de surveillance

Un attaquant peut également utiliser de puissants projecteurs IR pour infiltrer des commandes dans le réseau en flashant des données vers des caméras non sécurisées.

Brute-Force Ă  Longue PortĂ©e & Protocoles Étendus avec Flipper Zero 1.0

Le firmware 1.0 (septembre 2024) a ajouté des dizaines de protocoles IR supplémentaires et des modules amplificateurs externes optionnels. Combiné avec le mode brute-force de télécommande universelle, un Flipper peut désactiver ou reconfigurer la plupart des téléviseurs/climatiseurs publics jusqu'à 30 m en utilisant une diode haute puissance.


Outils & Exemples Pratiques

Matériel

  • Flipper Zero – transceiver portable avec modes d'apprentissage, de rĂ©pĂ©tition et de brute-force par dictionnaire (voir ci-dessus).
  • Arduino / ESP32 + LED IR / rĂ©cepteur TSOP38xx – analyseur/transmetteur DIY bon marchĂ©. Combinez avec la bibliothĂšque Arduino-IRremote (v4.x prend en charge >40 protocoles).
  • Analyseurs logiques (Saleae/FX2) – capturer les temps bruts lorsque le protocole est inconnu.
  • Smartphones avec IR-blaster (par exemple, Xiaomi) – test rapide sur le terrain mais portĂ©e limitĂ©e.

Logiciel

  • Arduino-IRremote – bibliothĂšque C++ activement maintenue :
cpp
#include <IRremote.hpp>
IRsend sender;
void setup(){ sender.begin(); }
void loop(){
sender.sendNEC(0x20DF10EF, 32); // Samsung TV Power
delay(5000);
}
  • IRscrutinizer / AnalysIR – dĂ©codeurs GUI qui importent des captures brutes et identifient automatiquement le protocole + gĂ©nĂšrent du code Pronto/Arduino.
  • LIRC / ir-keytable (Linux) – recevoir et injecter IR depuis la ligne de commande :
bash
sudo ir-keytable -p nec,rc5 -t   # dump en direct des codes scannés décodés
irsend SEND_ONCE samsung KEY_POWER

Mesures Défensives

  • DĂ©sactiver ou couvrir les rĂ©cepteurs IR sur les appareils dĂ©ployĂ©s dans des espaces publics lorsqu'ils ne sont pas nĂ©cessaires.
  • Appliquer des vĂ©rifications de couplage ou cryptographiques entre les smart-TVs et les tĂ©lĂ©commandes ; isoler les codes de "service" privilĂ©giĂ©s.
  • DĂ©ployer des filtres IR-cut ou des dĂ©tecteurs d'ondes continues autour des zones classifiĂ©es pour briser les canaux optiques cachĂ©s.
  • Surveiller l'intĂ©gritĂ© du firmware des camĂ©ras/appareils IoT qui exposent des LED IR contrĂŽlables.

Références

tip

Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE) Apprenez et pratiquez le hacking Azure : HackTricks Training Azure Red Team Expert (AzRTE)

Soutenir HackTricks