Puoi divertirti con serio con stampanti, fotocopiatrici e altri dispositivi simili, persino gli UPS. La sicurezza è di solito un ripensamento al meglio, se non del tutto assente.
Roba 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, in genere tramite accesso aperto in lettura al dispositivo e su SNMPv1 / 2 in cui non viene utilizzata alcuna sicurezza di trasporto.
- Nomi di nomi privati SNMP predefiniti o molto deboli (solitamente "privato", "SNMP" o nome del produttore), che consente di riconfigurare le impostazioni TCP / IP, inserire le voci nella tabella di routing, ecc. in remoto, e spesso modi per modificare le impostazioni che non possono essere impostate nel pannello di controllo. È piuttosto banale implementare il dispositivo nel dispositivo.
- UPnP abilitato sul dispositivo con l'impostazione predefinita, che consente un maggiore divertimento nella configurazione remota. Spesso è possibile stampare pagine di prova, ripristinare il dispositivo, ripristinare le credenziali del pannello Web, ecc. Di solito è possibile modificare le impostazioni TCP / IP e altre proprietà di rete.
- kernel obsoleti 2.2.xe 2.4.x, spesso con molti bei buchi di escalation dei privilegi di root.
- Script di aggiornamento del firmware scritti in modo errato sul sistema, che consentono di eseguire il flash del firmware arbitrario sui microcontrollori interni. Puoi usarlo per mettere in mattoni il dispositivo, o installare un rootkit se sei disposto a spendere un sacco di tempo per svilupparlo.
- Demoni SMB personalizzati o vecchi, spesso vulnerabili a RCE. Facile da bloccare in remoto.
- Servizi in esecuzione come root, gruppi di utenti impostati in modo errato, autorizzazioni di file impostate in modo errato.
- I processi di stampa sono stati eseguiti in modo asincrono eseguendo script di shell, semplificando l'escalation dei privilegi fino a quello del daemon (spesso root).
- Server FTP scritti in modo errato nel dispositivo. Scommetterei i bei soldi che un fuzzer potrebbe mandare in crash la maggior parte di quei demoni FTP.
- Tutta la solita webapp fallisce, ma soprattutto le vulnerabilità di caricamento dei file.
Ecco dove le cose si fanno più divertenti. Una volta impacchettata la stampante, di solito è possibile ottenere nomi utente e altre informazioni sugose dagli handshake SMB. Inoltre, troverai 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 sulla rete. Ciò significa che è possibile utilizzarlo per eseguire attacchi tunnel ad altre macchine sulla rete. In diverse occasioni sono riuscito a ottenere gcc e nmap su una fotocopiatrice, che ho poi usato come base operativa.
Qual è la soluzione? Innanzitutto, è necessario riconoscere che le stampanti e le fotocopiatrici sono in genere computer completi, spesso con Linux incorporato su un processore ARM. Secondo, devi bloccarli:
- Aggiorna il firmware del dispositivo alla versione più recente.
- Firewall della stampante da Internet. Questo dovrebbe essere ovvio, ma spesso è mancato. Le stampanti / fotocopiatrici basate su TCP / IP di solito si legano 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 sul pannello di controllo web. Di nuovo, ovvio, ma ancora non fatto molto spesso.
- Trova tutti i servizi in esecuzione sul dispositivo e prova a inserirli personalmente. Una volta entrato, modifica 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 'di una curva di apprendimento, ma vale la pena dare un'occhiata.
- Se esegui il monitoraggio interno della rete, configura una regola per controllare qualsiasi cosa insolita che provenga dalla stampante. Questo taglia i falsi positivi e ti dà una buona indicazione di quando succede qualcosa di losco.
Tutto sommato, se si tratta di un dispositivo collegato alla rete, è probabilmente pwnable e dovrebbe far parte della gestione dei rischi.