Klient Cox Communications, trzeciego co do wielkości dostawcy telewizji kablowej w USA i jednego z największych operatorów szerokopasmowego Internetu z 6.5 mln abonentów, opublikował wyniki eksperymentów z wewnętrznym Web API dostawcy, dostępnym dla żądań zewnętrznych i wykorzystywanym m.in. , aby uzyskać dostęp pomocy technicznej do modemów abonenckich i bazy użytkowników. Okazało się, że znając jedynie adres MAC urządzenia abonenckiego, można uzyskać pełną kontrolę nad modemem, pozwalając na zmianę ustawień i wykonywanie dowolnych poleceń na modemie. Zasadniczo każdy atakujący może uzyskać dostęp do modemu, podobnie jak dostęp inżynieryjny, jaki uzyskuje pomoc techniczna operatora.
Warto zauważyć, że adres MAC urządzenia abonenta można znaleźć wchodząc do publicznego Web API bez uwierzytelnienia, korzystając z funkcji wyszukiwania abonenta, na przykład wybierając adres e-mail lub numer konta (przeszukując numery, można sekwencyjnie pobrać dane klienta). Oprócz adresu MAC wyświetlane są inne informacje o abonencie, w tym adres, numer telefonu, imię i nazwisko oraz adres e-mail. Wszystkie informacje są dostępne dla żądań z sieci zewnętrznej bez uwierzytelnienia. W takim przypadku informacje można nie tylko uzyskać, ale także zmienić. W sumie publicznie dostępny interfejs API ma ponad 700 procedur obsługi, z których wiele realizuje operacje administracyjne.
Do weryfikacji transmisji poleceń i ustawień do modemów użytkowników wykorzystano zaszyfrowany parametr, jednak funkcje szyfrujące odnaleziono w jednym ze skryptów JavaScript udostępnionych przez webcdn-business.cox.com. Klucz szyfrowania został określony poprzez ustawienie punktu przerwania dla tych funkcji w debugerze JavaScript przeglądarki podczas rejestracji na stronie myaccount-business.cox.com. Klucz szyfrujący został wygenerowany na podstawie adresu MAC, identyfikatora urządzenia i numeru konta użytkownika, a także kilku parametrów pomocniczych, takich jak model urządzenia i rodzaj dostępu.
Scenariusz ataku sprowadza się do wyszukiwania ofiary poprzez publiczny Web API, wykorzystując żądanie według imienia i nazwiska, numeru telefonu, adresu e-mail lub numeru konta. Następnie atakujący uzyskuje dostęp do Web API w celu pobrania pełnego zestawu danych osobowych abonenta, korzystając z identyfikatora UUID uzyskanego podczas wyszukiwania w pierwszym etapie. Wykorzystując adres MAC modemu, podany w danych abonenta, atakujący może przeglądać listę urządzeń podłączonych do modemu, zmieniać dowolne parametry modemu, żądać hasła używanego do łączenia się z Wi-Fi oraz wykonywać dowolne polecenia na urządzeniu które można zastosować np. do zorganizowania analizy lub przekierowania ruchu użytkowników.
Źródło: opennet.ru
