(I apologize for my bad English – La versione Italia è qui.)

Premise

My HP LaserJet Pro presents punctually two problems after several days without activity, the most obvious problem is the on the scanner function that will create a scansion with vertical bars of different colors over the page. The second issue involves printing, is very slow in receiving data. Both problems seem to be related to an incorrect management of RAM which leaving the printer unused for several days you go to saturate.

The customer assistance recommend to perform reset of NVRAM, but this procedure loss all configurations. It’s been over a year since my report and other users of this problem, but nothing changed. No firmware update was unfortunately released, last in February 2015, bringing even behind the failure to resolve several vulnerabilities (such as OpenSSL).

To quickly solve the problems described above, just do a manual reboot of the printer, but are always in a hurry when I happen to do a scan and detect the problem which forces me to wait further.

In the past I have checked if it was possible to perform a reboot by software, as well as to automate the process, but unfortunately the Web interface or Telnet does not have a restart function. Absurd! I found then a first procedure via FTP but did not work, the printer prints a blank page and a second procedure again via FTP by sending a custom text string. This second procedure did not generate some effect.

During the feast of Santo Stefano (26 December) my wife has different printed material for his blog and printed was evidently slow in receiving the data (going from memory I had used the printer the last time 7 days before), the first printing of 11 sheets it took about 13 minutes and after a restart printing the same material took less than two minutes.

I tried again a solution to automatically reboot and found an article in a German blog (I did not understand who the author) illustrating a procedure to be performed by running Microsoft PowerShell that uses the protocol SNMP .

$PrinterIP = "192.168.1.87"
$SNMP = New-Object -ComObject olePrn.OleSNMP
$SNMP.Open($PrinterIP, "public")
$SNMP.Set(".1.3.6.1.2.1.43.5.1.1.3.1",4)
$SNMP.Close()

For Linux/Unix you must install the SNMP package using aptitude:

sudo apt-get install snmp

and you can run the HP Printer Reboot through the terminal with the simple command:

snmpset -v 1 -c public 192.168.1.87 ".1.3.6.1.2.1.43.5.1.1.3.1" i 4

you have replace 192.168.1.87 with the IP address of your printer.

I then decided to include an automatic cron, on my home server, which at 2 am, and every 2 days I run a reboot:

0 2 */2 * * /usr/bin/snmpset -v 1 -c public 192.168.2.41 ".1.3.6.1.2.1.43.5.1.1.3.1" i 4

IT Security: Remotely Reboot Without Password

With the steps I finally solved the problem, but I found that there is no authentication request in the command that impute.

The SNMP protocol is used by multiple printers to communicate to the user/client the state in which the printer is located (in use, the document added to the queue, finished cartridge, etc.) and uses UDP port 161 for questions and answers, and UDP port 162 as the destination of the messages.

I then exposed port 161 of my printer on the Internet and its related web interface. By a external connection I run the command described above with the public IP of my VDSL connection being able to remotely reboot the printer. Yes, I restarted my printer without any authentication.

The printer displays a “Restarting …” message as it has received the restart command.

By Shodan I discover the presence of nearly 3 million devices connected to the internet with port 161 open, but they are not just printers. A more precise search locates 30248 HP device with port 161 open but also other brands like 494 device Epson, 4235 devices Exor and 541 devices Lexmark.

I did a test on a Lexmark printer connected remotely, it is also possible to restart it. I do not however carried out tests on the Epson device, Exor or other brands because I do not have. If someone has a printer of another brand and wanted to prove I can update this article with your test.

A printer Should not be exposed on the Internet, on this point I think we all agree. But producers should pay attention in the implementation of the functionality and safety of the devices they sell. An attacker could restart continuously printers on a hospital infrastructure or a large company by blocking the printing of reports or important documents.

Or just wake up in the night your friends because of the noise of the rollers of its laser printer! 😀

[UPDATE]

From the official HP forum, I learned that a Firmware was privately released that fixes the issue, inexplicably has not been made public.

The firmware is September 24, 2015 (M276_colorMFP_Series_FW_Update-20150924.exe)! The file hash are:

    • MD5: 880def824221e2ac394947ba62c35642
    • SHA1: b719e646fff20cd89ecdb40d7658aef822e7353c
    • SHA256: 00281dc29c2821b77617517b2407fc7f216db4b12fa889cfbb690d7d74c57004

Download: M276_colorMFP_Series_FW_Update-20150924.exe

I DO NOT take any responsibility for using this firmware.

(You can read the English version here)

Premessa

La ma HP LaserJet Pro presenta puntualmente due problemi se viene lasciata accesa e inutilizzata per diversi giorni, il problema più evidente è nell’utilizzo dello scanner che andrà a realizzare una scansione con barre verticali di diversi colori per tutta la pagina. Il secondo problema riguarda invece la stampa che risulta essere decisamente lenta nella fase iniziale di ricezione dati. Entrambi i problemi sembrano essere collegati ad una errata gestione della RAM la quale lasciando la stampante inutilizzata per diversi giorni si va a saturare.

