Domanda:
Attaccare una stampante da ufficio?
hsnm
2012-11-06 22:27:00 UTC
view on stackexchange narkive permalink

Ho eseguito una scansione nmap su una stampante per ufficio avanzata che ha un nome di dominio ed è accessibile dall'esterno della rete aziendale. Sorprendentemente ho trovato molte porte aperte come http: 80, https: 443 e svrloc: 427 e alcune altre. L'impronta del sistema operativo dice da qualche parte: "... x86_64-unknown-linux-gnu ...", che potrebbe indicare che si tratta di una sorta di Linux incorporato che esegue un software server per la funzionalità della stampante.

Come posso sapere se questa stampante sta aumentando la superficie di attacco sulla rete? Ad esempio, può essere sfruttato tramite un'escalation dei privilegi remota vul. e quindi lanciare un attacco di tunneling su altri host nella rete?

Saresti sorpreso di quanto puoi divertirti con stampanti e fotocopiatrici;)
@Polynomial Ho paura di questo. Ho provato a cercare in giro ma non sono riuscito a trovare molte informazioni utili. Devo controllare quanto è in grado di fare la mia stampante per vedere se un attacco relativamente pericoloso può avere successo. Non sono stato in grado di trovare molte informazioni sul sistema operativo o sulle specifiche hardware della mia stampante. Consentirà un'escalation dei privilegi? Sta eseguendo CUPS per ipp? Non ne ho ancora idea.
Controlla anche le vulnerabilità nell'interfaccia web del produttore.
Se desideri un tutorial passo passo, rimanda al filmato Office Space.
Potrebbe essere di aiuto se ci spieghi perché deve essere accessibile dall'esterno (ad es. Amministratore remoto? Ordinazione automatica dei materiali di consumo? Stampa remota?)
@GrahamHill Non ho risposta a questa domanda e sono sorpreso. Questa stampante è gestita da altri amministratori. Sto controllando la sicurezza della rete e non ho ancora parlato con loro.
Inoltre, tieni presente che la maggior parte delle stampanti / fotocopiatrici / scanner oggigiorno memorizza le immagini di ciò che è stato stampato / copiato / scansionato nella memoria della stampante. E poiché la tua stampante è accessibile al di fuori della tua rete ... sono sicuro che puoi vedere dove sta andando.
@k1DBLITZ È peggio di così. Di solito lo memorizza su un filesystem temporaneo, che potrebbe non essere nemmeno un ramdisk. Spesso le operazioni di stampa vengono inviate da un demone di stampa per mantenere il funzionamento asincrono. A volte scoprirai che alcune operazioni di stampa sono solo script di shell che registrano il loro stato in un file, che il demone rilegge per riportare lo stato del lavoro.
@Moses Pensavo che questo post riguardasse Office Space quando l'ho letto :)
Sii felice che non sia una stampante wireless. Quelle sono la rovina della mia esistenza.
@mikebabcock che tipo di problemi stai affrontando con le stampanti wireless?
Molte stampanti per ufficio dispongono di accesso Wi-Fi che consente vettori di attacco remoto senza opzioni di protezione fisica. Il wireless sicuro è sempre attaccabile, così come lo stack di rete sul dispositivo stesso, e la probabilità che gli aggiornamenti di sicurezza siano imminenti è molto bassa.
Otto risposte:
#1
+147
Polynomial
2012-11-06 23:03:48 UTC
view on stackexchange narkive permalink

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.

