Інфрачервоний
tip
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Вивчайте та практикуйте Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Підтримайте HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на github.
Як працює інфрачервоний
Інфрачервоне світло невидиме для людей. Довжина хвилі ІЧ становить від 0.7 до 1000 мікрон. Пульт дистанційного керування використовує ІЧ-сигнал для передачі даних і працює в діапазоні довжин хвиль 0.75..1.4 мікрон. Мікроконтролер у пульті змушує інфрачервоний світлодіод блимати з певною частотою, перетворюючи цифровий сигнал в ІЧ-сигнал.
Для прийому ІЧ-сигналів використовується фотоприймач. Він перетворює ІЧ-світло в імпульси напруги, які вже є цифровими сигналами. Зазвичай у приймачі є фільтр темного світла, який пропускає тільки бажану довжину хвилі і відсікає шум.
Різноманітність ІЧ-протоколів
ІЧ-протоколи відрізняються за 3 факторами:
- кодування бітів
- структура даних
- несуча частота — часто в діапазоні 36..38 кГц
Способи кодування бітів
1. Кодування відстані імпульсів
Біти кодуються шляхом модуляції тривалості простору між імпульсами. Ширина самого імпульсу є сталою.
.png)
2. Кодування ширини імпульсів
Біти кодуються шляхом модуляції ширини імпульсу. Ширина простору після сплеску імпульсу є сталою.
.png)
3. Кодування фази
Це також відомо як кодування Манчестера. Логічне значення визначається полярністю переходу між сплеском імпульсу та простором. "Простір до сплеску імпульсу" позначає логіку "0", "сплеск імпульсу до простору" позначає логіку "1".
.png)
4. Комбінація попередніх і інших екзотичних
tip
Існують ІЧ-протоколи, які намагаються стати універсальними для кількох типів пристроїв. Найвідоміші з них — RC5 і NEC. На жаль, найвідоміше не означає найпоширеніше. У моєму середовищі я зустрів лише два пульти NEC і жодного RC5.
Виробники люблять використовувати свої унікальні ІЧ-протоколи, навіть у межах одного і того ж діапазону пристроїв (наприклад, ТВ-бокси). Тому пульти від різних компаній і іноді від різних моделей однієї компанії не можуть працювати з іншими пристроями того ж типу.
Дослідження ІЧ-сигналу
Найнадійніший спосіб побачити, як виглядає ІЧ-сигнал пульта, — це використовувати осцилограф. Він не демодулює і не інвертує отриманий сигнал, він просто відображається "як є". Це корисно для тестування та налагодження. Я покажу очікуваний сигнал на прикладі ІЧ-протоколу NEC.
.png)
Зазвичай на початку закодованого пакета є преамбула. Це дозволяє приймачеві визначити рівень підсилення та фоновий шум. Існують також протоколи без преамбули, наприклад, Sharp.
Потім передаються дані. Структура, преамбула та метод кодування бітів визначаються конкретним протоколом.
ІЧ-протокол NEC містить коротку команду та код повторення, який надсилається під час натискання кнопки. Як команда, так і код повторення мають однакову преамбулу на початку.
Команда NEC, крім преамбули, складається з байта адреси та байта номера команди, за якими пристрій розуміє, що потрібно виконати. Байти адреси та номера команди дублюються з інверсними значеннями, щоб перевірити цілісність передачі. В кінці команди є додатковий стоп-біт.
Код повторення має "1" після преамбули, що є стоп-бітом.
Для логіки "0" і "1" NEC використовує кодування відстані імпульсів: спочатку передається сплеск імпульсу, після якого йде пауза, довжина якої задає значення біта.
Кондиціонери
На відміну від інших пультів, кондиціонери не передають лише код натиснутої кнопки. Вони також передають всю інформацію, коли кнопка натискається, щоб забезпечити, що кондиціонер і пульт синхронізовані.
Це дозволить уникнути ситуації, коли машина, налаштована на 20ºC, підвищується до 21ºC з одного пульта, а потім, коли використовується інший пульт, який все ще має температуру 20ºC, температура підвищується до 21ºC (а не до 22ºC, вважаючи, що вона на 21ºC).
Атаки та наступальні дослідження
Ви можете атакувати інфрачервоний з Flipper Zero:
{{#ref}} flipper-zero/fz-infrared.md {{#endref}}
Захоплення Smart-TV / ТВ-приставки (EvilScreen)
Недавня академічна робота (EvilScreen, 2022) продемонструвала, що багатоканальні пульти, які поєднують інфрачервоний з Bluetooth або Wi-Fi, можуть бути зловживані для повного захоплення сучасних смарт-ТВ. Атака поєднує високопривілейовані ІЧ-сервісні коди з автентифікованими Bluetooth-пакетами, обходячи ізоляцію каналів і дозволяючи запускати довільні програми, активувати мікрофон або скинути заводські налаштування без фізичного доступу. Вісім основних телевізорів від різних виробників — включаючи модель Samsung, яка стверджує про відповідність ISO/IEC 27001 — були підтверджені як вразливі. Пом'якшення вимагає виправлень прошивки від виробника або повного відключення невикористовуваних ІЧ-приймачів.
Витік даних з повітря через ІЧ-світлодіоди (сімейство aIR-Jumper)
Системи безпеки, маршрутизатори або навіть шкідливі USB-накопичувачі часто містять ІЧ-світлодіоди нічного бачення. Дослідження показують, що шкідливе ПЗ може модуляціювати ці світлодіоди (<10–20 кбіт/с з простим OOK), щоб викрадати секрети через стіни та вікна до зовнішньої камери, розташованої за десятки метрів. Оскільки світло знаходиться за межами видимого спектра, оператори рідко помічають. Заходи протидії:
- Фізично захистити або видалити ІЧ-світлодіоди в чутливих зонах
- Моніторити робочий цикл світлодіодів камер і цілісність прошивки
- Встановити ІЧ-фільтри на вікнах і камерах спостереження
Атакуючий також може використовувати потужні ІЧ-прожектори, щоб внедрити команди в мережу, миготячи даними назад до незахищених камер.
Далекобійний брутфорс та розширені протоколи з Flipper Zero 1.0
Прошивка 1.0 (вересень 2024) додала десятки додаткових ІЧ-протоколів та необов'язкових зовнішніх підсилювачів. У поєднанні з режимом брутфорсу універсального пульта, Flipper може вимкнути або переналаштувати більшість публічних телевізорів/кондиціонерів з відстані до 30 м, використовуючи діод високої потужності.
Інструменти та практичні приклади
Апаратура
- Flipper Zero – портативний трансивер з режимами навчання, відтворення та словникового брутфорсу (див. вище).
- Arduino / ESP32 + ІЧ-світлодіод / приймач TSOP38xx – дешевий DIY аналізатор/передавач. Поєднуйте з бібліотекою
Arduino-IRremote
(v4.x підтримує >40 протоколів). - Логічні аналізатори (Saleae/FX2) – захоплюють сирі таймінги, коли протокол невідомий.
- Смартфони з ІЧ-бластером (наприклад, Xiaomi) – швидкий польовий тест, але обмежений діапазон.
Програмне забезпечення
Arduino-IRremote
– активно підтримувана бібліотека C++:
#include <IRremote.hpp>
IRsend sender;
void setup(){ sender.begin(); }
void loop(){
sender.sendNEC(0x20DF10EF, 32); // Samsung TV Power
delay(5000);
}
- IRscrutinizer / AnalysIR – графічні декодери, які імпортують сирі захоплення та автоматично ідентифікують протокол + генерують код Pronto/Arduino.
- LIRC / ir-keytable (Linux) – отримують і впроваджують ІЧ з командного рядка:
sudo ir-keytable -p nec,rc5 -t # live-dump decoded scancodes
irsend SEND_ONCE samsung KEY_POWER
Заходи захисту
- Вимкніть або закрийте ІЧ-приймачі на пристроях, розгорнуті в громадських місцях, коли це не потрібно.
- Впровадьте пару або криптографічні перевірки між смарт-ТВ та пультами; ізолюйте привілейовані "сервісні" коди.
- Встановіть ІЧ-фільтри або детектори безперервної хвилі в навколо закритих зон, щоб зламати оптичні приховані канали.
- Моніторте цілісність прошивки камер/IoT-пристроїв, які відкривають контрольовані ІЧ-світлодіоди.
Посилання
- Flipper Zero Infrared blog post
- EvilScreen: захоплення смарт-ТВ через імітацію пульта (arXiv 2210.03014)
tip
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Вивчайте та практикуйте Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Підтримайте HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на github.