Turris: Jak jsme si nechali nabořit router a jak to dopadlo

Tým stojící za projektem zabezpečeného routeru Turris se pustil do souboje s botnety. Jedna z velkých sítí byla složena převážně z routerů Asus. Kde se stala chyba?

Ve dvou posledních příspěvcích o projektu Turris jsme si popsali, jak nám „minipot“ pro Telnet na routerech pomohl odhalit botnet složený z velké části z domácích routerů od firmy ASUS (1, 2). V tomto článku se podíváme na to, jak mohly být tyto routery napadeny útočníkem.

Když jsme zjistili, že stovka zařízení zkouší Telnet na našich vývojových routerech se stejnou kombinací jmen a hesel, rozhodli jsme se, že se musíme na tuto věc podívat více z blízka. 

Kromě toho, že jsme mezitím nasadili minipot pro Telnet na všechny routery Turris a v této chvíli již evidujeme přes 13 000 unikátních IP adres (70 % z toho routery ASUS), které všechny zkouší stejná hesla, udělali jsme i několik dalších opatření. S pomocí CSIRT.CZ oslovujeme domácí i zahraniční ISP, u kterých byla tato činnost pozorována, a snažíme se získat více informací. Nainstalovali jsme také plnohodnotný honeypot pro Telnet, kde jsme již chování několika útočníků zachytili. V neposlední řadě jsme si také zakoupili jeden z modelů routeru, který se na seznamu útočníků často vyskytoval, a vystavili jsme ho na Internet, abychom zjistili, zda a jak bude případně napaden.

Jednalo se o router RT-N10U hw revize B1. Na zakoupeném routeru byla verze firmware 3.0.0.4.374_168. S pomocí nástroje přímo na routeru jsme ověřili, že novější verze firmware není k dispozici. Nastavili jsme také nové netriviální heslo pro webové administrační rozhraní.

Abychom o možných útocích zjistili co nejvíce, vypnuli jsme v jeho nastavení firewall. To je situace, která pravděpodobně odpovídá mnoha napadeným routerům, jak je zřejmé z analýzy služeb, které jsou na nich dostupné. Na tomto místě je vhodné poznamenat, že router obsahuje volbu, zda má být jeho webové administrační rozhraní dostupné i na WAN rozhraní nebo pouze z LAN. Tato ochrana je však implementována pouze ve firewallu, což znamená, že při vypnutém firewallu nemá toto nastavení žádnou funkci a administrativní rozhraní je dostupné vždy.

Takto připravený router jsme nechali bez připojení dalších zařízení v samostatné části sítě dostupné z Internetu a sledovali, co se bude dít. Kromě obvyklých pokusů o přístup na admin rozhraní WordPressu či mysqladmina jsme v prvních dvou týdnech zaznamenali jen větší množství přístupů na uPnP službu na portu 1900. Situace se ale změnila o tomto víkendu. V záznamech komunikace s routerem se objevil přístup z adresy z Bulharska na webové rozhraní routeru se správným heslem. Žádný pokus o postupné testování hesel jsme nezaznamenali. 

Po bližším zkoumání záznamů jsme zjistili, že nastavené heslo se objevilo v čitelné podobě v jedné z předchozích odpovědí routeru, a to konkrétně na URL /error_page.htm, kde je v javascriptu část:

if(‚1‘ == ‚0‘ || ‚XXXXXXXXX‘ == ‚admin‘)
setTimeout(„parent.location = \"http://“+new_lan_ip+„/Q­IS_wizard.htm?flag=welcome\"", 2*1000);elsesetTimeout("parent.location = \"http://“+new_lan_ip+"/Q­IS_wizard.htm?flag=detect\"", 2*1000);}

Heslo jsme nahradili za XXXXXXXXX. Stejné chování se navíc projeví i ve chvíli, kdy ponecháme firewall zapnutý a pouze povolíme administraci z WAN rozhraní a spolehneme se na vestavěný mechanismus autentizace, protože problém je v samotném webovém rozhraní routeru.

Tato skutečnost nás samozřejmě vyděsila a pátrali jsme dál po této neuvěřitelné bezpečnostní díře. Ukázalo se, že tato chyba byla již objevena a nahlášena ASUSu nejpozději v únoru 2014. Byla, zdá se, opravena v novějším firmware, ale pouze pro některé modely.

Jak jsem již zmínil výše, náš router sám tvrdí, že novější verze firmware neexistuje. Pokud však člověk použije Google, novější verzi firmware najde (3.0.0.4.376.3754) a z jejího chování i zdrojových kódů je zřejmé, že zde je problém již opraven. Dovolil bych si zde autorům webového rozhraní routeru doporučit, aby funkci automatického vyhledání aktualizace raději úplně odstranili, když už nefunguje. V této podobě totiž zbytečně mate a i uživatel, který o problémech s aktuálností firmware ví a snaží se svůj router udržet aktuální a bezpečný, má smůlu.

Je to všude

Pokud bych to shrnul: koupili jsme nový router, ověřili aktuálnost firmware, nastavili bezpečné heslo a umožnili administraci z internetu. 

Do tří týdnů nám díky neuvěřitelně hloupé bezpečnostní chybě v software někdo router úspěšně napadl. Nejsme sami. Na internetu je ještě minimálně 9000 dalších routerů téhož výrobce, které jsou na tom stejně. A to jsou pouze ty, které zkouší napadat další počítače přes Telnet, a snadno je tedy poznáme. Ve skutečnosti jich může být díky této chybě řádově více.

EBF6

Rád bych připomněl, že tento problém se netýká jen routerů ASUS a jedné nepříjemné chyby ve firmware. Je to obecný problém zařízení, která nejsou pod přímým dohledem, a vzhledem k jejich ceně si výrobce často ani nemůže dovolit je donekonečna aktualizovat. Nepříjemné je, že tato malá zařízení můžou znamenat obrovskou díru do naší sítě a našeho soukromí.

Více se dočtete na blogu CZ.NIC.

65 názorů Vstoupit do diskuse
poslední názor přidán 1. 7. 2015 11:24

Školení App Store optimalizace

  •  
    Jak dostat svou mobilní aplikaci mezi lidi
  • Jak na akvizici uživatelů mobilních aplikací na českém i světovém trhu
  • Jak správně spustit, propagovat, měřit a vyhodnotit svoji aplikaci v Google Play i v Apple App Store

Detailní informace o školení App Store optimalizace »