Risposta molto esauriente. Lo leggerò attentamente e vedrò cosa è possibile dalla mia parte. Mi piace il fatto che questi stiano usando kernel molto vecchi con falle di sicurezza sufficienti per dare un'escalation dei privilegi remoti e lanciare facilmente un attacco di tunneling.
È di grande aiuto mettere i dispositivi con processori incorporati come questo su uno switch intelligente in modo da poter designare il traffico consentito in entrata e in uscita in base alla porta.
@mikebabcock il problema è identificare quale è il traffico legittimo?
@hsnm Non troppo difficile per cose ovvie: la tua stampante dovrebbe essere autorizzata ad avviare connessioni TCP in uscita? La tua stampante dovrebbe essere autorizzata a eseguire query DNS? Hai davvero bisogno di consentire al traffico UPnP e SNMP di raggiungerlo?
@hsnm come implica il polinomio, la politica migliore è spesso quella di consentire la stampa in bound 515/9100 e nessuna connessione avviata dalla stampante. Ciò impedisce che una stampante con root venga utilizzata per attaccare altri dispositivi, anche se non impedisce il rooting della stampante.
@mikebabcock Tieni presente che alcune stampanti non utilizzano 9100, quindi potresti non aver bisogno di nient'altro che 515. Naturalmente, potresti anche dover consentire temporaneamente le connessioni in entrata alla porta 80 se stai modificando le impostazioni della stampante.
@Polynomial Non ero esaustivo o esclusivo, fornivo solo un esempio, ma sì. Tecnicamente, la barra indica "o" che significa 515 o 9100, non entrambi. Nel 99% dei casi per me, limito l'accesso alla porta 515 se disponibile perché fornisce comunque un protocollo migliore.
+1 per un'ottima risposta, anche se penso che tu abbia dimenticato un altro aspetto, più fisico (certamente non nell'ambito della domanda dell'OP, immagino). La maggior parte delle stampanti ha dischi rigidi, a cui è possibile accedere tramite le interfacce di input o semplicemente rimossi e rubati. Perché preoccuparsi di ascoltare le comunicazioni della stampante quando puoi semplicemente lasciarlo riposare per alcune settimane e prendere l'intero disco per ottenere tutti i documenti memorizzati nella cache? Semplice.
@haylem Non direi che * la maggior parte * delle stampanti li ha. La maggior parte di quelli che trovo non ha una memoria non volatile al di fuori della piccola EEPROM utilizzata per memorizzare le impostazioni e il firmware, che di solito è saldato sulla scheda. Le fotocopiatrici più moderne tendono ad avere un piccolo disco rigido (almeno 5 GB di solito) o una EEPROM molto più grande che memorizza il filesystem montato.
@Polynomial: Direi che la maggior parte delle stampanti * da ufficio * li hanno però. Forse però faccio un'ipotesi sulle dimensioni degli uffici.
@haylem La maggior parte delle nostre stampanti "da ufficio" sono solo stampanti laser o inkjet standard pronte per l'uso, quindi non sono esattamente hardcore. Tuttavia, abbiamo una fotocopiatrice con memoria interna.
Ho voglia di gettare la mia stampante dalla finestra dopo aver letto questo.
+1 per "* serio * divertimento".Una volta ho sentito la storia di una stampante che aveva un bug in cui i rulli giravano al massimo numero di giri e incendiavano la polvere di carta + carta nella macchina, provocando un incendio.Se è possibile modificare il firmware, è plausibile che ciò avvenga intenzionalmente.
#2
+16
GdD
2012-11-06 23:12:54 UTC
view on stackexchange narkive permalink

Il problema principale qui è che la stampante è accessibile dall'esterno della rete. Non ho mai visto una situazione in cui le stampanti devono essere accessibili dall'esterno di una rete, e intendo mai! Ti suggerisco di risolverlo con urgenza!

Le stampanti hanno molto di più di quanto la maggior parte delle persone si renda conto, ma i rischi possono essere gestiti tenendoli aggiornati, disattivando opzioni non sicure come http e cambiando l'amministratore Le password.

Questo vale anche per i server di stampa, che hanno l'abitudine di essere accessibili dal web.
#3
+8
ewanm89
2012-11-06 22:58:35 UTC
view on stackexchange narkive permalink

Spesso le stampanti mantengono i registri dei documenti stampati, a volte contenenti copie dei documenti stessi che possono essere scaricati in remoto. Anche se i documenti stessi non sono metadati sensibili a volte possono trapelare informazioni come il nome del file server, il computer da cui è stato inviato, il nome utente ...

#4
+6
AJ Henderson
2012-11-06 22:53:32 UTC
view on stackexchange narkive permalink

In genere le stampanti rappresentano il rischio invisibile e assoluto in molte reti. Tendiamo a non considerarli come computer, ma il fatto è che quasi tutte le moderne stampanti di rete hanno un server di stampa abbastanza elaborato, che spesso esegue una qualche forma di Linux incorporato, e molto spesso con pochissima attenzione alla sicurezza. Dal momento che hanno un microcontrollore in piena regola, è teoricamente possibile che quasi tutti gli attacchi che potrebbero essere effettuati con un computer o un jack di rete aperto sulla rete possano essere eseguiti anche dalla stampante.

Avvicinandomi a una stampante collegata direttamente al web, vorrei prima chiedere perché ha bisogno di risiedere lì invece di passare attraverso qualche altro tipo di servizio di stampa per richiedere che i documenti vengano accodati. Se c'è una ragione convincente per cui vive all'esterno della tua rete, c'è una ragione per cui deve essere consentito all'interno? Se è disponibile su Internet, gli utenti interni potrebbero connettersi tramite Internet proprio come potrebbe fare qualcuno al di fuori della rete. Ciò potrebbe fornire anche un certo isolamento.

