Preorder drugiego tomu książki sekuraka: Wprowadzenie do bezpieczeństwa IT. -15% z kodem: sekurak-book
Hacker pokazał jak w prosty sposób mógł zhackować dużego dostawcę internetu, a dokładniej – zhackować miliony routerów domowych należących do klientów tego dostawcy. USA.
Sam Curry w ramach swoich rutynowych działań wysłał na początek żądanie diagnostyczne HTTP do swojego web serwera (postawionego w AWS). W logach zobaczył swój adres IP, czyli wszystko OK. Ale po chwili… zobaczył również żądanie do tego samego serwera… ale z obcego adresu IP (!)
Ktoś więc najpewniej widział jego ruch. Zainfekowany komputer? Zainfekowany obraz na AWS? Zainfekowany (albo podsłuchujący ruch) sam AWS? Metodą eliminacji okazało się, że zainfekowany jest domowy router WiFi hackera, poszedł więc do swojego dostawcy internetu (Cox Communications) z prośbą o wymianę urządzenia. Ale poprosił o to, żeby mógł zostawić stare urządzenie, bo ma podejrzenie infekcji i chce to dokładniej zbadać. Pracownik powiedział (już się domyślasz co powiedział) – że… no nie, nie ma szans, musimy to urządzenie zostawić u siebie 😮
Nowe urządzenie było już całkiem sprawne (czytaj: niezhackowane). Buu…
Minęło trochę czasu i po paru latach badacz pomagał w przeprowadzce znajomemu, który posiadał urządzenie od tej samej firmy. Potrzebował aktywacji urządzenia w nowej lokalizacji i okazało się, że w tym celu operator używa protokołu TR-069. Dostawca internetu zrobił to zdalnie, więc pewnie jest jakaś appka, która tym wszystkim centralnie zarządza… rzeczywiście taka appka była i trafiła na warsztat naszego ~hackera.
Z aplikacji webowej (normalnie dostępnej też dla klientów) badacz pobrał z pliku .js wybrane adresy, do których appka się odwołuje. W szczególności było tam sporo zasobów typu: /api/cbmc/cośtam
Mały bruteforce i udało się namierzyć: /api/cbma/userauthorization/swagger-ui/index.html (dokumentacja API, ~700 endpointów, z czego mniej więcej połowa była dostępna bez uwierzytelnienia! Bez uwierzytelnienia dostępna była też funkcja wyszukiwania profili użytkowników)
Hacker użył ręcznie funkcji wyszukiwania, ale tym razem otrzymał wymaganie uwierzytelnienia. Jeszcze raz, to samo. Co tu się dzieje? Ciężko powiedzieć, bo za kolejnym razem (dokładnie to samo żądanie) uwierzytelnianie już nie było potrzebne :-) W szczególności udało się wyciągnąć parę rekordów należących do lokalnych biur FBI (mieli urządzenia od tego samego ISP).
Finalnie badacz znalazł funkcję, która umożliwiała zdalnie na aktualizację parametrów dowolnego routera klienta (dla testów zmienił sobie odpowiednim wywołaniem API w centralnej appce nazwę swojego WiFi; zadziałało :) Ale można też było wykonywać również dowolne polecenia na urządzeniu – czyli w skrócie – w pełni je zhackować). Po zgłoszeniu do ISP, problemy zostały załatane; a COX Communications potwierdził, że najpewniej te podatności nie były wykorzystane przez ~innych hackerów.
~Michał Sajdak
już widzę orange funbox który można konfigurować na stronie Orange…
Amerykański sen, czyli po polsku koszmar
Skoro podatność nie była wykorzystywana przez innych hackerów, to skąd się wzięły te podwójne wywołania serwisu, które zauważył i które były przyczyną całego śledztwa? Kto zainfekował ten pierwszy router, a jeśli nie zainfekował, to dlaczego router dublował zapytania?
Jeżeli to router dublował zapytania, to IP chyba byłby taki sam?
Jakiś czas temu pisaliście o tym, że prawie wszystkie routery tej jednej sieci były zainfekowane i dostawca w USA musiał wymienić je na nowe. Sprzeczne informacje w dwóch różnych artykułach ale od razu widać, że o tą samą sprawę chodzi.
Zmieniając delikatnie temat, kupowanie routera na jakiejś chinskiej platformie jest pewnie ryzykowne ;-)))