Skip to content

Commit ec2d3d3

Browse files
authored
Merge pull request #1195 from HackTricks-wiki/research_update_src_todo_radio-hacking_infrared_20250727_014907
Research Update Enhanced src/todo/radio-hacking/infrared.md
2 parents e32a805 + 06cc463 commit ec2d3d3

File tree

1 file changed

+61
-4
lines changed

1 file changed

+61
-4
lines changed

src/todo/radio-hacking/infrared.md

Lines changed: 61 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -66,19 +66,76 @@ For **logic "0" and "1"** NEC uses Pulse Distance Encoding: first, a pulse burst
6666
Unlike other remotes, **air conditioners do not transmit just the code of the pressed button**. They also **transmit all the information** when a button is pressed to assure that the **air conditioned machine and the remote are synchronised**.\
6767
This will avoid that a machine set as 20ºC is increased to 21ºC with one remote, and then when another remote, which still has the temperature as 20ºC, is used to increase more the temperature, it will "increase" it to 21ºC (and not to 22ºC thinking it's in 21ºC).
6868

69-
### Attacks
69+
---
70+
71+
## Attacks & Offensive Research <a href="#attacks" id="attacks"></a>
7072

7173
You can attack Infrared with Flipper Zero:
7274

7375
{{#ref}}
7476
flipper-zero/fz-infrared.md
7577
{{#endref}}
7678

77-
## References
79+
### Smart-TV / Set-top Box Takeover (EvilScreen)
7880

79-
- [https://blog.flipperzero.one/infrared/](https://blog.flipperzero.one/infrared/)
81+
Recent academic work (EvilScreen, 2022) demonstrated that **multi-channel remotes that combine Infrared with Bluetooth or Wi-Fi can be abused to fully hijack modern smart-TVs**. The attack chains high-privilege IR service codes together with authenticated Bluetooth packets, bypassing channel-isolation and allowing arbitrary app launches, microphone activation, or factory-reset without physical access. Eight mainstream TVs from different vendors — including a Samsung model claiming ISO/IEC 27001 compliance — were confirmed vulnerable. Mitigation requires vendor firmware fixes or completely disabling unused IR receivers.
8082

81-
{{#include ../../banners/hacktricks-training.md}}
83+
### Air-Gapped Data Exfiltration via IR LEDs (aIR-Jumper family)
84+
85+
Security cameras, routers or even malicious USB sticks often include **night-vision IR LEDs**. Research shows malware can modulate these LEDs (<10–20 kbit/s with simple OOK) to **exfiltrate secrets through walls and windows** to an external camera placed tens of metres away. Because the light is outside the visible spectrum, operators rarely notice. Counter-measures:
86+
87+
* Physically shield or remove IR LEDs in sensitive areas
88+
* Monitor camera LED duty-cycle and firmware integrity
89+
* Deploy IR-cut filters on windows and surveillance cameras
90+
91+
An attacker can also use strong IR projectors to **infiltrate** commands into the network by flashing data back to insecure cameras.
92+
93+
### Long-Range Brute-Force & Extended Protocols with Flipper Zero 1.0
94+
95+
Firmware 1.0 (September 2024) added **dozens of extra IR protocols and optional external amplifier modules**. Combined with the universal-remote brute-force mode, a Flipper can disable or reconfigure most public TVs/ACs from up to 30 m using a high-power diode.
96+
97+
---
98+
99+
## Tooling & Practical Examples <a href="#tooling" id="tooling"></a>
82100

101+
### Hardware
83102

103+
* **Flipper Zero** – portable transceiver with learning, replay and dictionary-bruteforce modes (see above).
104+
* **Arduino / ESP32** + IR LED / TSOP38xx receiver – cheap DIY analyser/transmitter. Combine with the `Arduino-IRremote` library (v4.x supports >40 protocols).
105+
* **Logic analysers** (Saleae/FX2) – capture raw timings when protocol is unknown.
106+
* **Smartphones with IR-blaster** (e.g., Xiaomi) – quick field test but limited range.
84107

108+
### Software
109+
110+
* **`Arduino-IRremote`** – actively-maintained C++ library:
111+
```cpp
112+
#include <IRremote.hpp>
113+
IRsend sender;
114+
void setup(){ sender.begin(); }
115+
void loop(){
116+
sender.sendNEC(0x20DF10EF, 32); // Samsung TV Power
117+
delay(5000);
118+
}
119+
```
120+
* **IRscrutinizer / AnalysIR** – GUI decoders that import raw captures and auto-identify protocol + generate Pronto/Arduino code.
121+
* **LIRC / ir-keytable (Linux)** – receive and inject IR from the command line:
122+
```bash
123+
sudo ir-keytable -p nec,rc5 -t # live-dump decoded scancodes
124+
irsend SEND_ONCE samsung KEY_POWER
125+
```
126+
127+
---
128+
129+
## Defensive Measures <a href="#defense" id="defense"></a>
130+
131+
* Disable or cover IR receivers on devices deployed in public spaces when not required.
132+
* Enforce *pairing* or cryptographic checks between smart-TVs and remotes; isolate privileged “service” codes.
133+
* Deploy IR-cut filters or continuous-wave detectors around classified areas to break optical covert channels.
134+
* Monitor firmware integrity of cameras/IoT appliances that expose controllable IR LEDs.
135+
136+
## References
137+
138+
- [Flipper Zero Infrared blog post](https://blog.flipperzero.one/infrared/)
139+
- EvilScreen: Smart TV hijacking via remote control mimicry (arXiv 2210.03014)
140+
141+
{{#include ../../banners/hacktricks-training.md}}

0 commit comments

Comments
 (0)