Preorder drugiego tomu książki sekuraka: Wprowadzenie do bezpieczeństwa IT. -15% z kodem: sekurak-book
Zhackował hulajnogę Birda – tryb z darmowymi przejazdami i możliwość modowania firmware
Opis tutaj – a całość to hacking w czystej postaci :) Najpierw fizyczne podpięcie się do odpowiedniego portu hulajnogi i zdumpowanie firmware. W firmware można było znaleźć taki ciekawy ciąg znaków „Set mode to Free Drive Mode”. Hmmm wystarczy włączyć ten tryb i po zabawie? Niekoniecznie. Nikt przecież nie będzie dłubał przy hulajnodze 2 dni żeby później mieć darmowy przejazd. Ale odpowiedni komunikat można przesłać Bluetoothem… no też nie do końca, bo komunikat musi być zaszyfrowany (AES-em). Skąd wziąć klucz? Z samej hulajnogi (a dokładniej – z jej firmware).
Zatem ognia, hulajnoga odblokowana. Ale jest kolejna przeszkoda:
At that point I had everything I need to write a simple app to unlock the scooters, and it worked! For about 2 minutes, at which point the network would notice that the scooter was unlocked when it should be locked and sent a lock command to force disable the scooter again. Ah well.
Dalej badacz zajął się więc backendem (wgrywając w tym celu na hulajnogę lekko zmodyfikowany firmware). Hulajnoga uwierzytelnia się tam swoim numerem seryjnym i numerem IMEI (!)
The scooter authenticates against the remote endpoint by sending its serial number and IMEI. You need to send both, but the IMEI didn’t seem to need to be associated with the serial number at all.
I teraz najlepsze:
New connections seemed to take precedence over existing connections, so it would be simple to just pretend to be every scooter and hijack all the connections, resulting in scooter unlock commands being sent to you rather than to the scooter or allowing someone to send fake GPS data and make it impossible for users to find scooters.
Czyli odpowiednio fałszując komunikaty do backendu można przechwytywać komunikaty unlock. Powinno działać to mniej więcej w taki sposób – nagle przedstawiam się (loguję się) jako inna hulajnoga. Teraz ktoś wysyła sygnał odblokuj i to moja hulajnoga się odblokowuje.
Bird został powiadomiony – zgodnie z zasadą responsible disclosure i zgodził się na deadline 90 dni jeśli chodzi o opublikowanie garści szczegółów:
Bird responded quickly to my reports, accepted my 90 day disclosure period and didn’t threaten to sue me at any point in the process, so good work Bird.
–ms