Kilka dni temu opublikowaliśmy artykuł pokazujący ograniczenia Flippera Zero w wersji z firmowym oprogramowaniem. Dzisiaj czas spojrzeć nieco głębiej, czyli sprawdzić, co potrafi Flipper potraktowany odpowiednimi modyfikacjami.
Pierwsza część artykułu wzbudziła niemałą dyskusję w komentarzach. Od wyrazów aprobaty, przez nawiązywanie do dokumentacji, na epitetach kończąc. Głównym problemem, który chciałem w nim podkreślić, była rozbieżność między możliwościami, jakie daje Flipper po wyjęciu z pudełka, a zachwalającymi jego możliwości filmikami w sieci. „Kup, odpakuj, klikaj, hakuj” nie okazało się aż tak trafne.
Publikacja artykułu otworzyła przede mną kolejne drzwi. Znajomi, wcześniej niechętni do jakichkolwiek testów ich sprzętu, teraz sami podsuwali mi urządzenia pod nos z hasłem „a może tu zadziała?”. Nie mogłem sobie odmówić jeszcze jednej rundki z Flipperem. Zobaczcie, jak mi poszło tym razem.
Oryginalne oprogramowanie – kolejne funkcje
Wziąłem więc delfina i nie zmieniając (ani nie aktualizując) oprogramowania, po naładowaniu baterii postanowiłem wykonać jeszcze kilka testów.
Pierwszą opcją, którą całkowicie pominąłem w poprzednim artykule, była możliwość użycia Flippera jako klucza U2F. Ta funkcja działa perfekcyjnie. Klucz U2F to sprzętowe rozwiązanie do uwierzytelniania dwuskładnikowego. Konfiguracja (np. dla konta Google) jest banalnie prosta. Po podpięciu Flippera do komputera i kilku kliknięciach mogłem już z tej funkcji korzystać. Aby potwierdzić logowanie przy użyciu klucza, wystarczyło jedynie wcisnąć środkowy przycisk na urządzeniu. Cudownie!
Kolejną możliwością, użytą podczas pisania tego artykułu, była funkcja „Mouse Jiggler” schowana głęboko w katalogu Apps > USB > Remote. Aby monitor służbowego komputera nie gasł oraz bym był wciąż dostępny na firmowym komunikatorze, aplikacja poruszała na boki kursorem o kilka pikseli, symulując moją obecność przy monitorze. Wszystko działało wyśmienicie do momentu, gdy przyszedł do mnie zainteresowany analityk z informacją, że Microsoftowy EDR wykrył niepokojące urządzenie podpięte do mojego komputera.
Tyle dobrze, że alert był jedynie informacyjny. Zanim mnie pogoniono, zdążyłem jeszcze przetestować myszkę, klawiaturę i kontroler mediów schowany w tym samym miejscu na Flipperze. Dodatkowo warto tu wspomnieć, że jedyna oryginalna aplikacja w katalogu „Bluetooth” pozwala na podobną emulację urządzeń peryferyjnych. Moimi ofiarami padły osobisty laptop oraz telewizor z systemem AndroidTV, gdzie pilot również jest parowany po BT. We wszystkich przypadkach (po USB oraz BT) sterowanie działało, ale sposób ten nie był wygodnym rozwiązaniem.
Z niezadowoleniem czytelników poprzedniego odcinka spotkałem się w tematyce breloczków RFID. Cały scenariusz w stylu „ukradnij breloczek, żeby zeskanować go Flipperem i móc otworzyć furtkę” nie jest zbytnio porywający. Zauważyłem jednak, że ochrona w galeriach, biurowcach i innych budynkach często podczas obchodu odbija się od rozmieszczonych po korytarzach tagów. Zaznacza się w ten sposób swoją obecność w danym miejscu o konkretnym czasie. Po chwili macania ściany w jednym z budynków zauważyłem niewielkie kółko oznaczone jako „World TAG” oraz „RFID – Logistic and Industrial Transponder”. Bingo!
Naprawdę musiałem się napocić, nie żeby wykonać zdjęcie czy skan, ale żeby przekonać ochroniarza, by odbił się „ode mnie”, a nie od ściany. Po chwili wyjaśnień urządzenie zostało przyłożone do Flippera i ku naszemu zdziwieniu obchód został zaliczony! Niestety ze względu na totalny brak zaufania ze strony ochroniarza nie mogłem tego udokumentować.
Na tapet wziąłem jeszcze raz cały pilot uniwersalny, który nie jest niczym zaskakującym, ale dla pełni testów warto było ponownie sprawdzić i to. Finalnie więc:
- sterowałem klimatyzacją domową marki Rotenso,
- sterowałem klimatyzacją przemysłową marki Sinclair,
- wyłączyłem kilka telewizorów u znajomych,
- zgasiłem uczelniany projektor na auli.
Oryginalne oprogramowanie w starciu z pojazdami
Muszę się również zreflektować w sprawie Tesli, z którą nie odniosłem sukcesu w poprzednim odcinku. Po głębszym przekopaniu internetu znalazłem inne sygnały pozwalające na otwarcie klapki portu ładowania – zarówno nagrywane na żywo, jak i generowane cyfrowo w celu uzyskania idealnego sygnału. Po uzbrojeniu się w kilkanaście możliwych do uruchomienia kodów, znalezieniu wolnostojącej Tesli i uzyskaniu zgody jej właściciela mogłem spróbować swoich sił w mocowaniu się z klapką. Ku mojemu zdziwieniu, pierwszy możliwy do nadania sygnał pozwolił na otwarcie elektrycznego wlewu paliwa!
Zainteresowany właściciel pozwolił mi również sklonować kartę do Tesli i obmacać Flipperem cały pojazd (czytnik znajduje się w słupku pomiędzy szybami bocznymi). Niestety zabezpieczenia Tesli nie pozwoliły na otwarcie pojazdu emulowaną kartą.
Po poprzednim artykule znalazło się również kilku posiadaczy pojazdów chętnych do testów przechwycenia kodu z kluczyka. Najpierw przy pomocy pozycji „Frequency Analyzer” próbowałem poznać częstotliwość, na jakiej nadaje kluczyk, by następnie za pomocą opcji „Read” lub „Read RAW” w menu „Sub-GHz” próbować złapać kod otwierający takie pojazdy jak:
- Opel Astra H (rok produkcji 2008),
- Opel Ampera (rok produkcji 2011),
- Volkswagen Golf IV (rok produkcji 2001).
Niestety we wszystkich trzech przypadkach próby zakończyły się fiaskiem, co było do przewidzenia ponieważ już w 1990 roku powstał mechanizm rolling code, który ma zapobiegać właśnie atakom polegającym na powtarzaniu przechwyconego wcześniej kodu.
Na tym postanowiłem zaprzestać testów oryginalnego oprogramowania.
Nieoficjalne oprogramowanie a legalność
Sporo komentarzy domagało się testów oprogramowania nieoficjalnego, tzw. CFW (custom firmware). Zaznaczam, że opierałem się na liście oprogramowania z repozytorium awesome-flipperzero.
Obecnie najczęściej wymieniane są trzy nieoficjalne systemy pozwalające zdjąć kaganiec delfinkowi. Pierwszym, który powstał na podstawie oryginalnego oprogramowania, jest Unleashed, który skupia się głównie na nowych funkcjach, bez dużych zmian w interfejsie. Na bazie systemu Unleashed powstał RogueMaster, który domyślnie pozwala chociażby używać dodatkowych częstotliwości w opcji „Sub-GHz”. Trzecim popularnym systemem jest Xtreme, który najpierw powstał jako modyfikacja RogueMaster, następnie został przepisany w oparciu o Unleashed z dodatkowymi poprawkami z oficjalnego oprogramowania.
Warto zaznaczyć, że choć wgrywanie nieoficjalnego oprogramowania „może przeprowadzić nawet 12-latek”, to operacja ta jest legalna. Nielegalne za to jest używanie sygnału na częstotliwościach spoza dozwolonego zakresu. Jak mówi art. 208 Prawa telekomunikacyjnego:
1. Kto bez wymaganego pozwolenia używa urządzenia radiowego nadawczego lub nadawczo-odbiorczego, podlega karze grzywny w wysokości do 1000 złotych.
2. Jeżeli sprawca czynu określonego w ust. 1 działa w sposób uporczywy, podlega grzywnie, karze ograniczenia wolności albo pozbawienia wolności do lat 2.
Dlatego też w dalszej części artykułu nie będę zaznaczać, której wersji kiedy używałem, aby nie ułatwiać zabawy oraz by recenzja była recenzją, a nie poradnikiem.
Pierwsze wrażenia bez kagańca
Po instalacji każdy z systemów wita nas niestandardowym ekranem, który widzimy tylko po zakończonej „aktualizacji”. W przypadku Unleashed nie widać prawie żadnych zmian w interfejsie. Xtreme posiada inne menu do poruszania się po urządzeniu. Z kolei RogueMaster już od początku wyświetla nam zupełnie inne animacje. Niektóre z tych zmian graficznych można wyłączyć, przełączyć na oryginalne lub zmodyfikować pod własne upodobania.
Jedną ze wspólnych funkcji między systemami jest możliwość zmiany nazwy swojego wirtualnego przyjaciela (bo nie zawsze jest to już delfin). Ja postanowiłem, że dalej będzie się nazywać Tulirba.
Przy wyborze wersji oprogramowania zawsze starałem się sięgać po tę najbardziej bogatą w dodatki i powiem, że było warto. Pozycji w menu urządzenia nie przybywało za wiele, najczęściej pojawiała się pozycja z zegarkiem (której nie uświadczyłem w oficjalnym oprogramowaniu) oraz dodatkowe ustawienia związane z konkretnym softem. Niezależnie jednak od wgranego systemu, w porównaniu do oryginalnego oprogramowania, po wejściu do katalogu „Apps” i wybraniu jednego z katalogów, takich jak „Media”, „RFID” czy „Bluetooth”, zamiast 1-2 aplikacji widziałem długą listę pozycji (rekord to 68 elementów). A było w czym wybierać!
Już w tym momencie mogłem przyznać, że nie przetestuję wszystkiego. W pozycji „Games” (które są średnio hakerskie, ale pozwalają na urozmaicenie czasu z Flipperem) we wszystkich trzech systemach obowiązkowo znajdował się DOOM (a raczej port pierwszego poziomu). Port ten jest również wymieniony w oficjalnym projekcie strony CanItRunDoom.org.
BLE spamming i gymscamming w akcji
Z prezentacji „Bo to niedobra rada była, czyli rekomendacje, które szkodzą zamiast pomagać” Adama Haertle, wygłoszonej podczas Oh My Hack 2023, można było się dowiedzieć, jak Instytut Cyberbezpieczeństwa przestrzegał przed atakiem, który nazwano nigdzie indziej niespotykanym terminem „gymscamming”. Miało być to oszustwo polegające na kontakcie z ludźmi szukającymi partnera do ćwiczeń w celu uzyskania korzyści materialnych.
Spakowałem więc plecak, wziąłem Flippera i wieczorem wyruszyłem na jedną z lokalnych siłowni, aby udokumentować (i przeprowadzić) pierwszy w historii internetu atak gymscammingu. Podczas ćwiczeń niejednokrotnie widziałem, że tuż obok maszyny leży telefon, tablet, a niekiedy osoba ćwicząca na głowie ma bezprzewodowe słuchawki. Po dodaniu do tego całej masy smart opasek, zegarków, bandów i innej elektroniki wyglądało to dla mnie jak idealne miejsce na testy spuszczonego ze smyczy delfina z aplikacją do Bluetooth spammingu. Scenariusz ataku był następujący – miałem podejść do losowej osoby i pokazując Flippera, zacząć swój monolog:
„Hej! Oprócz tego, że sporadycznie ćwiczę, to zajmuję się cyberbezpieczeństwem. To urządzenie to Flipper Zero i na klik może udawać kilka urządzeń próbujących podłączyć się do twojego telefonu. Czy mogę przeprowadzić krótki test?”
Gdy dotarłem do siłowni, natrafiłem na niewiele osób. Spróbowałem więc swoich sił i udało się zebrać kilku chętnych do testu. Udokumentowałem to lekko rozmazanym zdjęciem na ręczniku na siłowni.
W trakcie zabawy z Flipperem pomiędzy seriami, nim zdążyłem podejść do ostatniej osoby na bieżni, można było usłyszeć siarczystą inwektywę pomiędzy kolejnymi krokami. Najprawdopodobniej Flipper miał ciut większy zasięg, niż przewidywałem i irytujące okienko połączenia urządzenia zaczęło zbyt mocno dawać się we znaki. Miałem okazję wytłumaczyć, że na urządzeniach z Androidem wystarczy wyłączyć funkcję „Znajduj urządzenia w pobliżu”, w przypadku iPhone’a pomaga wyłączenie łączności Bluetooth.
Na tym zakończyłem swoją przygodę z gymscammingiem, jak widać bez uzyskiwania korzyści materialnych.
Testy w terenie
Po siłowni pora na coś do jedzenia, prawda? Przekopując kolejne pozycje do testów w Flipperze Zero, natrafiłem na „Restaurant Trigger”. Doczytałem, zebrałem trochę wiedzy, jak to miało działać i wyruszyłem do pobliskiej, jedynej mi znanej restauracji, która po złożeniu zamówienia wydaje pager (w polskiej nomenklaturze znane jako „brzęczyk” bądź „przywoływacz”). Była to restauracja Pasibus.
Wybrałem się tam w kilkuosobowej grupie i już na starcie zapytałem, czy wciąż wydają do zamówienia „te takie plastikowe dzwonki”, co obsługa potwierdziła. Zapytałem więc, czy przed złożeniem zamówienia mógłbym otrzymać taki jeden „do zabawy”. Kasjer z dziwnym uśmiechem bez wahania wydał mi brzęczyk – jakby wiedział, co miało się wydarzyć. Nawet idealnie się złożyło, bo otrzymałem ten z wierszykiem o hakerze.
Podczas gdy reszta ekipy studiowała menu, ja potwierdziłem na telefonie, że model pagera to TD157, który działa na paśmie 433 MHz. Uruchomiłem „Hopper scan” przechwytujący wszystko w okolicy na danej częstotliwości i pozostało tylko czekać… O dziwo, pagery znajomych zaczęły dzwonić, ponieważ ich zamówienia były już gotowe, a skaner nic nie łapał. Dopiero po chwili udało się złapać dosłownie jeden sygnał wywoławczy skorelowany z dzwonieniem czyjegoś zamówienia. Na podstawie przechwyconego klucza w sygnale można było wyliczyć, który to dokładnie brzęczyk, z którego numeru stacji. Zakładając, że przywoływacze są numerowane mniej więcej po kolei, wprowadziłem ustawienia z lekkim marginesem i rozpocząłem nadawanie. Aplikacja najpierw wygenerowała konkretne sekwencje, a następnie kolejno je nadała. Ku zdziwieniu towarzyszy, mój pager zadzwonił, pomimo że nie złożyłem jeszcze swojego zamówienia.
Również niemałe zamieszanie wprowadziło to po drugiej stronie lady, gdzie obsługa szukała zamówienia przypisanego do dzwoniącego brzęczyka. Wyjaśniłem, że to ten egzemplarz „do zabawy” oraz na prośbę obsługi ponownie wzbudziłem pager. Gdyby ktoś był bardziej upierdliwy, przy ladzie mogłaby się zacząć prawdziwa parada nieporozumień.
Nie mogło być jednak zbyt idealnie. Wracając do domu, odwiedziłem również kilka domofonów, aby spróbować sił wbudowanych słowników w aplikacjach takich jak „iButton Fuzzer” oraz „RFID Fuzzer”. Od wszystkich domofonów odbiłem się z komunikatem „KOD NIEOBSŁUGIWANY” bądź sygnałem o identycznym znaczeniu.
Zabawa z hardware’em
Przeglądając kolejne pozycje w nieoficjalnych systemach, w katalogu „GPIO” natknąłem się na szereg opcji, które zawierały w nazwie model konkretnego czujnika.
Pierwszą pozycją, która rzuciła mi się w oczy, był „Distance sensor” z oznaczeniem HC-SR04. Po chwili szukania części oraz znalezieniu noty katalogowej w celu sprawdzenia napięcia mogłem wykonać pomiar. Dziwne, bo okazało się, że w moim pokoju od stołu do sufitu mam jedyne 30 centymetrów! Po szybkim sprawdzeniu, znalazłem jednak informację, że dla modułów używających zasilania 5 V trzeba włączyć odpowiedni pin w ustawieniach Flippera. W ten sposób zamieniłem urządzenie w ultradźwiękową miarkę, która odległość do sufitu określiła na 1,4 metra.
Wśród innych aplikacji obsługujących dodatki po GPIO można wymienić „Air Mouse” zamieniający moduł żyroskopu na coś w rodzaju wskaźnika do komputera, programator AVR, interfejs do czujnika Geigera (wraz z osobną aplikacją do generowania liczb losowych), prosty oscyloskop, interfejs do wyświetlacza siedmiosegmentowego czy tester serwomechanizmów oraz diod WS2812B. Znalazła się również apka zamieniająca Flippera w latarkę! Wystarczyło zaaplikować diodę w odpowiednie piny, nacisnąć przycisk i stawała się jasność.
Umyślnie pominąłem całą sekcję aplikacji wymagających ESP32/ESP8266 bądź oficjalnego rozszerzenia WiFi Devboard z tym samym modułem. To samo tyczy się kilku pozycji wymagających modułu radiowego NRF24. Może kiedyś, może kiedyś…
Podsumowanie
Oryginalne oprogramowanie nie jest zbyt bogate w hakerskie funkcje. Trzeba się sporo nadłubać, żeby uzyskać jakiś ciekawszy efekt niż skrócenie drogi ochroniarzowi. Z kolei wgranie nieoficjalnego, pozbawionego blokad oprogramowania nie zmienia nagle Flippera Zero w wielofunkcyjne urządzenie hakerskie jak np. Profiler z gry Watch Dogs. Ani razu nie użyłem którejkolwiek z dodatkowych częstotliwości.
Muszę jednak przyznać, że aplikacje dostarczone wraz z takim systemem poszerzają funkcjonalność urządzenia i dają dużo więcej frajdy z Flippera Zero, mimo że wciąż nie pozwalają się włamywać do wszystkich biurowców na klik, a jedynie na wykonywanie mniej lub bardziej irytujących psikusów. W każdym razie, jak wskazuje tekst ukryty pod pozycją „Help” jednej z aplikacji, czasem (nawet fizycznie) trzeba się mocno napocić.
PS. Wszystkie testy zostały przeprowadzone za zgodą osób odpowiedzialnych za urządzenia, których dotyczyły.
Komentarze
Nie „Rouge” tylko RogueMaster.
(uznałbym to za literówkę, ale nie jeśli zostało powtórzone 3 razy) :-)
Poprawione, Kucharskov jaki jest – każdy widzi.
Sie ku*wa literówek czepiasz. Pewnie napisał raz a potem przeklejał ;)
Swoją drogą super artykuł! Nie mialbym tyle odwagi latać z nawet taką zabawką po mieście.
z calym szacunkiem, ale lanie wody ten artykul. nic nie ma o podstawowym zadaniu flippeta czyli radzenia sobie z bramami i szlabanami na radio. w tym tymi z rolling codem
No tak, bo do cholery jasnej każdy ma bramę i szlaban dostępny w okolicy. Chłopak sie narobił, nabiegał i nawet sensownie mu to wyszło ;)
Racja. Dopiero po publikacji tego artykułu ktoś był na tyle odważny, żeby podsunąć mi pod nos pilot do bramy i tak, złapało od strzału razem z ilością wciśnięć guzika.
Racje ma też Paweł – mam inne ciekawsze zajęcia niż warowanie pod losową bramą aż uda się złapać sygnał
Ja warowałem. Na jednej większej dzielnicy. 50% bram złapanych. Otwieranie zamykanie. Zabawa przednia i pokazuje jak niezabezpieczone są niektóre osiedla. Otwarcie szlabanu i otwarcie śluzy/bramy do garażu podziemnego.
Super artykuł! Musze jednak przyznać że fanem flippera to ja nie jestem i ciągle uważam że wszystko co można zrobić flipperem można zrobić tańszym kosztem (chociaż wiadomo że w tak małym urządzeniu to chyba tego nie zamknę). Może to wszystko przez bzika na punkcie własnych red teamowych implantów i zabawek :D
tldw; to zawsze było i będzie zabaweczka nakierowana na script kiddie.
Słabo jeśli chodzi o auta, testowałem na swoim passacie b7 i bez problemu go otwierałem choć tylko 1 raz. Wystarczy nagrać kluczyk daleko od auta, lub zakłócając przy okazji przy samym aucie (potrzebne 2 flippery np lub jakiś sdr). Podobno hondy da się normalne po nagraniu 1 otwarcia. Brak opisu klonowania pastylek/kart, brak opisu prince/keyloq i podobnych rollingkodow. Klonowałem bez problemu kartę otwierającą mój pokój w hotelu (skasowany zapis po wymeldowaniu) mifare.
Ta już widze jak każdy tobie dawał zgodę i podsuwał pomysł na otwieranie aut czy z tym ochroniarzem 😂😆.Nikt normalny by na coś takiego sie nie zgodził
Przykro czytać, że nie masz kolegów. Najwidoczniej Kucharskov miał do kogo zagadać. Fajnie sie czytało ;)
Widzę, że autor jednak nie posiadł umiejętności czytania dokumentacji… „Pierwszą opcją, którą całkowicie pominąłem w poprzednim artykule, była możliwość użycia Flippera jako klucza U2F. Ta funkcja działa perfekcyjnie. Klucz U2F to sprzętowe rozwiązanie do uwierzytelniania dwuskładnikowego. Konfiguracja (np. dla konta Google) jest banalnie prosta. Po podpięciu Flippera do komputera i kilku kliknięciach mogłem już z tej funkcji korzystać. Aby potwierdzić logowanie przy użyciu klucza, wystarczyło jedynie wcisnąć środkowy przycisk na urządzeniu. Cudownie!”
Ten akapit jest zwyczajnie szkodliwy(SIC!). F0 to nie klucz U2F a jedynie symulator. W dokumentacji znalazło się stosowne ostrzeżenie „For security-sensitive websites, use certified U2F security keys
Flipper Zero U2F function is only implemented in software. For financial services and other security-sensitive websites, we recommend using hardware-backed certified U2F devices.”, które autor zdecydował się pominąć (albo nie był w ogóle go świadomy).
Na miejscu Redakcji zaczął bym weryfikować wpisy przed publikacjami…
Kolejny elektrodowy pajac, który odnosi się tylko do dokumentacji? Jako że to jest „zabawka do hakowania” to prędzej się garną do tego dzieciaki, które również nie przeczytają dokumentacji. Autor wziął, pokazał, że działa – nie namawia do używania. Jak sie tak wielce technicznemu nie podoba to proszę napisać kontr-recenzję, bo redakcja jak widać jest chętna do publikowania wpisów gościnnych :)
Można używać epitetów a można mózgu. Szkoda że Pawle S wybrałeś to pierwsze. To wpis edukacyjny czy kolejny clickbaitowy filmik na tiktoka? W mojej ocenie przepisywanie dokumentacji do artykułów to strata czasu, ale jeśli już chcesz sobie „porecenzować” to rób to rzetelnie. Co do U2F to nie, nie działa tylko symuluje działanie. Dobrze to rozróżniać.