Sub-GHz RF
Last updated
Last updated
Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Otwieracze do drzwi garażowych zazwyczaj działają na częstotliwościach w zakresie 300-190 MHz, a najczęściej spotykane częstotliwości to 300 MHz, 310 MHz, 315 MHz i 390 MHz. Ten zakres częstotliwości jest powszechnie używany w otwieraczach do drzwi garażowych, ponieważ jest mniej zatłoczony niż inne pasma częstotliwości i jest mniej narażony na zakłócenia od innych urządzeń.
Większość pilotów do samochodów działa na 315 MHz lub 433 MHz. Obie te częstotliwości to częstotliwości radiowe, które są używane w różnych zastosowaniach. Główna różnica między tymi dwiema częstotliwościami polega na tym, że 433 MHz ma dłuższy zasięg niż 315 MHz. Oznacza to, że 433 MHz jest lepsze do zastosowań wymagających dłuższego zasięgu, takich jak zdalne otwieranie bezkluczykowe. W Europie powszechnie używa się 433,92 MHz, a w USA i Japonii 315 MHz.
Jeśli zamiast wysyłać każdy kod 5 razy (wysyłany w ten sposób, aby upewnić się, że odbiornik go otrzyma) wyślesz go tylko raz, czas zostaje skrócony do 6 minut:
a jeśli usunięty zostanie 2 ms czas oczekiwania między sygnałami, możesz skrócić czas do 3 minut.
Co więcej, używając sekwencji De Bruijn (sposób na zmniejszenie liczby bitów potrzebnych do wysłania wszystkich potencjalnych liczb binarnych do bruteforce), ten czas zostaje skrócony do zaledwie 8 sekund:
Przykład tego ataku został zaimplementowany w https://github.com/samyk/opensesame
Wymaganie preambuły unika optymalizacji sekwencji De Bruijn i kody zmienne będą zapobiegać temu atakowi (zakładając, że kod jest wystarczająco długi, aby nie można go było złamać).
Aby zaatakować te sygnały za pomocą Flipper Zero, sprawdź:
FZ - Sub-GHzAutomatyczne otwieracze do drzwi garażowych zazwyczaj używają bezprzewodowego pilota do otwierania i zamykania drzwi garażowych. Pilot wysyła sygnał radiowy (RF) do otwieracza drzwi garażowych, który aktywuje silnik do otwarcia lub zamknięcia drzwi.
Możliwe jest, aby ktoś użył urządzenia znanego jako code grabber, aby przechwycić sygnał RF i nagrać go do późniejszego użycia. Jest to znane jako atak powtórzeniowy. Aby zapobiec tego typu atakowi, wiele nowoczesnych otwieraczy do drzwi garażowych używa bardziej bezpiecznej metody szyfrowania znanej jako system kodów zmiennych.
Sygnał RF jest zazwyczaj przesyłany za pomocą kodu zmiennego, co oznacza, że kod zmienia się przy każdym użyciu. To sprawia, że trudno jest komuś przechwycić sygnał i użyć go do uzyskania nieautoryzowanego dostępu do garażu.
W systemie kodów zmiennych pilot i otwieracz do drzwi garażowych mają wspólny algorytm, który generuje nowy kod za każdym razem, gdy pilot jest używany. Otwieracz do drzwi garażowych zareaguje tylko na prawidłowy kod, co znacznie utrudnia uzyskanie nieautoryzowanego dostępu do garażu tylko poprzez przechwycenie kodu.
W zasadzie, nasłuchujesz przycisku i przechwytujesz sygnał, gdy pilot jest poza zasięgiem urządzenia (powiedzmy samochodu lub garażu). Następnie przechodzisz do urządzenia i używasz przechwyconego kodu, aby je otworzyć.
Napastnik mógłby zakłócać sygnał w pobliżu pojazdu lub odbiornika, aby odbiornik nie mógł faktycznie „usłyszeć” kodu, a gdy to się dzieje, możesz po prostu przechwycić i powtórzyć kod, gdy przestaniesz zakłócać.
Ofiara w pewnym momencie użyje kluczy do zablokowania samochodu, ale atakujący nagrał wystarczająco dużo kodów „zamknij drzwi”, które mam nadzieję można będzie ponownie wysłać, aby otworzyć drzwi (może być potrzebna zmiana częstotliwości, ponieważ są samochody, które używają tych samych kodów do otwierania i zamykania, ale nasłuchują obu poleceń na różnych częstotliwościach).
Zakłócanie działa, ale jest zauważalne, ponieważ jeśli osoba zamykająca samochód po prostu sprawdzi drzwi, aby upewnić się, że są zablokowane, zauważy, że samochód jest odblokowany. Dodatkowo, jeśli byłyby świadome takich ataków, mogłyby nawet usłyszeć, że drzwi nigdy nie wydały dźwięku zamka lub światła samochodu nigdy nie migały, gdy nacisnęły przycisk „zablokuj”.
To bardziej technika zakłócania w ukryciu. Napastnik zakłóci sygnał, więc gdy ofiara spróbuje zablokować drzwi, to nie zadziała, ale napastnik nagra ten kod. Następnie ofiara spróbuje ponownie zablokować samochód, naciskając przycisk, a samochód nagra ten drugi kod. Natychmiast po tym napastnik może wysłać pierwszy kod, a samochód się zablokuje (ofiara pomyśli, że drugi nacisk go zamknął). Następnie napastnik będzie mógł wysłać drugi skradziony kod, aby otworzyć samochód (zakładając, że kod „zamknij samochód” może być również użyty do jego otwarcia). Może być potrzebna zmiana częstotliwości (ponieważ są samochody, które używają tych samych kodów do otwierania i zamykania, ale nasłuchują obu poleceń na różnych częstotliwościach).
Napastnik może zakłócać odbiornik samochodu, a nie swój odbiornik, ponieważ jeśli odbiornik samochodu nasłuchuje na przykład w szerokim paśmie 1 MHz, napastnik nie zakłóci dokładnej częstotliwości używanej przez pilot, ale bliską w tym spektrum, podczas gdy odbiornik napastnika będzie nasłuchiwał w mniejszym zakresie, gdzie może usłyszeć sygnał pilota bez sygnału zakłócającego.
Inne implementacje widziane w specyfikacjach pokazują, że kod zmienny jest częścią całkowitego kodu wysyłanego. Tj. wysyłany kod to 24-bitowy klucz, gdzie pierwsze 12 to kod zmienny, drugie 8 to polecenie (takie jak zablokuj lub odblokuj), a ostatnie 4 to suma kontrolna. Pojazdy implementujące ten typ są również naturalnie podatne, ponieważ napastnik musi jedynie zastąpić segment kodu zmiennego, aby móc używać dowolnego kodu zmiennego na obu częstotliwościach.
Zauważ, że jeśli ofiara wyśle trzeci kod, gdy napastnik wysyła pierwszy, pierwszy i drugi kod zostaną unieważnione.
Testując system kodów zmiennych zainstalowany w samochodzie, wysłanie tego samego kodu dwa razy natychmiast aktywowało alarm i immobilizator, co stwarza unikalną możliwość odmowy usługi. Ironią jest to, że środkiem wyłączania alarmu i immobilizatora było naciśnięcie pilota, co daje napastnikowi możliwość ciągłego przeprowadzania ataku DoS. Lub połączenie tego ataku z poprzednim, aby uzyskać więcej kodów, ponieważ ofiara chciałaby jak najszybciej zakończyć atak.
Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)