L’assistenza consiglia puntualmente di fare un reset della NVRAM, reset che prevede la perdita di tutte le configurazioni. È passato oltre un anno dalla segnalazione mia e di altri utenti di questo problema, ma nulla è cambiato. Nessun aggiornamento firmware è stato purtroppo rilasciato da Febbraio 2015, portandosi dietro anche la mancata risoluzione di diverse vulnerabilità (come quelle di OpenSSL).

Per risolvere velocemente i problemi sopra descritti basta fare un riavvio manuale della stampante, ma puntualmente quando ho fretta mi capita di fare una scansione e di rilevare il problema il che mi costringe ad attendere ulteriormente.

In passato avevo già controllato se era possibile effettuare un reboot via software, così da automatizzare la procedura, ma purtroppo l’interfaccia Web o Telnet non offrono una funzione di riavvio. Assurdo! Trovai allora una prima procedura tramite FTP ma non funzionava, anzi mi stampava un foglio in bianco ed una seconda procedura sempre tramite FTP con l’invio di una stringa personalizzata di testo. Questa seconda procedura non generava alcune effetto.

Durante la festività di Santo Stefano mia moglie ha stampato diverso materiale per il suo Blog e la stampate era evidentemente lenta nel percepire i dati (andando a memoria l’avevo usata l’ultima volta 7 giorni prima), la prima stampa di 11 fogli ha impiegato circa 13 minuti e dopo un riavvio la stampa delle stesso materiale ha impiegato meno di due minuti.

Ho cercato nuovamente una soluzione per eseguire automaticamente un riavvio, scoprendo un articolo di un blog tedesco (non ho capito chi sia l’autore) che illustra una procedura funzionante da eseguire tramite Microsoft PowerShell che sfrutta il protocollo SNMP.

$PrinterIP = "192.168.1.87"
$SNMP = New-Object -ComObject olePrn.OleSNMP
$SNMP.Open($PrinterIP, "public")
$SNMP.Set(".1.3.6.1.2.1.43.5.1.1.3.1",4)
$SNMP.Close()

Per il mondo Linux/Unix è necessario installare snmp attraverso aptitude:

sudo apt-get install snmp

ed è possibile eseguire il Riavvio della Stampante HP attraverso il terminale con il semplice comando:

snmpset -v 1 -c public 192.168.1.87 ".1.3.6.1.2.1.43.5.1.1.3.1" i 4

avendo cura di sostituire 192.168.1.87 con l’indirizzo IP della propria stampante.

Ho poi deciso di inserire un cron automatico, sul mio server domestico, che alle 2 di notte e ogni 2 giorni mi esegue un riavvio:

0 2 */2 * * /usr/bin/snmpset -v 1 -c public 192.168.2.41 ".1.3.6.1.2.1.43.5.1.1.3.1" i 4

Remotely Reboot (Without Password)

Con la procedura illustrata ho finalmente risolto il problema, ma è evidente che non vi è alcuna richiesta di autenticazione nel comando che imputo.

Il protocollo SNPM viene sfruttato da molteplici stampanti per comunicare all’utente lo stato in cui si trova la stampante (in uso, documento aggiunto nella coda, cartuccia finita, ecc) e sfrutta la porta UDP 161 per le interrogazioni e le risposte, e la porta UDP 162 come destinazione dei messaggi.

Ho quindi esposto la porta 161 della mia stampante su Internet e la sua relativa interfaccia web. Da una connessione ad internet esterna ho eseguito il comando precedentemente illustrato con l’IP pubblico della mia connessione VDSL riuscendo a riavviare la stampante remotamente. Sì, ho riavviato la mia stampante senza alcuna autenticazione.

 

La stampante mostra il messaggio "Restarting..." poichè ha percepito il comando di riavvio.

La stampante mostra il messaggio “Restarting…” poichè ha percepito il comando di riavvio.

Sfruttando Shodan rivelo la presenza di quasi 3 milioni di dispositivi connessi a internet con la porta 161 aperta, ma tra di loro non troviamo solo stampanti. Affinando la ricerca rilevo 30248 device HP con la porta 161 aperta ma anche altri brand come 494 device Epson, 4235 device Exor e 541 device Lexmark.

Ho fatto un test su una stampante Lexmark connessa remotamente, anche essa è possibile riavviarla. Non ho invece effettuato test su device Epson, Exor o altre marche perché non le ho a disposizione. Se qualcuno ha una stampante di un altro brand e volesse provare aggiorno volentieri l’articolo così da creare un piccolo registro.

