Hlavní navigace

Motherfucker: virus v bezdrátových zařízeních Ubiquiti (AirOS)

Aktualizováno 17. 5. 2016 12:43
Martin Kratochvíl

Zařízení s operačním systémem AirOS jsou ohrožena kvůli vážné bezpečnostní mezeře, která dovoluje modifikovat souborový systém bez znalosti přihlašovacích údajů. Jak se bránit?

Před pěti lety se kvůli bezpečnostní díře začal šířit virus Skynet. Možná si pamatujete na nahodilé restartovaní zařízení. Před měsícem byla popsána nová bezpečnostní díra ve všech typech zařízení AirOS. Ta umožňuje útočníkovi nahrát jakýkoliv soubor kamkoliv do souborového systému Wi-Fi zařízení bez znalosti přihlašovacích údajů.

V pondělí 16. května byl konečně vydán opravný firmware verze 5.6.5, který tuto chybu řeší. Jak se vlastně dostane do nezabezpečeného zařízení?

Infekce zařízení

Jelikož exploit umožňuje nahrání souboru kamkoliv do souborového systému, virus si nahraje veřejný klíč SSH do routeru (bez nutnosti autentizace). Také zkopíruje sám sebe do zařízení. Přihlásí se pomocí SSH a nainstaluje se. Tedy rozbalí si tar, zapíše se do souboru rc.poststart a zapíše se do perzistentní paměti. Pak se restartuje.

Po restartu

Znovu se rozbalí z taru, a spustí soubor mother. Tato matka si nastaví firewall na HTTP/HTTPS – tím můžete poznat infikované zařízení. Dále inicializuje stažení příkazu curl a několika knihoven pomocí wget. Příkaz curl potřebuje pro své šíření a nevejde se do perzistentní paměti.

Následně spustí search a začne skenovat adresní prostor. Pokud najde zařízení, které by mohlo být „airos“, zkusí na něj nahrát pomocí HTTP (HTTPS) opět svůj veřejný klíč a následně se zkusí pomocí SSH přihlásit do zařízení a nainstalovat se.

To však není vše. Skript si ukládá IP adresu pravděpodobně infikovaných zařízení a zkusí je všechny přibližně jednou za 66 666 sekund (18,5 hodiny) resetovat pomocí webového přístupu do továrního nastavení – skript fucker. Reset se podaří jen na zařízení, které se nepodařilo správně infikovat a samozřejmě mají zranitelný firmware.

Dále na hostitelském zařízení pustí odpočet na 666 666 sekund (7,5 dne) a po uplynutí přenastaví ESSID na „motherfucker“ a následně zařízení vypne. Detaily naleznete na fóru ubnt.

Jak se bránit?

Především aktualizovat na firmware 5.6.5! Zároveň je dobré nasadit firewall na HTTP nebo HTTPS, stačí jej nastavit ve webovém rozhraní zařízení. Dále je možné nastavit naslouchání zařízení na jiný než výchozí port 80 či 443. Zkušenější samozřejmě mohou využít vlastních skriptů v ubnt.

Pokud už jste byli napadeni, můžete manuálně odstranit virus pomocí SSH:

# cd /etc/persistent/
# rm mf.tar
# rm rc.poststart
# rm -R .mf
# sed -i "/^mother/d" /etc/passwd
# cfgmtd -p /etc/ -w
# reboot

Doufám, že všichni stihnete aktualizovat dříve, než naši republiku pokryje Wi-Fi nápis „motherfucker“.

Našli jste v článku chybu?
17. 5. 2016 15:51
Lukas (neregistrovaný)

viz. nekolik odpovedi okolo. Updaty jsou divocina, ktera plosne provozovat opravdu nelze, pokud nechci nasledne objizdet klienty, ktere to usmrti, protze zrovna si ubnt rozmysli, ze se flashne nekorektne. Mam to za nekolik let pouzivani ubnt vyzkousene, pouzivame fw, ktere jsou dlouhodobe stabilni na wifi casti, to ze v nich je dira, ubnt tise zaplaclo a zapadlo to v changelogu (ani ne celou vetou) mezi ostatnimi zmenami. Na druhou stranu - kdyz tu byl Skynet, vubec se nas to nedotklo. Btw mysli…

17. 5. 2016 11:21

K tomu odstraneni, jeste by bylo vhodne z /etc/passwd zrusit uzivatele "mother", kteryzto ma heslo "fucker" (v nekterych variantach viru). Jinak tam ma utocnik porad pristup pres ssh.