#5
+3
ixe013
2012-11-06 22:39:11 UTC
view on stackexchange narkive permalink

È un punto di attacco, quindi sì, aumenta la superficie di attacco della tua rete. Questo punto potrebbe essere utilizzato per accedere a un'altra pagina Web interna. Forse la tua stampante ha credenziali di rete che potresti rubare o riprodurre, ecc.

Un semplice attacco a una stampante è cambiare la sua configurazione per salvare i documenti stampati o scansionati / faxati localmente e recuperarli in seguito. La stampante in sé è irrilevante, sono i dati a cui ti dà accesso che contano.

È probabile che le porte HTTP (S) ti forniscano una pagina web con una finestra VNC implementata come applet Java ( la nostra stampante Lexmark lo fa). Anche se la stampante fisica ci richiede di presentare il nostro badge di accesso, una connessione VNC dirotterà la "sessione" di qualcuno che si trova localmente alla stampante, le credenziali e tutto il resto.

Ciò che puoi fare dipende davvero dal tipo di stampante e quanto è persistente l'attacco.

Grazie per la risposta. Ciò che descrivi è positivo per un utente malintenzionato che desidera utilizzare in modo improprio la stampante stessa. Sono particolarmente interessato a vedere come un utente malintenzionato può utilizzare la stampante come un salto per attaccare altre macchine. Questo è molto importante a questo punto.
#6
+3
rutgersmike
2012-11-07 04:16:44 UTC
view on stackexchange narkive permalink

Questa è un'implicazione fisica unica di una stampante compromessa:

http://it.slashdot.org/story/11/11/29/1752231/printers-could-be -the-next-attack-vector

Ho usato Nessus e ho scoperto che anche le stampanti con le funzionalità più basilari che troverai sulle reti domestiche hanno vuln come credenziali predefinite e porte aperte a bizzeffe.

#7
+2
DeepSpace101
2012-11-07 09:03:05 UTC
view on stackexchange narkive permalink

Sembra strano e potresti avere ragione, ma è raro che un'azienda necessiti di mantenere una stampante accessibile al di fuori del firewall E della VPN. Ora sto generalizzando, ma con una stampante "avanzata":

  • Tieni presente che una "stampante sicura" non aumenta le vendite. È probabile che ci sia uno sforzo ingegneristico minimo per proteggere la stampante all'inizio.
  • A causa di quanto sopra, è probabile che il software e il kernel siano più vecchi. cioè le loro vulnerabilità di sicurezza sono già note e pubblicate
  • Non pensarla come una "stampante", è essenzialmente un server che esegue Linux. Linux non si può applicare patch o indurire facilmente
  • È essenzialmente un ottimo punto di lancio per attacchi più sofisticati poiché questa situazione molto probabilmente infrange molte ipotesi di sicurezza fatte nell'architettura della policy di sicurezza es: password FTP ok poiché non ci sono sniffer di rete dannosi). Faking DNS => MITM => tunneling del traffico SSL all'esterno.
  • Se si tratta di uno scanner, molti dispositivi memorizzano nella cache i documenti scansionati nella cartella temporanea (analogamente alle code di stampa nel dispositivo)
#8
+1
scuzzy-delta
2012-11-07 04:17:03 UTC
view on stackexchange narkive permalink

Vorrei menzionare un aspetto diverso di questo: molti produttori di fotocopiatrici / dispositivi chiederanno di poter accedere al dispositivo da remoto come parte del loro contatto per l'assistenza. Questo porta sicuramente ad alcune aziende che consentono l'accesso direttamente al dispositivo.

Una soluzione migliore è consentire al personale di supporto esterno di connettersi solo a un host bastion e connettersi alla fotocopiatrice / dispositivo da lì.

vero .. ma costi aggiuntivi e spese generali di manutenzione.
D'accordo, ma per la maggior parte delle aziende sarebbe prudente e ragionevolmente fattibile introdurre tale misura.
In alternativa, autorizza il netblock IP del produttore e disattiva il firewall.
@Polynomial Mi sembra che anche se la stampante non è accessibile al di fuori della rete, è ancora un vettore di attacco alla rete. Potrebbe consentire più opportunità se lanci un attacco multi-hop passando attraverso la stampante. Ad esempio, un utente malintenzionato può portare un laptop e connettersi alla rete wireless (se presente) e quindi raggiungere altri luoghi tramite la stampante.
@hsnm Vero, ma le stampanti sono essenziali per la maggior parte delle aziende.


Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 3.0 con cui è distribuito.
Loading...