Una stampante non dovrebbe essere esposta su internet su questo punto credo siamo tutti concordi, ma allo stesso tempo i produttori dovrebbero prestare maggiore attenzione nell’implementazione delle funzionalità e sulla sicurezza dei dispositivi venduti. Un malintenzionato potrebbe riavviare in continuazione le stampanti di una infrastruttura ospedaliera o di una grande azienda bloccando la stampa di referti o di documenti importanti.

O semplicemente svegliare in piena notte un utente a causa del rumore dei rulli della sua stampante laser! 😀

[AGGIORNAMENTO]

Dal forum ufficiale HP apprendo che è stato rilasciato privatamente un Firmware che corregge il problema, inspiegabilmente non è stato reso pubblico.

Il firmware è del 24 Settembre 2015 (M276_colorMFP_Series_FW_Update-20150924.exe) l’hash del file sono:

  • MD5: 880def824221e2ac394947ba62c35642
  • SHA1: b719e646fff20cd89ecdb40d7658aef822e7353c
  • SHA256: 00281dc29c2821b77617517b2407fc7f216db4b12fa889cfbb690d7d74c57004

Download: M276_colorMFP_Series_FW_Update-20150924.exe

NON mi assumo alcuna responsabilità sull’uso di questo firmware.

 

Ormai il 2016 è giunto al termine, è stato un anno ricco di cambiamenti importanti sia professionalmente parlando che personalmente. Il mio ingresso nel D3Lab mi ha permesso di conoscere e approfondire tutto il mondo del Phishing e delle meccaniche che ci sono alle spalle di quel “messaggio spazzatura” che realmente alle sue spalle porta sofisticazioni, tecniche e organizzazioni malavitosi che si arricchiscono alle spalle di tante, troppe vittime.

È il momento di pensare ai buoni propositi per il 2017 ma oltre a pensarli bisogna capire come metterli in pratica 😀 e trovare il tempo!

Voglio quindi augurare a tutti voi un Felice Natale e un sereno 2017!

In collaborazione con gli amici di eLearnSecurity voglio regalarvi il PTS Barebone, tale versione Barebone comprende le slide del corso, senza lab e voucher, e da diritto ad uno sconto di 50€ sull’eventuale upgrade alle versioni Full o Elite.

 

Ho  appena rilasciato la Quinta Beta di Joomla Scan, per chi non conoscesse questo mio progetto permette di scansionare un sito internet costruito con il CMS Joomla alla ricerca dei componenti/estensioni installate.

La novità principale di questa versione è l’introduzione del Multi Threading, di default lo script esegue 10 analisi contemporanee ma il valore è ovviamente personalizzabile. Inoltre è stato aggiornato il database dei componenti e effettuati fix minori. Nello screenshot seguente potete visualizzare i benefici di una scansione effettuata con e senza Multi Threading.

Il prossimo step sarà quello di rendere personalizzabile l’User Agent e il Time Out della connessione. Successivamente verrà poi introdotta l’identificazione della versione di Joomla e la ricerca dei moduli.

JoomlaScan è rigorosamente OpenSource e disponibile sul mio repository di GitHub, qualsiasi commento e/o critica sono ben accetti!

BackBox 4 Linux Logo

Due importanti novità, la prima è che abbiamo appena rilasciato la versione 4.7 di BackBox Linux. Siamo anche la lavoro sulla BackBox 5 basata su Ubuntu 16.04 LTS ma assieme a questa versione vogliamo rinnovare completamente l’intero ecosistema di BackBox, dai servizi in Cloud che stiamo erogando principalmente alle aziende del settore di IT Security, dal Sito, la WiKi e ovviamente la distribuzione che avrà una nuova veste grafica.

BackBox 4.7 è quindi un aggiornamento minore, che porta con se tutti gli ultimi fix rilasciata da Canonical sulla TLS 14.04 e il nuovo stack del kernel allineato con xenial. Questa versione abbiamo deciso di rilasciarla per chiudere le release 4.x con una versione stabile che potrà essere sfruttata anche su un lungo periodo. Inoltre sono stati aggiornati i principali tools inclusi.

Potete scaricare la versione AMD64 o i386 di BackBox sul sito ufficiale backbox.org attraverso i mirror HTTP oppure via rete Torrent.  Se volete invece aggiornare la vostra attuale installazion sul Blog Ufficiale trovate invece i passaggi da seguire. Una donazione al progetto è ovviamente gradita 😉

L’altra novità è relativa al mio blog, come vedete OverSecurity.net è stato unito ad AndreaDraghetti.it. La scelta di fondere questi due domini l’ho decisa per parlare in un unico spazio di più tematiche come l’Elettronica e l’Informatica in generale. Over Security rimane comunque un canale attivo sui Twitter e Facebook focalizzato sui temi di IT Security.