Jeśli atakujący jest w stanie wykonywać polecenia bezpośrednio na routerze, może:

  • Atakować sieć wewnętrzną i inne urządzenia do niej podłączone.
  • Backdoorować router, instalując złośliwe oprogramowanie lub podłączając go do botnetu Mirai.
  • Podsłuchiwać ruch HTTP użytkownika.
  • Wykonywanie poleceń zdalnie na routerze jako użytkownik root.
  • Wyłączanie lub restartowanie urządzenia.
  • Wykradanie danych uwierzytelniających do sieci Wi-Fi wraz z SSID (nazwą) sieci.

Powierzchnia ataku jest wystarczająco duża, aby wyrządzić krzywdę wielu użytkownikom domowym i firmom. Opiszę kilka z tych scenariuszy w szczegółach, aby pokazać jak niebezpieczna jest ta luka.

Każdy atakujący jest w stanie wydać polecenie na routerze jako użytkownik root bez twojej wiedzy. Dzieje się to w sposób transparentny, wystarczy, że odwiedzisz złośliwą stronę internetową. Jeśli nie monitorujesz swoich połączeń wychodzących, nie jest możliwe wykrycie tego typu działań bez dodatkowych narzędzi.

Najprostszy payload do zrestartowania routera osoby, która odwiedza Twoją stronę:

Kod jest wykonywany podczas ładowania obrazu z zewnętrznego serwera (Twojego routera). Nie pozwala on na uzyskanie treści odpowiedzi, a jedynie na zdalne wywołanie komendy.

Odczyt danych zdalnie z Twojego routera

Wywołanie zdalnej komendy nie jest skomplikowane, ponieważ nie wymaga uzyskania treści odpowiedzi z powrotem do atakującego. Otrzymanie odpowiedzi zwrotnej nie jest możliwe ze względu na ograniczenia Same-Origin Policy (SOP).

Same-Origin Policy to model bezpieczeństwa zarówno dla przeglądarek jak i wtyczek działających w przeglądarce (tj. Java, Flash czy Silverlight). Głównym celem tej funkcjonalności jest zablokowanie dostępu do zawartości jednej witryny z drugiej witryny.

Dostęp do zawartości witryny jest przyznawany w zależności od pochodzenia, które jest określone dla obu witryn. Tabela prawdy dla pochodzenia wygląda następująco:

The Same-Origin Policy (SOP) – porównanie różnych scenariuszy

* – Numer portu nie jest uwzględniany w składniku „origin” przez przeglądarki IE/Edge (więcej).

Jeżeli strona „A” nie ma tego samego pochodzenia co strona „B” to znaczy, że nie możemy odczytać zawartości strony „B” z „A” i z powrotem. Zakładamy, że Cross-Origin Resource Sharing (CORS) nie jest włączony dla żadnego serwera, co jest prawdą dla domyślnej konfiguracji.

Router nie ma tego samego pochodzenia co strona atakującego. Mimo to atakujący może uzyskać taką komunikację za pomocą technik pozwalających ominąć politykę Same-Origin. Pojawiły się nawet luki w samym mechanizmie SOP:

  • CVE-2015-7188 – Trailing whitespace in IP address hostnames can bypass same-origin policy.
  • CVE-2016-1967 – Naruszenie polityki Same-origin przy użyciu performance.getEntries i nawigacji po historii z przywracaniem sesji.
  • CVE-2016-1949 – Naruszenie polityki Same-origin przy użyciu Service Workers z wtyczkami.

Ominięcie polityki Same-Origin Policy jest możliwe poprzez wykorzystanie podatnej przeglądarki/pluginu lub przy użyciu techniki zwanej DNS Rebinding.

Atak DNS Rebinding

Atak DNS Rebinding pozwala na odczytanie danych z innego pochodzenia omijając mechanizm Same-Origin Policy. W najbardziej podstawowym scenariuszu możliwe jest podmienienie rekordu DNS („A”) domeny w czasie, gdy użytkownik odwiedza złośliwą stronę.

DNS Rebinding – diagram

Jeśli ten atak się powiódł to atakujący jest w stanie odczytać dowolną odpowiedź z polecenia wykonanego na zdalnym routerze ( 192.168.1.1).

Wrażliwe dane po stronie routera

Atakujący jest teraz w stanie odczytać zdalną zawartość z twojego routera. Może wydać polecenie nvram show, które przechowuje wszystkie ustawienia konfiguracyjne routera, takie jak:

Wymienione polecenie zwraca wiele wrażliwych danych. Atakujący jest w stanie nie tylko odczytać dane z routera, ale również ustawić nowe wartości dla tych ustawień. Oznacza to, że jest w stanie:

  • Zmienić hasło do sieci Wi-Fi.
  • Włączyć zdalne zarządzanie (netgear.com – dokumentacja).
  • Wyłączyć firewall.
  • Ustawić VPN do wybranej lokalizacji.
  • Update nvram settings, it will load saved settings after device restart (nvram set http_passwd=test; nvram commit).
  • …and much more.

How to protect against these kind of attacks?

There is no single easy method to protect against all variants of this attack. Zalecałbym wyłączenie demona httpd na routerze i zablokowanie wszystkich połączeń przychodzących do sieci LAN z Internetu.

Ochrona przed atakiem DNS Rebinding.

Standardowym mechanizmem ochrony po stronie serwera jest sprawdzanie nagłówka Host. W standardowym scenariuszu, gdy przeglądarka łączy się z facebook.com to wysyła nagłówek Host: facebook.com.

Jeśli istnieje atak DNS Rebinding i użytkownik odwiedza attacker.com, który próbuje wykorzystać mechanizm SOP to przeglądarka łączy się z facebook.com i wysyła nagłówek Host: attacker.com. Jeśli serwer jest skonfigurowany poprawnie to powinien zablokować to żądanie ponieważ nagłówek Host nie pasuje do oryginalnego żądania.

RouterNetgear nie blokuje połączenia nawet jeśli nagłówek Host jest nieprawidłowy i dlatego ten atak się udaje, co jest prawdą dla większości routerów.

Zablokuj połączenie do twojej sieci LAN z Internetu.

Najprostszą metodą jest zablokowanie WSZYSTKICH połączeń z Internetu do twojej sieci lokalnej. Zablokuje to każdy rodzaj komunikacji z przeglądarki do twoich lokalnych urządzeń, takich jak router i inne komputery.

Dla wszystkich pracujących na Mac OS X możliwe jest zainstalowanie aplikacji Little Snitch, która jest w stanie ograniczyć dostęp do zdefiniowanych podsieci lub konkretnych adresów IP dla każdej aplikacji lub procesu systemowego.

Poprawienie tego błędu nie tylko zabezpieczy użytkownika przed tą techniką exploita, ale także przed przyszłymi zagrożeniami bazującymi na ataku DNS Rebinding.

.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.