Post sul blog 16 gennaio 2019, di Michael Kubiaczyk, Principal Security Consultant di Bureau Veritas Cybersecurity
Possedere la propria casa: acquisizione di una telecamera domestica
Di recente ho acquistato una casa nei Paesi Bassi, e una delle caratteristiche che mi ha colpito di più è stata la serie di telecamere montate vicino alla porta d'ingresso e a quella posteriore della casa. Sebbene il mio lavoro si concentri in genere sulla sicurezza tecnica, solitamente quella dei siti web, trovo che anche la sicurezza fisica della mia casa sia un argomento molto importante! Parlando con il precedente proprietario durante una delle nostre visite alla casa prima dell'acquisto, ha mostrato una caratteristica molto bella del sistema: era in grado di visualizzare i feed delle telecamere sul suo telefono. Una funzione molto bella, ma anche spaventosa, dal momento che tutti hanno letto di webcam che sono direttamente collegate a Internet. Chiunque potrebbe guardare!
Naturalmente, quando mi sono trasferita, la prima cosa che ho fatto è stata quella di scollegare il tutto, dato che non avevo tempo per capirlo. Dopo essermi sistemata, ho potuto indagare su come era configurato il tutto. Ho iniziato da dove iniziano tutti i cavi, nell'armadio elettrico, dove ho potuto vedere uno strano dispositivo con più cavi di rete attaccati, montato alla parete (delineato in rosso qui sotto):
Non era collegato a nulla - all'inizio non avevo comunque internet - ma ho potuto vedere che c'erano diversi cavi che arrivavano da tutta la casa e un cavo che pendeva verso il basso dove doveva essere stato collegato in precedenza. Ho preso il mio computer portatile e l'ho collegato direttamente al cavo proveniente dal dispositivo. Una volta collegato, ho potuto ascoltare il traffico che cercava di uscire da quella linea, cosa che ho fatto con il comando tcpdump.
Da questo traffico, ho potuto vedere due indirizzi interessanti:
- 192.168.1.10 -- l'indirizzo del dispositivo.
- 192.168.1.254 -- l'indirizzo di un altro dispositivo, che il primo dispositivo sta cercando di trovare e chiede alla rete se qualcuno lo ha visto.
Questa è un'informazione importante, perché quando ho collegato il cavo di rete al mio computer portatile, non mi è stato assegnato un indirizzo IP - normalmente un server DHCP me ne assegna uno. In questo caso, il mio portatile sostituisce il punto della rete in cui normalmente si trova un server DHCP (o un'altra infrastruttura di rete). Quindi, per connettermi al dispositivo di destinazione(all'indirizzo 192.168.1.10), devo avere un percorso verso di esso -- il che significa che il mio portatile ha bisogno di un indirizzo IP raggiungibile dall'indirizzo IP di quell'altro dispositivo. Ho pensato che l'IP successivo avrebbe funzionato e ho impostato il mio indirizzo IP:
La netmask era una supposizione informata e probabilmente funzionerà sulla maggior parte delle reti domestiche (nell'intervallo 192.168.x.y). Una volta fatto questo, ho potuto eseguire il ping 192.168.1.10 e ho ricevuto risposta. Ottimo! Ora vediamo cosa succede qui.
Poiché ora siamo in grado di comunicare con il target, possiamo verificare quali servizi ha in esecuzione su quali porte. Per farlo, eseguiamo lo strumento nmap:
Questo comando controlla l'IP di destinazione (192.168.1.10, il dispositivo) su ciascuna delle porte specificate nel comando, per vedere se c'è qualcosa in esecuzione (e che risponde) su ciascuna porta. In questo caso, ho eseguito il comando con --top-ports1000 -- nmap contiene un elenco delle porte più comunemente viste, e per questo comando ha scelto le prime 1000 di queste porte. Ci si aspetta che un server web sia in esecuzione sulle porte 80 o 443, ma alcuni dispositivi (come l'archiviazione di rete Synology) utilizzano porte strane come la 5000, quindi può aumentare il numero di porte scansionate (o scansionare ogni porta possibile), ma questo aumenterà il tempo necessario per la scansione.
Nella risposta qui sopra, vediamo che le porte 80 (HTTP -- cioè il sito web), 554, 8000 e 9010 sono utilizzate da vari servizi. Poiché il mio obiettivo per ora è solo quello di accedere a qualsiasi interfaccia amministrativa esistente, mi limito al servizio della porta 80 e non mi preoccupo molto delle altre. Carico l'url"http: //192.168.1.10/" in un browser e vedo quanto segue:
Quindi è una semplice pagina di login. Ho provato ad accedere con alcune ipotesi (admin/admin, admin/hikvision, alcune ipotesi basate sul nome del precedente proprietario), ma niente da fare. Tuttavia, ho fatto qualche progresso e ora so che si tratta di un dispositivo di registrazione/switch di marca Hikvision a cui sono collegate tutte le telecamere. Cercando su Google, questo marchio dimostra che prende molto sul serio la sicurezza: non ci sono password predefinite per il dispositivo, né un modo per reimpostarle. L'unico modo per reimpostare la password è installare uno strumento di assistenza tecnica, ottenere il numero di serie del dispositivo insieme ad altre informazioni, inviarle all'e-mail dell'assistenza tecnica e attendere una risposta. Quindi installo il loro strumento di assistenza per ottenere le informazioni richieste e invio un'e-mail all'assistenza tecnica.
Il sito dice che potrebbero volerci alcune ore, ma non ho intenzione di trattenere il fiato, quindi nel frattempo cerco su Internet quali informazioni sono disponibili per questo marchio. Ho scoperto che, per alcune versioni precedenti, esisteva una vulnerabilità di buffer overflow divulgata pubblicamente e qualcuno ha scritto uno strumento di ripristino della password che sfrutta questa vulnerabilità per resettare la password. Piuttosto interessante, ma purtroppo non funziona per me, poiché sembra che io abbia una versione leggermente più recente.
Quindi, scollego il mio computer portatile dalla porta in uscita dell'Hikvision NVR (Network Video Recorder) e lo collego a una delle altre porte, dove sono collegate le telecamere. Ancora una volta, inizialmente non ho un indirizzo IP, quindi ascolto tutto il traffico che passa attraverso l'NVR:
All'interno della rete NVR, vedo i seguenti dispositivi che cercano di comunicare:
- 192.168.254.1
- 192.168.254.4
- 192.168.254.6
- 192.168.254.7
Quindi l'interno della rete NVR è configurato per utilizzare un range di rete come 192.168.254.0/24. Ancora una volta, imposto il mio indirizzo IP per farlo corrispondere - questa volta scelgo 192.168.254.5 poiché si trova nel mezzo, tra alcuni IP che so essere in uso. Fatto questo, posso eseguire il ping dei dispositivi, quindi ancora una volta eseguo una scansione per vedere cosa posso vedere:
IP |
Porta |
Servizio |
192.168.254.1 |
80 |
http |
192.168.254.1 |
554 |
rtsp |
192.168.254.1 |
8000 |
http-alt |
192.168.254.1 |
9010 |
sdr |
192.168.254.4 |
22 |
ssh |
192.168.254.4 |
80 |
http |
192.168.254.4 |
554 |
rtsp |
192.168.254.4 |
8000 |
http-alt |
192.168.254.1 |
9010 |
sdr |
192.168.254.4 |
49152 |
sconosciuto |
I risultati contengono in realtà più dispositivi, poiché ho più telecamere collegate, ma le telecamere rimanenti mostrano le stesse porte di 192.168.254.4 di cui sopra, che sono abbastanza simili alle porte esposte dall'esterno sul dispositivo NVR stesso. Mi collego all'interfaccia http su http ://192.168.254.4/ tuttavia vedo la stessa pagina di login e non posso procedere senza la password. A questo punto, sono un po' bloccato, quindi aspetto un po'. Per comodità, collego l'NVR direttamente al mio router di casa, in modo da potervi accedere dal mio desktop, senza dover trafficare direttamente con i cavi -- ma mi assicuro che il mio firewall disattivi tutte le uscite internet per 192.168.1.10. Non voglio che le riprese della telecamera vengano trasmesse da qualche parte nel frattempo.
Alla fine ricevo una risposta dall'assistenza tecnica. Armato della chiave di ripristino della password, sono in grado di utilizzare il loro strumento di assistenza per reimpostare le password sui miei dispositivi. A quel punto posso accedere tramite l'interfaccia web, e percorro tutte le pagine di configurazione per assicurarmi che non ci siano account utente residui, che l'aspetto dell'"integrazione cloud" sia disattivato e che vengano riviste tutte le impostazioni di archiviazione. Poiché non ho intenzione di renderlo accessibile online in tempi brevi, lascio il mio firewall a bloccare qualsiasi traffico in uscita e configuro uno dei miei monitor a casa per mostrare il feed video.
La mia casa è mia! Ora posso vedere facilmente quando succede qualcosa in casa mia e posso rivedere tutti i video registrati grazie al rilevamento del movimento. E soprattutto, so che nessun altro può accedervi.