Z deníku CZ.NIC: „Jak jsme si nechali „nabořit“ router“

26. 6. 2015

Sdílet

 Autor: Redakce

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 (12). V tomto článku se podíváme na to, jak mohli 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í.

Zastoupení routerů v botnetu
Zastoupení routerů v botnetu  

Nainstalovali jsme také plnohodnotný honeypot pro Telnet, kde jsme již chování několika útočníků zachytili. V neposlední řadě jsem 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í.

Kontrola aktuálnosti firmware
Kontrola aktuálnosti firmware

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+"/QIS_wizard.htm?flag=welcome\"", 2*1000);
else
setTimeout("parent.location = \"http://"+new_lan_ip+"/QIS_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.

Služby dostupné na napadených routerech
Služby dostupné na napadených routerech

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.

Závěr

Pokud shrnu výše uvedený text: 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.

bitcoin_skoleni

Na závěr tohoto článku bych rád 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í.

Článek původně vyšel na blog.nic.cz, autorem je Bedřich Košata. Zde jej uveřejňujeme pod licencí CC BY-SA.