In molti con l’intento di migliorare la sicurezza delle proprie abitazioni o dei propri uffici stanno installando delle telecamere “intelligenti”, che grazie a una semplice connessione diretta a Internet gli consentono una sorveglianza costante e a portata di clic. Tuttavia, questo tipo di comodità può rivelarsi facilmente un’arma a doppio taglio se la telecamera soffre di una vulnerabilità di sicurezza che apre la porta ad utenti non autorizzati. Come dimostrato dall’ultima ricerca ESET sulla domotica, è il caso della fotocamera digitale D-Link DCS-2132L, che consente ai criminali non solo di intercettare e visualizzare i video registrati, ma anche di manipolarli grazie al firmware del dispositivo.

Il problema più serio con la telecamera Cloud D-Link DCS-2132L è la trasmissione non crittografata del flusso video. Funziona in modo non criptato su entrambe le connessioni – tra la telecamera e il Cloud e tra il Cloud e l’app per la visualizzazione lato client – fornendo un terreno fertile per attacchi man-in-the-middle (MitM) e consentendo agli intrusi di spiare i video delle vittime.

Figura 1 Schema della trasmissione di dati vulnerabili e possibili vettori di attacco MitM.

L’app per la visualizzazione e la videocamera comunicano tramite un server proxy sulla porta 2048, utilizzando un tunnel TCP basato su un protocollo proprietario D-Link. Sfortunatamente, solo parte del traffico che attraversa questi tunnel viene crittografato, lasciando alcuni dei contenuti più sensibili, come le richieste di indirizzi IP e MAC della videocamera, informazioni sulla versione, flussi audio e video e informazioni dettagliate sulla videocamera, senza una protezione crittografica.

La vulnerabilità responsabile per questo ed altri dei problemi descritti di seguito in questo articolo può essere ricondotta a una condizione all’interno del file request.c (parte del codice sorgente del server Web boa personalizzato open source D-Link) che gestisce le richieste HTTP alla telecamera. Tutte le richieste HTTP da 127.0.0.1 vengono elevate a livello amministratore, garantendo a un potenziale utente malintenzionato l’accesso completo al dispositivo.

Figura 2 Condizione nel codice sorgente del server Web boa. Tutte le richieste in arrivo sono elevate a livello amministrazione.

Intercettazione di flussi video e audio

Un attaccante MitM che intercetta il traffico di rete tra l’app per la visualizzazione e il Cloud o tra il Cloud e la telecamera, può utilizzare il flusso di dati della connessione TCP sulla porta server (Cloud) 2048 per visualizzare le richieste HTTP dei pacchetti video e audio. Questi possono quindi essere ricostruiti e riprodotti dall’intruso, in qualsiasi momento, per ottenere l’attuale flusso audio o video da quella telecamera. Nei nostri esperimenti, abbiamo ottenuto il contenuto video in streaming in due formati raw, in particolare M-JPEG e H.264.

Per ricostruire il flusso video, è necessario completare alcune operazioni (che possono essere facilmente automatizzate tramite un semplice programma o uno script):

1. Identificare il traffico che rappresenta i flussi video. Questo traffico è costituito da più blocchi di dati, ciascun blocco ha un’intestazione specifica e una lunghezza definita.

2. Separare le parti di dati dalle intestazioni.

3. Infine, le parti del video vengono unite in un unico file.

La riproduzione dei file video ottenuti in questo modo può essere un po’ complicata essendo in un formato di streaming raw invece di un formato di file contenitore. Tuttavia, alcuni lettori multimediali possono gestire questi formati non elaborati se vengono eseguiti con le opzioni appropriate della riga di comando (ad esempio, MPlayer può gestire file M-JPEG e VLC può riprodurre file H.264).

Plug-in difettoso

Un altro problema importante riscontrato in questa videocamera è nascosto nel plug-in del browser “myDlink services”, che gestisce il traffico dei dati e la riproduzione del video dal vivo nel browser del client, ma è anche incaricato di inoltrare le richieste per i flussi di dati video e audio attraverso un protocollo di tunneling.

La vulnerabilità del plug-in è particolarmente insidiosa per la sicurezza della videocamera, poiché permette ai criminali informatici di sostituire il firmware legittimo con la propria versione corrotta o contenente una back-door.

Sfruttando questo tunnel è possibile accedere all’intero sistema operativo, quindi qualsiasi applicazione o utente sul computer della vittima può semplicemente accedere all’interfaccia web della telecamera tramite una semplice richiesta (solo durante lo streaming video live) a hxxp: //127.0.0.1: RANDOM_PORT / .

Non è necessaria alcuna autorizzazione poiché le richieste HTTP al server Web della telecamera vengono automaticamente elevate al livello di amministrazione quando si accede da un IP localhost (l’host locale dell’app per la visualizzazione viene instradato verso il localhost della telecamera).

Sostituzione del firmware

Attualmente, i problemi relativi al plug-in “mydlink services” sono stati risolti dal produttore.

Video risoluzione del bug sul plug-in

Tuttavia la sostituzione del firmware dannoso è ancora possibile tramite le vulnerabilità nel protocollo di tunneling personalizzato di D-Link, descritto in precedenza in questo articolo. Per raggiungere questo obiettivo, un utente malintenzionato deve modificare il traffico nel tunnel sostituendo la richiesta GET del flusso video con una richiesta POST specifica che carica ed esegue un “aggiornamento” firmware modificato.

Vogliamo però sottolineare che, fermo restando quanto descritto, l’esecuzione di un simile attacco non è affatto semplice e che richiede una notevole preparazione.

Ricordiamo come ESET abbia segnalato tutte le vulnerabilità rilevate al produttore e alcune di queste – principalmente nel plug-in myDlink – sono state risolte mentre persistono problemi con la trasmissione non crittografata.

La fotocamera D-Link DCS-2132L è ancora disponibile sul mercato. Gli attuali proprietari del dispositivo sono invitati a verificare che la porta 80 non sia esposta a Internet e riconsiderare l’uso dell’accesso remoto, se la telecamera viene impiegata per il controllo di aree altamente sensibili della propria abitazione o della propria azienda.

Fonte: https://blog.eset.it/2019/05/eset-scopre-unimportante-vulnerabilita-della-telecamera-d-link-che-consente-di-intercettarne-il-flusso-video/