
DoS contro le prese intelligenti Belkin tramite iniezione di firmware manipolato
[Descrizione] Verifica non corretta della firma del firmware durante il processo di aggiornamento del firmware del dispositivo (Device Firmware Update) di Belkin Wemo Smart Plug WSP080 v1.2 consente agli attaccanti di causare un Denial of Service (DoS) tramite un file firmware manipolato.
[Informazioni aggiuntive] Durante l'aggiornamento del firmware della Wemo Smart Plug tramite la sua applicazione mobile, abbiamo scoperto che se la firma del firmware del binario del firmware della smart plug non è valida, può causare l'arresto della risposta della Wemo Smart Plug (diventare bricked).
Sfruttiamo l'app Wemo Android (com.belkin.wemoandroid) per iniettare firmware modificato nella Wemo Smart Plug. Il firmware originale si trova a: http://app.xbcs.net/firmware/Wemo-RTOS/715-f30e070f6/WEMO_WW_4.00.20111600.PVT-RTOS-SNSV4_tz.bin.enc. Cambiamo questo URL nell'app Wemo iniettando codice nel metodo onResponse della libreria Android Volley. Cambiamo l'URL che punta a un binario in cui abbiamo modificato un byte. Nello specifico, modifichiamo il binario nel modo seguente: @00124C90 (4ª riga alla fine del file firmware) A3 E0 49 D5 cambiato in A3 E0 50 D5.
Confermiamo che il firmware modificato viene inviato al dispositivo intercettando il traffico di rete verso la smart plug. Dopo che il firmware modificato viene ricevuto dalla Smart Plug, la presa smette di rispondere e non può essere resettata o rilevata dall'applicazione mobile.
[Tipo di vulnerabilità] Denial of Service
[Fornitore del prodotto] Belkin
[Codice base del prodotto interessato] Wemo Smart Plug WSP080 - Wemo Android App (com.belkin.wemoandroid) (1.2)
[Componente interessato] http://app.xbcs.net/firmware/Wemo-RTOS/715-f30e070f6/WEMO_WW_4.00.20111600.PVT-RTOS-SNSV4_tz.bin.enc
[Tipo di attacco] Remoto
[Vettori di attacco] Questo attacco può essere eseguito modificando almeno un byte del binario del firmware in qualsiasi punto durante la consegna del binario del firmware alla Smart Plug. Questo può essere fatto quando il firmware viene scaricato sul dispositivo mobile o sul server MQTT o quando è in transizione su qualsiasi rete.
https://www.computer.org/csdl/proceedings-article/eurosp/2023/651200b047/1OFthXNYuRy https://research.utwente.nl/en/publications/aot-attack-on-things-a-security-analysis-of-iot-firmware-updates