Infrared

Erlernen Sie AWS-Hacking von Null auf Held mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen:

Funktionsweise des Infrarots

Infrarotlicht ist für Menschen unsichtbar. Die IR-Wellenlänge liegt zwischen 0,7 und 1000 Mikrometern. Haushaltsfernbedienungen verwenden ein IR-Signal für die Datenübertragung und arbeiten im Wellenlängenbereich von 0,75..1,4 Mikrometern. Ein Mikrocontroller in der Fernbedienung lässt eine Infrarot-LED mit einer spezifischen Frequenz blinken, wodurch das digitale Signal in ein IR-Signal umgewandelt wird.

Zur Empfang von IR-Signalen wird ein Fotoreceiver verwendet. Er wandelt IR-Licht in Spannungsimpulse um, die bereits digitale Signale sind. Normalerweise gibt es einen Dunkellichtfilter im Empfänger, der nur die gewünschte Wellenlänge durchlässt und Störungen herausfiltert.

Vielfalt der IR-Protokolle

IR-Protokolle unterscheiden sich in 3 Faktoren:

  • Bit-Codierung

  • Datenstruktur

  • Trägerfrequenz — oft im Bereich von 36..38 kHz

Arten der Bit-Codierung

1. Pulsabstandscodierung

Bits werden codiert, indem die Dauer des Abstands zwischen den Impulsen moduliert wird. Die Breite des Impulses selbst ist konstant.

2. Pulsbreitencodierung

Bits werden durch Modulation der Pulsbreite codiert. Die Breite des Abstands nach dem Impulsstoß ist konstant.

3. Phasencodierung

Es ist auch als Manchester-Codierung bekannt. Der logische Wert wird durch die Polarität des Übergangs zwischen Impulsstoß und Abstand definiert. "Abstand zu Impulsstoß" bedeutet logisch "0", "Impulsstoß zu Abstand" bedeutet logisch "1".

4. Kombination der vorherigen und anderer Exoten

Es gibt IR-Protokolle, die versuchen, universell für mehrere Arten von Geräten zu werden. Die bekanntesten sind RC5 und NEC. Leider bedeutet der bekannteste nicht unbedingt der häufigste. In meiner Umgebung habe ich nur zwei NEC-Fernbedienungen und keine RC5-Fernbedienungen getroffen.

Hersteller verwenden gerne ihre eigenen einzigartigen IR-Protokolle, selbst innerhalb desselben Gerätebereichs (zum Beispiel TV-Boxen). Daher können Fernbedienungen verschiedener Unternehmen und manchmal verschiedener Modelle desselben Unternehmens nicht mit anderen Geräten desselben Typs arbeiten.

Erkunden eines IR-Signals

Der zuverlässigste Weg, um zu sehen, wie das IR-Signal der Fernbedienung aussieht, ist die Verwendung eines Oszilloskops. Es demoduliert oder invertiert das empfangene Signal nicht, sondern zeigt es "wie es ist" an. Dies ist nützlich für Tests und Debugging. Ich werde das erwartete Signal am Beispiel des NEC-IR-Protokolls zeigen.

Normalerweise gibt es am Anfang eines codierten Pakets eine Präambel. Dies ermöglicht es dem Empfänger, den Verstärkungspegel und den Hintergrund zu bestimmen. Es gibt auch Protokolle ohne Präambel, zum Beispiel Sharp.

Dann werden Daten übertragen. Die Struktur, die Präambel und die Bit-Codierungsmethode werden durch das spezifische Protokoll bestimmt.

Das NEC-IR-Protokoll enthält einen kurzen Befehl und einen Wiederholungscode, der gesendet wird, während die Taste gedrückt wird. Sowohl der Befehl als auch der Wiederholungscode haben am Anfang dieselbe Präambel.

Der Befehl von NEC besteht neben der Präambel aus einem Adressbyte und einem Befehlsnummernbyte, anhand dessen das Gerät versteht, was ausgeführt werden muss. Adress- und Befehlsnummernbytes werden mit inversen Werten dupliziert, um die Integrität der Übertragung zu überprüfen. Am Ende des Befehls gibt es ein zusätzliches Stoppbit.

Der Wiederholungscode hat nach der Präambel eine "1", die ein Stoppbit ist.

Für Logik "0" und "1" verwendet NEC die Pulsabstandscodierung: Zuerst wird ein Impulsstoß übertragen, nach dem eine Pause folgt, deren Länge den Wert des Bits festlegt.

Klimaanlagen

Im Gegensatz zu anderen Fernbedienungen übertragen Klimaanlagen nicht nur den Code der gedrückten Taste. Sie übertragen auch alle Informationen, wenn eine Taste gedrückt wird, um sicherzustellen, dass die Klimaanlage und die Fernbedienung synchronisiert sind. Dadurch wird vermieden, dass eine Maschine, die auf 20ºC eingestellt ist, mit einer Fernbedienung auf 21ºC erhöht wird und dann, wenn eine andere Fernbedienung, die die Temperatur noch auf 20ºC hat, verwendet wird, um die Temperatur weiter zu erhöhen, sie auf 21ºC "erhöht" (und nicht auf 22ºC, weil sie denkt, dass sie sich bereits auf 21ºC befindet).

Angriffe

Sie können Infrarot mit Flipper Zero angreifen:

pageFZ - Infrared

Referenzen

Erlernen Sie AWS-Hacking von Null auf Held mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen:

Last updated