Ha egy támadó képes parancsokat végrehajtani közvetlenül az Ön routerén, akkor:

  • Támadhatja a belső hálózatot és a hozzá csatlakoztatott egyéb eszközöket.
  • Backdoor a routerre, rosszindulatú programokat telepítve vagy a Mirai Botnethez csatlakoztatva.
  • Hallgathatja a felhasználó HTTP forgalmát.
  • Távoli parancsok végrehajtása a routeren root felhasználóként.
  • A készülék leállítása vagy újraindítása.
  • A Wi-Fi hálózat hitelesítő adatainak ellopása a hálózat SSID-jével (nevével) együtt.

A támadási felület elég nagy ahhoz, hogy sok otthoni felhasználónak és vállalatnak kárt okozzon. Leírok néhány ilyen forgatókönyvet részletesen, hogy megmutassam, mennyire veszélyes ez a sebezhetőség.

Minden támadó képes az Ön tudta nélkül root felhasználóként parancsot kiadni a routerén. Ez átlátható módon történik, csak egy rosszindulatú webhelyet kell meglátogatnia. Ha nem figyeli a kimenő kapcsolatokat, akkor kiegészítő eszközök nélkül nem lehet észlelni ezt a fajta tevékenységet.

A legegyszerűbb payload, amellyel újraindíthatja a routerét az Ön weboldalát meglátogató személy:

A kód akkor hajtódik végre, amikor a kép betöltődik a külső szerverről (az Ön routeréről). Nem teszi lehetővé a válasz tartalmának megszerzését, hanem csak a parancs távoli kiváltását.

Adatok távoli olvasása a routeréről

A távoli parancs kiadása nem bonyolult, mivel nem kell a válasz tartalmát visszakapnia a támadónak. A válasz visszakapása a Same-Origin Policy (SOP) korlátozása miatt nem lehetséges.

A Same-Origin Policy a böngészők és a böngészőben működő pluginok (pl. Java, Flash vagy Silverlight) biztonsági modellje. Ennek a funkciónak a fő célja, hogy megakadályozza az egyik weboldal tartalmához való hozzáférést egy másik weboldalról.

A weboldal tartalmához való hozzáférés a mindkét weboldal számára megadott eredet függvényében biztosított. Az eredetre vonatkozó igazságtábla a következőképpen néz ki:

A Same-Origin Policy (SOP) – különböző forgatókönyvek összehasonlítása

* – Az IE/Edge böngészőknél a portszám nem szerepel az “eredet” komponensben (több).

Ha az “A” weboldalnak nem ugyanaz az eredete, mint a “B” weboldalnak, akkor ez azt jelenti, hogy nem tudjuk a “B” weboldal tartalmát “A”-ból és visszaolvasni. Feltételezzük, hogy a CORS (Cross-Origin Resource Sharing) nincs engedélyezve egyik kiszolgáló esetében sem, ami az alapértelmezett konfigurációra igaz.

A router eszköznek nincs ugyanaz az eredete, mint a támadó weboldalának. Ennek ellenére a támadó a Same-Origin házirend megkerülésére szolgáló technikákkal elérheti ezt a kommunikációt. Még magában a SOP-mechanizmusban is voltak sebezhetőségek:

  • CVE-2015-7188 – Az IP-címek hosztneveiben található, hátramaradó szóközökkel megkerülhető az azonos eredetű házirend.
  • CVE-2016-1967 – Az azonos eredetű házirend megsértése a performance.getEntries és a munkamenet-visszaállítással történő előzménynavigáció használatával.
  • CVE-2016-1949 – Ugyanazon eredetű házirend megsértése a Service Workers használata bővítményekkel.

A Same-Origin Policy megkerülése sebezhető böngésző/plugin kihasználásával vagy a DNS Rebinding nevű technika alkalmazásával lehetséges.

DNS Rebinding attack

A DNS Rebinding támadás lehetővé teszi, hogy a Same-Origin Policy mechanizmus megkerülésével adatokat olvassunk egy másik eredetről. A legalapvetőbb forgatókönyv szerint lehetséges egy domain DNS-rekord (“A”) cseréje, miközben a felhasználó meglátogatja a rosszindulatú webhelyet.

DNS Rebinding – diagram

Ha ez a támadás sikeres volt, akkor a támadó képes a távoli routeren végrehajtott parancs ( 192.168.1.1) bármely válaszát kiolvasni.

Érzékeny adatok a router oldalán

A támadó most már képes a távoli tartalmak olvasására a routerről. Kiadhat egy nvram show parancsot, amely a routered összes konfigurációs beállítását tartalmazza, például:

Az említett parancs rengeteg érzékeny adatot ad vissza. A támadó nemcsak adatokat tud olvasni a routerről, hanem új értékeket is beállíthat ezekhez a beállításokhoz. Ez azt jelenti, hogy képes:

  • megváltoztatni a Wi-Fi jelszavát.
  • Távoli irányítás bekapcsolása (netgear.com – dokumentáció).
  • Tűzfal kikapcsolása.
  • VPN beállítása a kívánt helyre.
  • Nvram beállítások frissítése, a készülék újraindítása után betölti a mentett beállításokat (nvram set http_passwd=test; nvram commit).
  • …és még sok más.

Hogyan lehet védekezni az ilyen jellegű támadások ellen?

Nincs egyetlen egyszerű módszer a támadás minden változata ellen. Azt javasolnám, hogy tiltsuk le a httpd démont az útválasztón, és blokkoljuk az internetről a LAN-unkba érkező összes bejövő kapcsolatot.

Védekezés a DNS Rebinding támadás ellen.

A szerveroldalon a szokásos védelmi mechanizmus a Host fejléc ellenőrzése. Egy standard forgatókönyvben, amikor a böngésző csatlakozik a facebook.com-hoz, akkor Host: facebook.com fejlécet küld.

Ha a DNS Rebinding támadás van érvényben és a felhasználó meglátogatja a attacker.com-t, amely megpróbálja kihasználni a SOP mechanizmust, akkor a böngésző csatlakozik a facebook.com-hoz és Host: attacker.com fejlécet küld. Ha a szerver megfelelően van konfigurálva, akkor blokkolnia kell ezt a kérést, mivel a Host fejléc nem egyezik az eredeti kéréssel.

ANetgear router nem blokkolja a kapcsolatot még akkor sem, ha a Host fejléc érvénytelen, és ezért ez a támadás sikeres, ami a legtöbb routerre igaz.

Blokkolja a LAN-hoz való kapcsolódást az internetről.

A legegyszerűbb módszer az internetről a helyi hálózatra irányuló MINDEN kapcsolat blokkolása. Ez blokkolni fog mindenfajta kommunikációt a böngészőből a helyi eszközei, például a router és más számítógépek felé.

Minden Mac OS X rendszerrel dolgozó számára lehetőség van a Little Snitch alkalmazás telepítésére, amely képes korlátozni a hozzáférést meghatározott alhálózatokhoz vagy meghatározott IP-címekhez minden alkalmazás vagy rendszerfolyamat számára.

A probléma kijavítása nem csak ezzel a kihasználási technikával szemben nyújt védelmet, hanem a DNS Rebinding támadáson alapuló jövőbeli fenyegetésekkel szemben is.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.