Il team di ricerca di Microsoft 365 Defender ha fornito degli interessanti dettagli riguardo a tre vulnerabilità di sicurezza critiche che interessano i router della serie Netgear DGN2200v1 (già risolte dal vendor con un avviso di sicurezza correttivo emesso nel dicembre 2020 come parte di un processo coordinato di divulgazione delle vulnerabilità) e che potrebbero essere sfruttate per compromettere la sicurezza di una intera rete e ottenere accessi amministrativi sugli stessi dispositivi.
In particolare, secondo i ricercatori, i tre bug classificati con punteggi CVSS compresi tra 7.1 e 9.4 (rilevati da Netgear come PSV-2020-0363, PSV-2020-0364 e PSV-2020-0365), minando la sicurezza del processo di autenticazione di questa famiglia di router aventi eventualmente ancora firmware precedenti alla v1.0.0.60, potrebbero consentire ad un attaccante di:
- accedere alle pagine di gestione dei router utilizzando un bypass di autenticazione, permettendo a un attore malevolo di ottenerne il controllo completo;
- ricavare le credenziali memorizzate nella memoria del router attraverso un attacco side channel crittografico;
- recuperare le credenziali d’accesso al router anche sfruttando le funzioni di backup e ripristino di configurazione.
Indice degli argomenti
Vulnerabilità nei router Netgear: la ricerca Microsoft
Per le analisi di rito e per comprendere dove potesse risiedere il problema, i ricercatori hanno scaricato il firmware del modello del dispositivo in oggetto (un file .zip contenente le note di rilascio e l’immagine del firmware stesso) direttamente dal sito Web di Netgear, scoprendo che la causa era legata alla connessione anomala alla porta di gestione standard del router servita da HTTPd (Hypertext Transfer Protocol Daemon).
Per arrivare a tali conclusioni, tra i vari test effettuati i ricercatori hanno eseguito sia un’analisi statica del binario HTTPd (un binario tipo MIPS ELF big-endian a 32 bit compilato e usato su sistemi embedded per erogare funzionalità web server con ipertesti e documenti multimediali tramite l’impiego del protocollo HTTP) che un’analisi dinamica eseguendo un noto emulatore e virtualizzatore di macchine open source (QEMU).
Un bug consente il bypass di autenticazione
Alla fine, gli esami sul file HTTPd hanno portato a trovare uno pseudo codice deputato all’approvazione delle prime pagine di configurazione per l’avvio automatico (“form.css” e “func.js”), scoprendo che Netgear, su questi dispostivi, utilizza la funzione C++ “strstr” per verificare se una pagina ha sottostringhe “.jpg”, “.gif” o “ess_”, e validare la corrispondenza dell’intera URL per l’approvazione.
Ciò significava che i ricercatori potevano accedere a qualsiasi pagina sul dispositivo, comprese quelle che richiedevano l’autenticazione, aggiungendo semplicemente una variabile GET con una sottostringa pertinente (come ad esempio “?.GIF”).
I ricercatori hanno così potuto ottenere il controllo completo del router, con un cosiddetto bypass di autenticazione affidabile utilizzando delle richieste GET di questo tipo “hxxps://10[.]0[.]138/WAN_wan.htm?pic.gif”.
Pseudo codice in HTTPd usato per ottenere un bypass di autenticazione.
Recupero delle credenziali con attacco side channel crittografico
In seconda istanza, i ricercatori hanno deciso di studiare ulteriormente l’implementazione dell’autenticazione, scoprendo che le credenziali del router potevano essere ottenute anche utilizzando una tipologia di attacco side channel.
Per le pagine autenticate, HTTPd richiede infatti un’autenticazione HTTP standard ovvero username e password vengono codificate in stringhe base64, inviate nell’intestazione HTTP e infine verificate rispetto alle credenziali salvate nella memoria NVRAM del router.
Poiché tali credenziali, osservano i ricercatori, vengono confrontate, nella fattispecie, utilizzando la funzione C++ “strcmp” (tale funzione confronta carattere per carattere fino a quando non viene osservato un terminatore NULL o fino a quando non si verifica una mancata corrispondenza), un utente malintenzionato potrebbe trarre vantaggio da questo meccanismo misurando il tempo necessario per ottenere un errore di corrispondenza.
Nell’esempio esplicativo riportato sul blog, sono stati misurati i tempi di risposta nel tentativo di riconoscere il primo carattere di una password, dimostrando come un attore malevolo potrebbe reiterare questo processo per ottenere i successivi caratteri, fino a quando non vengono rivelate tutte le corrispondenze. Il grafico a barre in esempio indica che la stringa di prova messa a confronto presenta come primo carattere la lettera “n” in corrispondenza di un tempo maggiore impiegato, rispetto agli altri, dalla funzione “strcmp” per segnale un errore di corrispondenza.
Tempo di risposta per tentativo di corrispondenza.
Vulnerabilità della funzionalità di backup e ripristino del router
Successivamente, il team di ricerca ha rilevato che era possibile recuperare il nome utente e la password utilizzati dal router sfruttando anche un’altra vulnerabilità presente sulla funzionalità di backup e ripristino del dispositivo.
Abusando nuovamente del bypass di autenticazione, precedentemente testato, per recuperare il file di configurazione (è stata usata una richiesta GET di questo tipo hxxp://router_addr:8080/ NETGEAR_DGN2200[.]cfg ?pic[ .]gif), la decodifica della funzionalità di backup/ripristino ha portato i ricercatori così a scoprire che le credenziali erano crittografate in DES utilizzando una chiave costante “NtgrBak”, che poteva essere successivamente utilizzata per recuperare la password e il nome utente in chiaro.
Password costante usata nel processo di crittografia DES.
Vulnerabilità nei router Netgear: come mitigare i rischi
La ricerca eseguita ha mostrato come la rilevazione di una semplice connessione anomala abbia potuto portare gli analisti a trovare diverse vulnerabilità su un dispositivo di rete di uso molto comune, mettendo in luce quanto sia importante proteggere ai fini della sicurezza informatica non solo gli endpoint ma anche i router che rappresentano una parte integrante di una rete.
Come rimarcato dallo stesso team di sicurezza Microsoft, la collaborazione tra ricercatori di vulnerabilità, fornitori di software e altri attori risulta fondamentale per proteggere l’esperienza utente complessiva, l’intera gamma di piattaforme e i dispositivi di rete (IoT compresi), aiutando a scoprire minacce nuove e sconosciute e salvaguardando la sicurezza informatica continuamente messa a rischio.
Si consiglia, pertanto, agli utenti di Netgear DGN2200v1 di scaricare e aggiornare, quanto prima, il relativo firmware alle versioni più recenti al fine di scongiurare e respingere eventuali attacchi.