Premessa

L'epoca del cosiddetto home cinema ha segnato l'esplosione di un mercato dedicato alla creazione di soluzioni sia hardware che software, partendo dai semplici componenti di riproduzione audio/video fino ai software progettati per catalogare intere librerie multimediali, restituendoci un'esperienza audiovisiva di tutto rispetto, comodamente seduti al nostro divano.

La diffusione di dispositivi cosiddetti smart e l'avvento (finalmente!) di connessioni ad Internet a banda larga, hanno spostato l'attenzione di noi curiosi digitali verso possibilità di interconnessione a tutto tondo, dando vita ai media center.

Dalle ceneri di XBMC, uno dei primi applicativi dedicati all'intrattenimento da salotto oggi rinato con il nome di Kodi, è nato il progetto Plex, un player multimediale che presenta componenti client/server.
Uno dei grandi pregi di tale tipologia di software risiede nella possibilità di installare la componente con le funzionalità di server su un dispositivo posto all'interno di una rete locale, come ad esempio un pc, una consolle, un NAS o addirittura un router. La parte server si occuperà di ospitare la libreria multimediale e transcodificare il contenuto multimediale, che potrà poi essere trasmesso al player, installabile su qualsiasi dispositivo fisso o mobile, compresi gli smartphone.

Naturalmente il server Plex è raggiungibile anche dall'esterno della rete locale, poiché il software consente l'accesso alla propria libreria multimediale mediante autenticazione.

Ed è qui che iniziano i primi problemi: credo che nessuno voglia lasciare libero accesso alla propria raccolta di film d'autore o peggio agli ultimi video delle vacanze al mare o addirittura alla propria serie manga preferita!!!

Sono state create alcune interfacce molto utilizzate per la gestione della propria raccolta multimediale che, se mal configurate, lasciano varchi pericolosi per la propria privacy.

Una di queste interfacce si chiama Tautulli, la cui descrizione è riportata con chiarezza sul relativo progetto github:
"... a python based web application for monitoring, analytics and notifications for Plex Media Server". ...

La configurazione standard, purtroppo, come spesso accade se non ben personalizzata, porta con sè alcuni bug che possono risultare molto fastidiosi.
Andiamo a vederli insieme.

"Search and Rescue"

Anzitutto ci colleghiamo al sito Shodan.io. Inserendo nel campo di ricerca la seguente stringa "CherryPy/5.1.0 /home" (CherryPy, un framework utile per creare applicazioni web in Python, viene utilizzato da Tautulli come web server) otterremo una lista inaspettatamente lunga di dispositivi indicizzati:

Shodan

Se volessimo limitare la ricerca "solo" alle occorrenze italiane, aggiungendo country:"IT" alla precedente query, otterremmo, nel momento in cui scrivo, 24 risultati. Non male (si fa per dire)!

Selezionando uno qualsiasi dei dispositivi riportati nella precedente schermata di Shodan, abbiamo la possibilita' di catapultarci all'interno della corrispondente interfaccia di Tautulli.

Per ovvie ragioni, per questa prova, ho preferito installare Tautulli su una macchina virtuale dopo aver installato e configurato il server Plex su una piccola libreria multimediale sulla mia (fantastica :-P) Nintendo Shield.

Questa è la home visualizzata all'avvio del file "Tautulli.py":

Interfaccia grafica Tautulli
Interfaccia grafica di Tautulli

Mi preme sottolineare che se stessimo esplorando l'interfaccia di un PC messo dall'altra parte del mondo, avremmo accesso, oltre a tutta la raccolta di film e serie presenti nel server Plex con tanto di statistiche sulle visualizzazioni (e quindi pieno accesso alle preferenze degli utenti), anche a dati molto sensibili, come ad esempio gli indirizzi email ed i nomi di registrazione degli utenti che hanno accesso alla libreria multimediale, i dispositivi utilizzati per visualizzare i video e l'ultimo indirizzo IP da cui questi hanno effettuato l'accesso!

Il tutto senza alcuna richiesta di autenticazione.

Tautulli users details
Tautulli users details

Se tutto ciò vi sembra abbastanza grave, mettetevi comodi: c'è di peggio!

Normalmente, dopo aver curiosato tra dati di ogni genere (Ripeto: fatelo solo su vostri dispositivi, come caso di studio!) se volessimo vedere un film non sarebbe possibile, perchè nel momento in cui selezionassimo un titolo otterremmo la pagina di Plex che ci invita ad autenticarci.
Purtroppo anche in questo caso non ci sono buone notizie.

A causa di un bug non risolto e segnalato in questo white paper, è possibile visualizzare (o effettuarne il download) qualsiasi contenuto facente parte delle librerie individuate nelle modalità appena indicate.

In breve, tramite la schermata di impostazioni di Tautulli, è possibile visualizzare il numero di token utilizzato per l'account Plex, come evidenziato nella seguente immagine:

Tautulli - Plex.tv Account Token
Tautulli - Impostazioni - Plex Account Token

Ottenuto il token, occorre effettuare alcuni passaggi abbastanza semplici.
Senza volermi dilungare troppo in dettagli, poichè esulano dalle finalità di questo articolo e comunque sono spiegati piuttosto bene nel paper di @GerardFuguet, basterà portarsi alla URL su cui è in ascolto il server Plex per interfacciarsi con Tautulli, solitamente alla porta 32400 ed aggiungere a seguire il valore del token recuperato in precedenza.

Pertanto avremo un indirizzo tipo:


http://indirizzoIP:32400/?X-Plex-Token=xyz

dove, al posto di "indirizzoIP" ci sarà il vero indirizzo IP del dispositivo su cui è stato installato il server Plex e al posto di "xyz" inseriremo il valore del token.

Di tutta risposta si otterrà una pagina in formato XML tipo questa:

Plex XML
Plex XML

In ulteriori 3 o 4 passaggi, recuperando le corrette informazioni dai file XML che verranno visualizzati di volta in volta, potremo visualizzare a schermo il nostro film preferito, o addirittura effettuarne il download, così da arrivare al seguente risultato (nel mio caso ;-) ):

2001: A Space Odissey

Conclusioni

Abbiamo visto come l'errata configurazione di un servizio creato per scopi ricreativi abbia esposto online non solo un'infinità di contenuti multimediali (tra l'altro spesso in violazione delle normative sul copyright) ma abbia reso facilmente accessibili moltissimi dati personali degli utilizzatori, come le email utilizzate, i nomi utenti, le statistiche di visualizzazione, i dispositivi utilizzati e relativi indirizzi IP, oltre che video e foto private nel caso siano state caricate nel server Plex, con implicazioni sulla privacy piuttosto evidenti e pesanti.

Tags:
Alessandro Rella
Post by Alessandro Rella
June 30, 2019
Cybersecurity & Digital Forensics Expert, specialized in Mobile Forensics and passionate about OSINT, Cryptocurrency Forensics and Python. He never stops learning.

Comments