Sommario
L’emulazione di sistemi si è rivelata uno strumento fondamentale per la ricerca sulle vulnerabilità nei dispositivi IoT e industriali ed utilizzando l’emulatore open-source QEMU, il team di ricerca Team82 ha individuato tre vulnerabilità nel Planet WGS-804HPT, uno switch industriale ampiamente utilizzato in reti di automazione domestica e aziendale. Questo articolo esplora il processo di analisi, le vulnerabilità scoperte e il loro potenziale impatto sulla sicurezza.
Planet WGS-804HPT: il dispositivo e il contesto
Il Planet WGS-804HPT è uno switch industriale progettato per connettere dispositivi IoT, telecamere di sorveglianza e reti LAN wireless. Dotato di un’interfaccia di gestione web e SNMP, il dispositivo offre una piattaforma centralizzata per il controllo della rete. Tuttavia, l’esposizione di queste interfacce a reti esterne rappresenta un rischio significativo in caso di vulnerabilità.
Obiettivo della ricerca
L’obiettivo principale del Team82 era individuare vulnerabilità nel Planet WGS-804HPT sfruttabili che potessero consentire attacchi remoti. Dopo aver ottenuto il firmware dal sito del produttore, i ricercatori hanno analizzato i componenti software, concentrandosi in particolare sul web server del dispositivo.
Metodologia: emulazione e analisi del firmware
Utilizzo di QEMU per l’emulazione
QEMU è stato impiegato per emulare l’architettura MIPS a 32 bit del dispositivo, consentendo di analizzare il firmware in un ambiente isolato. Questo processo ha richiesto:
- Estrazione del firmware: Il tool binwalk è stato utilizzato per decomprimere il file del firmware e accedere al file system.
- Setup di un ambiente di emulazione: È stato configurato un file system simulato che replicasse l’ambiente operativo del dispositivo, incluso il web server Boa utilizzato per la gestione del WGS-804HPT.
Vulnerabilità nel Planet WGS-804HPT individuate
L’analisi si è concentrata sul file dispatcher.cgi
, un’interfaccia CGI esposta agli utenti non autenticati. Le vulnerabilità scoperte includono:
- Overflow del buffer: L’uso non sicuro della funzione
sprintf
consente a un attaccante di sovrascrivere la memoria della stack. - Injection di comandi OS: L’accesso non autenticato al cookie di sessione
id
permette di eseguire comandi arbitrari sul sistema. - Overflow dell’intero: Errori nella gestione dei valori numerici possono essere sfruttati per alterare il normale flusso di esecuzione del software.
Sfruttamento delle vulnerabilità
Sviluppo di exploit
I ricercatori hanno creato un exploit che utilizza il buffer overflow per iniettare ed eseguire codice arbitrario. Poiché il dispositivo non implementa mitigazioni di sicurezza come stack canary o NX bit, è stato possibile eseguire codice direttamente dallo stack.
Impatto degli attacchi
Un attacco riuscito consente a un aggressore di:
- Controllare il dispositivo a livello di sistema operativo.
- Eseguire movimenti laterali nella rete, compromettendo altri dispositivi connessi.
- Utilizzare lo switch come punto di partenza per ulteriori attacchi, come l’iniezione di malware.
La scoperta delle vulnerabilità nel Planet WGS-804HPT evidenzia l’importanza di adottare misure di sicurezza proattive nei dispositivi industriali e IoT. Il produttore ha risolto i problemi rilasciando una nuova versione del firmware (1.305b241111) che gli utenti sono invitati a installare immediatamente.