mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
88 lines
12 KiB
Markdown
88 lines
12 KiB
Markdown
# Sub-GHz RF
|
||
|
||
{{#include ../../banners/hacktricks-training.md}}
|
||
|
||
## Garage Doors
|
||
|
||
Відкривачі гаражних дверей зазвичай працюють на частотах в діапазоні 300-190 МГц, причому найпоширенішими частотами є 300 МГц, 310 МГц, 315 МГц та 390 МГц. Цей діапазон частот зазвичай використовується для відкривачів гаражних дверей, оскільки він менш переповнений, ніж інші частотні діапазони, і менш ймовірно, що зазнає перешкод від інших пристроїв.
|
||
|
||
## Car Doors
|
||
|
||
Більшість автомобільних ключів працюють на **315 МГц або 433 МГц**. Це обидві радіочастоти, які використовуються в різних застосуваннях. Основна різниця між двома частотами полягає в тому, що 433 МГц має більший радіус дії, ніж 315 МГц. Це означає, що 433 МГц краще підходить для застосувань, які вимагають більшого радіусу дії, таких як дистанційний безключовий доступ.\
|
||
В Європі зазвичай використовується 433,92 МГц, а в США та Японії - 315 МГц.
|
||
|
||
## **Brute-force Attack**
|
||
|
||
<figure><img src="../../images/image (1084).png" alt=""><figcaption></figcaption></figure>
|
||
|
||
Якщо замість того, щоб надсилати кожен код 5 разів (надсилається так, щоб переконатися, що приймач його отримує), надіслати його лише один раз, час зменшується до 6 хвилин:
|
||
|
||
<figure><img src="../../images/image (622).png" alt=""><figcaption></figcaption></figure>
|
||
|
||
і якщо ви **видалите 2 мс очікування** між сигналами, ви можете **зменшити час до 3 хвилин.**
|
||
|
||
Більше того, використовуючи послідовність Де Брюйна (спосіб зменшити кількість бітів, необхідних для надсилання всіх потенційних двійкових чисел для брутфорсу), цей **час зменшується до 8 секунд**:
|
||
|
||
<figure><img src="../../images/image (583).png" alt=""><figcaption></figcaption></figure>
|
||
|
||
Приклад цього нападу був реалізований у [https://github.com/samyk/opensesame](https://github.com/samyk/opensesame)
|
||
|
||
Вимога **прембли уникне оптимізації послідовності Де Брюйна** і **кодові зміни запобігатимуть цьому нападу** (припускаючи, що код достатньо довгий, щоб не піддаватися брутфорсу).
|
||
|
||
## Sub-GHz Attack
|
||
|
||
Щоб атакувати ці сигнали за допомогою Flipper Zero, перевірте:
|
||
|
||
{{#ref}}
|
||
flipper-zero/fz-sub-ghz.md
|
||
{{#endref}}
|
||
|
||
## Rolling Codes Protection
|
||
|
||
Автоматичні відкривачі гаражних дверей зазвичай використовують бездротовий пульт дистанційного керування для відкриття та закриття гаражних дверей. Пульт дистанційного керування **надсилає радіочастотний (RF) сигнал** до відкривача гаражних дверей, який активує мотор для відкриття або закриття дверей.
|
||
|
||
Існує можливість, що хтось використовує пристрій, відомий як кодовий захоплювач, щоб перехопити RF сигнал і записати його для подальшого використання. Це відомо як **атака повтору**. Щоб запобігти такій атаці, багато сучасних відкривачів гаражних дверей використовують більш безпечний метод шифрування, відомий як система **кодових змін**.
|
||
|
||
**RF сигнал зазвичай передається за допомогою коду змін**, що означає, що код змінюється з кожним використанням. Це ускладнює **перехоплення** сигналу і **використання** його для отримання **неавторизованого** доступу до гаража.
|
||
|
||
У системі кодових змін пульт дистанційного керування та відкривач гаражних дверей мають **спільний алгоритм**, який **генерує новий код** щоразу, коли пульт використовується. Відкривач гаражних дверей реагуватиме лише на **правильний код**, що ускладнює отримання неавторизованого доступу до гаража лише шляхом захоплення коду.
|
||
|
||
### **Missing Link Attack**
|
||
|
||
В основному, ви слухаєте кнопку і **захоплюєте сигнал, поки пульт поза зоною дії** пристрою (скажімо, автомобіля або гаража). Потім ви переходите до пристрою і **використовуєте захоплений код, щоб відкрити його**.
|
||
|
||
### Full Link Jamming Attack
|
||
|
||
Зловмисник може **глушити сигнал поблизу автомобіля або приймача**, щоб **приймач не міг насправді «почути» код**, і коли це відбувається, ви можете просто **захопити та повторити** код, коли ви зупинили глушіння.
|
||
|
||
Жертва в якийсь момент використає **ключі, щоб заблокувати автомобіль**, але потім атака **запише достатньо "кодів закриття дверей"**, які, сподіваюся, можуть бути повторно надіслані, щоб відкрити двері (можливо, знадобиться **зміна частоти**, оскільки є автомобілі, які використовують ті ж коди для відкриття та закриття, але слухають обидва команди на різних частотах).
|
||
|
||
> [!WARNING]
|
||
> **Глушіння працює**, але це помітно, оскільки якщо **особа, що закриває автомобіль, просто перевіряє двері**, щоб переконатися, що вони заблоковані, вона помітить, що автомобіль не заблокований. Крім того, якщо вони були б обізнані про такі атаки, вони могли б навіть почути, що двері ніколи не видавали **звуку** блокування або **вогні** автомобіля ніколи не спалахували, коли вони натискали кнопку «блокування».
|
||
|
||
### **Code Grabbing Attack ( aka ‘RollJam’ )**
|
||
|
||
Це більш **прихована техніка глушіння**. Зловмисник буде глушити сигнал, тому, коли жертва намагається заблокувати двері, це не спрацює, але зловмисник **запише цей код**. Потім жертва **знову спробує заблокувати автомобіль**, натискаючи кнопку, і автомобіль **запише цей другий код**.\
|
||
Миттєво після цього **зловмисник може надіслати перший код**, і **автомобіль заблокується** (жертва подумає, що другий натиск закрив його). Потім зловмисник зможе **надіслати другий вкрадений код, щоб відкрити** автомобіль (припускаючи, що **код "закриття автомобіля" також може бути використаний для його відкриття**). Може знадобитися зміна частоти (оскільки є автомобілі, які використовують ті ж коди для відкриття та закриття, але слухають обидва команди на різних частотах).
|
||
|
||
Зловмисник може **глушити приймач автомобіля, а не свій приймач**, оскільки якщо приймач автомобіля слухає, наприклад, на 1 МГц широкосмуговому, зловмисник не **глушитиме** точну частоту, що використовується пультом, а **близьку в цьому спектрі**, в той час як **приймач зловмисника слухатиме в меншому діапазоні**, де він може слухати сигнал пульта **без сигналу глушіння**.
|
||
|
||
> [!WARNING]
|
||
> Інші реалізації, які були помічені в специфікаціях, показують, що **код зміни є частиною** загального коду, що надсилається. Тобто надісланий код є **24-бітним ключем**, де перші **12 - це код зміни**, **другі 8 - це команда** (така як блокування або розблокування), а останні 4 - це **контрольна сума**. Автомобілі, які реалізують цей тип, також природно вразливі, оскільки зловмиснику просто потрібно замінити сегмент коду зміни, щоб мати можливість **використовувати будь-який код зміни на обох частотах**.
|
||
|
||
> [!CAUTION]
|
||
> Зверніть увагу, що якщо жертва надішле третій код, поки зловмисник надсилає перший, перший і другий код будуть недійсними.
|
||
|
||
### Alarm Sounding Jamming Attack
|
||
|
||
Тестуючи проти системи коду зміни, встановленої на автомобілі, **надсилання одного й того ж коду двічі** негайно **активувало сигналізацію** та іммобілізатор, надаючи унікальну **можливість відмови в обслуговуванні**. Іронічно, засобом **відключення сигналізації** та іммобілізатора було **натискання** на **пульт**, що надає зловмиснику можливість **постійно виконувати атаку DoS**. Або змішати цю атаку з **попередньою, щоб отримати більше кодів**, оскільки жертва хотіла б якомога швидше зупинити атаку.
|
||
|
||
## References
|
||
|
||
- [https://www.americanradioarchives.com/what-radio-frequency-does-car-key-fobs-run-on/](https://www.americanradioarchives.com/what-radio-frequency-does-car-key-fobs-run-on/)
|
||
- [https://www.andrewmohawk.com/2016/02/05/bypassing-rolling-code-systems/](https://www.andrewmohawk.com/2016/02/05/bypassing-rolling-code-systems/)
|
||
- [https://samy.pl/defcon2015/](https://samy.pl/defcon2015/)
|
||
- [https://hackaday.io/project/164566-how-to-hack-a-car/details](https://hackaday.io/project/164566-how-to-hack-a-car/details)
|
||
|
||
{{#include ../../banners/hacktricks-training.md}}
|