Puoi avere qualcosa di serio divertente giocare con stampanti, fotocopiatrici e altri dispositivi simili, persino UPS. La sicurezza è di solito un ripensamento nella migliore delle ipotesi, se non del tutto assente.
Cose che ho visto:
- Credenziali predefinite utilizzate ovunque e pannelli di configurazione basati sul Web che memorizzano le password in testo semplice, spesso all'interno di un file di configurazione generato. Non ho mai visto niente di meglio del semplice MD5 sulle password e in un caso ho visto CRC32.
- Nomi di documenti e nomi utente trapelati tramite SNMP, di solito tramite accesso in lettura aperto al dispositivo e su SNMPv1/2 dove non viene utilizzata alcuna sicurezza di trasporto.
- Nomi di spazi dei nomi privati SNMP predefiniti o esilarantemente deboli (solitamente "privati", "SNMP" o il nome del produttore), che consentono di riconfigurare le impostazioni TCP/IP, inserire voci nella tabella di instradamento, ecc. da remoto, e spesso ci sono modi per modificare le impostazioni che non possono essere configurate nel pannello di controllo. È piuttosto banale eseguire il soft-brick del dispositivo.
- UPnP abilitato sul dispositivo nella configurazione predefinita, consentendo un maggiore divertimento di configurazione remota. Spesso puoi stampare pagine di prova, eseguire un hard reset del dispositivo, reimpostare le credenziali del pannello web, ecc. Anche in questo caso è solitamente possibile modificare le impostazioni TCP/IP e altre proprietà di rete.
- Kernel 2.2.xe 2.4.x molto obsoleti, spesso con molti bei buchi di escalation dei privilegi di root.
- Script di aggiornamento del firmware scritti male sul sistema, che consentono di eseguire il flashing di firmware arbitrario su microcontrollori interni. Puoi usarlo per murare il dispositivo o installare un rootkit se sei disposto a dedicare molto tempo allo sviluppo.
- Daemon SMB personalizzati o vecchi, spesso vulnerabili a RCE. Facile da usare da remoto.
- Servizi in esecuzione come root, gruppi di utenti impostati in modo errato, autorizzazioni file impostate in modo errato.
- I processi di stampa vengono eseguiti in modo asincrono eseguendo script di shell, semplificando l'escalation dei tuoi privilegi fino a quelli del demone (spesso root).
- Server FTP scritti male integrati nel dispositivo. Scommetterei un bel po' di soldi che un fuzzer potrebbe mandare in crash la maggior parte di quei demoni FTP.
- Tutte le solite webapp falliscono, ma soprattutto le vulnerabilità del caricamento di file.
Qui è dove le cose si fanno ancora più divertenti. Una volta che hai bloccato la stampante, di solito puoi ottenere nomi utente e altre utili informazioni dalle strette di mano delle PMI. Inoltre, scoprirai spesso che la password del pannello di controllo Web della stampante viene riutilizzata per altre credenziali di rete.
Alla fine della giornata, però, la stampante è una macchina interna alla rete. Ciò significa che puoi usarlo per incanalare gli attacchi ad altre macchine sulla rete. In diverse occasioni sono riuscito a caricare gcc e nmap su una fotocopiatrice, che poi ho utilizzato come base operativa.
Qual è la soluzione? Innanzitutto, è necessario riconoscere che le stampanti e le fotocopiatrici sono in genere computer a tutti gli effetti, che spesso eseguono Linux integrato su un processore ARM. Secondo, devi bloccarli:
- Aggiorna il firmware del dispositivo all'ultima versione.
- Firewall la stampante fuori da Internet. Questo dovrebbe essere ovvio, ma spesso ci si perde. Le stampanti/fotocopiatrici basate su TCP/IP di solito si collegano a
0.0.0.0
, quindi possono facilmente intrufolarsi nella WAN. - Se puoi fare in modo che la stampante ascolti solo il traffico dalla LAN, fallo.
- Modifica le credenziali predefinite nel pannello di controllo web. Ancora una volta, ovvio, ma ancora non fatto molto spesso.
- Trova eventuali servizi in esecuzione sul dispositivo e prova ad accedervi tu stesso. Una volta entrato, cambia le password e disattiva ciò che non è necessario.
- Procurati uno strumento di rilevamento SNMP e scopri cosa è disponibile per la tua stampante. SNMP ha una certa curva di apprendimento, ma vale la pena dare un'occhiata.
- Se esegui il monitoraggio della rete interna, imposta una regola per controllare se qualcosa di insolito viene da la stampante. Questo riduce i falsi positivi e ti dà una buona indicazione di quando sta accadendo qualcosa di losco.
Tutto sommato, se si tratta di un dispositivo collegato alla tua rete è probabilmente pwnabile e dovrebbe far parte della tua gestione del rischio.
Il problema principale qui è che la tua stampante è accessibile dall'esterno della tua rete. Non l'ho mai fatto visto una situazione in cui le stampanti devono essere accessibili dall'esterno di una rete, e intendo mai! Ti suggerisco di risolverlo e urgentemente!
C'è di più nelle stampanti di quanto la maggior parte delle persone creda, ma i rischi possono essere gestiti mantenendoli aggiornati, disattivando le opzioni non sicure come http e modificando le password dell'amministratore.
Spesso le stampanti conservano registri dei documenti stampati, a volte contenenti copie dei documenti stessi che possono essere scaricati da remoto. Anche se i documenti stessi non sono sensibili, a volte i metadati possono far trapelare informazioni come il nome del file server, il computer da cui sono stati inviati, il nome utente...