Puoi divertirti un po ' serio giocando con stampanti, fotocopiatrici e altri dispositivi simili, persino gli 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 web pannelli di configurazione basati su memorizzazione delle password in testo normale, 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.
- I nomi dei documenti e i nomi utente trapelati tramite SNMP, di solito tramite accesso in lettura aperto al dispositivo e su SNMPv1 / 2 dove non viene utilizzata la sicurezza del trasporto.
- Nomi di spazi dei nomi privati SNMP predefiniti o esilaranti (solitamente "privati", "SNMP" o il nome del produttore), che consentono di riconfigurare le impostazioni TCP / IP, inserire voci nel routing tabella, ecc. in remoto e spesso ci sono modi per modificare le impostazioni che non possono essere impostate nel pannello di controllo. È piuttosto banale eseguire il soft-brick del dispositivo.
- UPnP abilitato sul dispositivo nella configurazione predefinita, consentendo una configurazione più divertente da remoto. Spesso è possibile stampare pagine di prova, reimpostare il dispositivo, reimpostare le credenziali del pannello Web, ecc. Anche in questo caso di solito è possibile modificare le impostazioni TCP / IP e altre proprietà di rete.
- 2.2.x e 2.4 molto obsoleti kernel .x, spesso con molti bei buchi nell'escalation dei privilegi di root.
- Script di aggiornamento del firmware scritti male sul sistema, che consentono di eseguire il flashing arbitrario del firmware sui microcontrollori interni. Puoi usarlo per brickare il dispositivo o installare un rootkit se sei disposto a dedicare molto tempo allo sviluppo.
- Demoni SMB personalizzati o vecchi, spesso vulnerabili a RCE. Facile da gestire in remoto.
- Servizi in esecuzione come root, gruppi di utenti impostati in modo errato, autorizzazioni dei file impostate in modo errato.
- I lavori di stampa venivano eseguiti in modo asincrono eseguendo script della shell, semplificando l'escalation del tuo privilegi fino a quello del demone (spesso root).
- Server FTP scritti male nel dispositivo. Scommetto che un fuzzer potrebbe mandare in crash la maggior parte di quei demoni FTP.
- Tutte le solite webapp falliscono, ma soprattutto le vulnerabilità di caricamento dei file.
Ecco dove le cose si fanno ancora più divertenti. Dopo aver attivato la stampante, di solito puoi ottenere nomi utente e altre informazioni interessanti dalle strette di mano SMB. Inoltre, scoprirai spesso che la password per il 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 utilizzarlo per eseguire il tunneling degli attacchi ad altre macchine sulla rete. In diverse occasioni sono riuscito a ottenere gcc e nmap su una fotocopiatrice, che poi ho usato come base operativa.
Qual è la soluzione? Innanzitutto, è necessario riconoscere che le stampanti e le fotocopiatrici sono generalmente computer a tutti gli effetti, che spesso eseguono Linux incorporato su un processore ARM. Secondo, è necessario bloccarli:
- Aggiorna il firmware del dispositivo alla versione più recente.
- Firewall la stampante fuori da Internet. Questo dovrebbe essere ovvio, ma spesso viene mancato. 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 LAN, fallo.
- Cambia le credenziali predefinite sul pannello di controllo web. Ancora una volta, ovvio, ma ancora non fatto molto spesso.
- Trova tutti i servizi in esecuzione sul dispositivo e prova a introdurli 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 un po 'una curva di apprendimento, ma vale la pena dare un'occhiata.
- Se esegui il monitoraggio della rete interna, imposta una regola per controllare qualsiasi cosa insolita in uscita dalla stampante. Questo elimina i falsi positivi e fornisce una buona indicazione di quando sta accadendo qualcosa di losco.
Tutto sommato, se si tratta di un dispositivo collegato alla rete, è probabilmente pwnable e dovrebbe far parte della tua gestione del rischio.