, ,

Errori informatici da non commettere nel mondo lavorativo!

Il prossimo 25 Ottobre sarò ospite all’Università degli Studi Palermo che organizza un Seminario di Orientamento al Lavoro assieme a Calogero Bonasia e Denis Frati!

Il mio talk illustrerà ai ragazzi del Dipartimento di Matematica e Informatica quali errori informatici bisogna evitare nel mondo lavorativo e illustrare ovviamente qualche consiglio per non incappare in irrimediabili Epic Fail!

L’abstract del Talk è il seguente:

Quotidianamente il 46% della popolazione mondiale sfrutta Internet.
3,4 miliardi di persone che grazie a molteplici tecnici informatici riescono in tutta semplicità a socializzare, informarsi, giocare o lavorare.
Tecnici che hanno una grossa responsabilità sulle proprie spalle per evitare disastri che possano mettere a rischio la privacy degli utenti o dati sensibili governativi.
Partendo dal Data Leak di Ashley Madison che ha spinto diversi uomini al suicidio vedremo assieme i principali errori da non commettere nel mondo lavorativo e studieremo casi reali avvenuti negli ultimi anni.

L’evento si terrà il giorno 25/10/2017 dalle ore 14:30 alle ore 17:30 presso l’Aula 7 del Dipartimento di Matematica e Informatica, potete controllare tutti i dettagli sul Sito Ufficiale dell’Università.

Come di consueto pubblicherò le slide in questo articolo ad evento terminato 😉

[APPROFONDIMENTO] Apple verrà veramente bandita dal mercato Italiano?

In queste ultime ore sta avendo un importante rilievo mediatico la notizia che Apple potrebbe essere bannata dal commercio Italiano a causa di una nuova proposta di legge passata in sordina alla Camera e ormai prossima al Senato per essere definitivamente confermata o bocciata. La proposta di legge porta la firma di Stefano Quintarelli e ha visto un forte consenso da parte del Movimento Cinque Stelle.

La proposta di legge potete leggerla sul sito ufficiale del Senato della Repubblica, il Corriere della Sera inoltre riporta qualche voce fuori campo di Apple: “Finirà che dovremo fare un cellulare apposta per l’Italia. O bloccare i nostri!”.

Premetto che sono un utente Apple e Linux, sfrutto quotidianamente la mela morsicata per i miei device mobili e sul Desktop ho un uso promiscuo di entrambe le piattaforme. Non uso Android quotidianamente anche se ho alcuni loro device, ma per alcune caratteristiche preferisco non usarli (es. non trovo uno smartphone Android con un display da 4″ con ottime caratteristiche hardware e una garanzia sui futuri aggiornamenti del OS).

La legge è suddivisa in due commi, ma concentrerò la mia successiva analisi sul comma uno nonché il principale.

Gli utenti hanno il diritto di reperire in linea, in formato idoneo alla piattaforma tecnologica desiderata, e di utilizzare a condizioni eque e non discriminatorie software, proprietario o a sorgente aperta, contenuti e servizi leciti di loro scelta.

Questa legge viene ovunque interpretata come “blocca Apple Store” poiché imporrebbe ad Apple, ma non solo (Windows Mobile, BlackBerry?!), di permettere l’installazione di Applicazioni anche di terze parti. Ovvero come avviene nel mondo Android di poter installare AppStore alternativi (Amazon Appstore uno tra tanti) e quindi sfruttare essi in alternativa a Google Play Store. Tecnicamente significa permette, almeno in Android, di acconsentire l’installazione di applicazioni non certificate da Google. Applicazioni che sono, ancora ad oggi, veicolo di malware, trojan o spyware.

Attualmente nel mondo Apple è possibile installare applicazioni che non provengono dall’Apple Store? Sì, avete letto bene. Sì!

Escludendo la pratica non ortodossa e facile del JailBreak, esistono le WebApp. Applicazioni che si basano esclusivamente su contenuti Web si installano con due semplici click, oppure Apple offre il Developer Enterprise Program in cui una App sviluppata per iOS può essere distribuita tramite canali alternativi a patto di includere un certificato a garanzia dello sviluppatore.

Vi sono però dei limiti, che non garantiscono l’equità voluta dalla normativa proposta, ad esempio le WebApp non posso inviare notifiche Push ed entrambe le proposte e non posso accedere ai servizi iCloud.

La seconda parte del primo comma riporta:

Gli utenti hanno il diritto di disinstallare software e di rimuovere contenuti che non siano di loro interesse dai propri dispositivi, salvo che tali software siano previsti come obbligatori da norme imperative o siano essenziali per l’operatività o per la sicurezza del dispositivo, delle reti pubbliche di comunicazioni alle quali si connette o dei dati gestiti dal dispositivo. È comunque vietata ogni disinstallazione effettuata al solo fine di consentire al dispositivo di funzionare in violazione di norme imperative.

Questa seconda parte i dispositivi Apple già la offrono, possono certamente migliorare, ma anche altre piattaforme possono farlo. È importante garantire all’utente di poter rimuovere applicazioni inutili, magari imposte da un operatore di telefonia conservando però l’integrità delle applicazioni necessarie per il corretto utilizzo del telefono.

Concludendo, personalmente non condivido la scelta fatta da Stefano di proporre questa legge. La storia tecnologica ci insegna che aprire un Sistema Operativo a software di terzi parti porta ad un incremento di Malware, Trojan, ecc. Apple è una azienda privata, non monopolista, che offre un prodotto con caratteristiche ben note. Certamente vulnerabile, ma ha punti di forza che il consumatore ama, un controllo maggiore sulle Applicazioni, un attenzione scrupolosa sugli Aggiornamenti e anche sulla Sicurezza dei Dati degli utenti.

Ora perché costringere una azienda privata a cambiare le carte in tavola con la probabile conseguenza di perdere consumatori e quindi vendite? Personalmente comprerei la versione di iOS non “italianizzata” a discapito del nostro erario o opterei per altre piattaforme (sì, sarei in seria difficoltà dopo aver usato Ubuntu Phone per oltre un anno anche questo progetto è terminato).

Se un altro utente non condivide la chiusura di Apple ha sul mercato una alternativa molto più aperta (magari anche con un Trojan di stato preinstallato) come Android!

Non capisco perché lo stato debba imporre delle linee guide che non vanno affatto verso un beneficio di sicurezza dell’utente ma forse, sì forse, portano un solo beneficio economico.

Non sarebbe più opportuno, proprio ai fini di sicurezza, imporre ai produttori di aggiornare i propri device più frequentemente con l’ultima release di Android disponibile o perlomeno con l’ultimo pacchetto di aggiornamenti di sicurezza?

No, non concludo! Mentre scrivevo questo articolo ieri sera (voi lo leggete con un giorno di ritardo) Stefano ha rilasciato una dichiarazione alla redazione di iSpazio che vi riporto:

La proposta di legge nasce nel 2014, ed è stata approvata alla Camera all’unanimità. Ha quindi ricevuto riscontro positivo dalla maggioranza del Governo, ha passato tutte le commissioni al Senato ed il mese scorso ne è stata disposta la trattazione in aula a Giugno. E’ inutile dire che il M5S sia maggiormente coinvolto rispetto ad altri perché la proposta è piaciuta a tutti e questo lo si può leggere dal verbale.

La prima parte del disegno di legge disciplina la non discriminazione del traffico in rete. Qualcuno ritiene che non si dovrebbe intervenire con una norma nazionale quando c’è un regolamento UE (che nel percorso di iter della mia pdl e’ stato nel frattempo approvato ed e’ abbastanza notevole quanto i principi contenuti siano sovrapponibili), ma il Regolamento 2015/2120 prevede espressamente interventi del legislatore nazionale, come questo. Il Regolamento al considerando 7 recita: “Le autorità nazionali di regolamentazione e le altre autorità nazionali competenti dovrebbero essere autorizzate ad intervenire contro accordi o pratiche commerciali che, in virtù della loro portata, determinano situazioni in cui la scelta degli utenti finali è significativamente limitata nella pratica.”

Come è evidente dal tipo di apparato sanzionatorio presente nella mia PDL all’art. 6, l’unica conseguenza delle violazioni delle disposizioni li’ previste è proprio un intervento delle Autorità nazionali (AGCOM/AGCM) con un’istruttoria a tutela dell’utenza in situazioni come quelle descritte e, pertanto, non c’è alcuna sovrapposizione o violazione del diritto comunitario, né incertezza giuridica poiché risulta chiaro che il fine della norma nazionale è diverso e complementare a quello del Regolamento UE.

Peraltro, la Corte di Giustizia UE (sentenza 22/1977 causa 50/66 Amsterdam Bulb) ha stabilito l’illegittimità di una norma nazionale che riproduca disposizioni di un Regolamento UE, solamente laddove essa “nasconda agli amministrati la natura comunitaria di una norma giuridica e gli effetti che ne derivano”, cosa che evidentemente nella mia PDL non è, dato che il Regolamento 2015/2120 e’ espressamente richiamato ed avendo le Autorità competenze e poteri anche di applicazione del diritto comunitario.

Oltre alla non discriminazione del traffico, nella stessa proposta di legge si introduce una previsione di non discriminazione da parte delle piattaforme.

Questa vuole prevenire discriminazioni, ovvero che non possano essere esclusi soggetti dal mercato con comportamenti discriminatori. Se una cosa è discriminatoria o meno lo valuterà caso per caso l’Autorità Garante della concorrenza e del mercato.

Perché scatti una sanzione devono essere presenti due situazioni in AND:

  • Impossibilità di installare/disinstallare applicazioni
    AND
  • danno ai consumatori

Se ciò accade, si applica il codice del consumo; in pratica, una strada più veloce ed economica per chiedere giustizia rispetto alla normale disciplina antitrust.

 

Ora le carte cambiano completamente, personalmente interpreto queste nuove dichiarazioni di Stefano come una tutela al consumatore il quale abbia acquistato un device Apple per installare un determinato software ma l’utilizzo di esso è venuto successivamente a mancare causa di restrizioni imposte da Apple. Mi viene in mente un esempio, vi ricordate quando Apple non voleva approvare un aggiornamento dell’applicazione per gli Smartwatch Pebble causa concorrenza diretta con Apple Watch? O che ancora ad oggi non permetta di installare applicazioni che controllino Transmission causa possibile utilizzo illecito (anche se io la uso per controllare la distribuzione della nostra BackBox Linux)?

Concludo, seriamente, con la speranza di vedere nel Blog di Stefano o del gruppo politico che rappresenta (Civici e Innovatori) un articolo esaustivo su questa proposta di legge che probabilmente è stata mal interpretata dalla stampa e forse anche da altri gruppi politici. Personalmente ammiro molto il lavoro dei Civici e Innovatori e gli ho sostenuti in passato anche in alcune battaglie (es. il consumatore è libero di installare il modem xDSL che preferisce) poiché trattano spesso e con forte conoscenza temi digitali.

Voi cosa ne pensate?

, ,

QNAP: Restore Samba (SMB) functioning

Recently I changed my QNAP, moving from an old 32bit model to a recent 64bit. The new NAS enabled me to install the 4.3.x firmware that introduces many new features and use 64-bit computing.

The migration occurred in conjunction with Wannacry (found on Homelab blog an article on how to exploit this vulnerability on NAS QNAP) and on my NAS was no longer running Samba (SMB). I don’t know if it is due to the wannacry patch or NAS/Firmware change. But Samba did not go anymore! Several people on the official QNAP forum complain about the same problem.

I solved by connecting via SSH to the NAS and editing the Samba configuration file. A small guide…

$ smb2status

smbd (samba daemon) Version 3.6.25
smbd (samba daemon) is not running.
max protocol SMB 2.1 enabled.

By typing the smb2status command, in output I had “smbd is not running” even if the WEB interface was correctly active.

$ mv /etc/config/smb.conf /etc/config/smb.conf.old

I did a backup copy of the Samba configuration file and saved it in smb.conf.old. Then I read the default configuration file:

$ cat /etc/default_config/smb.conf

Copy the contents of this file locally, in the text editor you prefer, then read the old configuration file:

$ cat /etc/config/smb.conf.old

Immediately after the Global Statement ([GLOBAL] … …) you will find the specifications of each of your shared folders, just copy this contents on your local text file.

You will then have a file composed of [GLOBAL] variable coming from the default file and then the variables of each of your shared folders coming from the old file. Example:

[global]

[Multimedia]
….

[Download]

[Web]

[Public]
….

Now you have to recreate the configuration file by copying inside it the newly built text:

$ rm /etc/config/smb.conf

$ vi /etc/config/smb.conf

Once the new Samba configuration file is pasted, we restart Samba.

$ /etc/init.d/smb.sh restart

After the reboot has finished, try typing smb2status again and it should be ok:

$ smb2status

smbd (samba daemon) Version 4.4.14
smbd (samba daemon) is running.
max protocol SMB 3.0 enabled.

, ,

Install ProxMox on Hetzner Dedicated Server

In this short article I want to explain to you an alternative method to install ProxMox on a dedicated server purchased on Hetzner.

Hetzner, I consider him one of the best European providers, does not offer a KVM free on his servers. So the installation phase of an operating system may be limiting, not having a graphical interface.

To install ProxMox I’ve hitherto followed Hetzner official guides, that is, installing a Debian machine, adding ProxMox repositories, and installing packages.

But I’ve always had trouble configuring the FileSystem ZFS, LVM, etc etc.

These aspects are much easier to handle using the official ISO of ProxMox and the GUI that follows you step by step in the installation.

So you can leverage the official ISO and GUI? Yes, it is possible 🙂 follow these steps:

  1. Start your machine in rescue mode with Linux 64bit;
  2. Connect to your dedicated server via SSH;
  3. Install QEMU ($ apt-get install qemu);
  4. Download ProxMox ISO (Select last ISO image on https://www.proxmox.com/en/downloads) and save locally in proxmox.iso file;
  5. Start QEMU Emulator ($ qemu-system-x86_64 -m 1024 -hda /dev/sda -hdb /dev/sdb -cdrom proxmox.iso -boot d -vnc :0);
  6. Connect via VNC to your server port 5900, and follow the installation procedure;
  7. Reboot rescue system.

Ok, now the system is installed;) Simple!

Two more tips, Repository and Let’s Encrypt!

ProxMox releases two types of repository, free and paid. If you want to use the free ones you have to change the source list.

Open the file /etc/apt/sources.list.d/pve-install-repo.list and remove or edit the content that should be:

deb http://download.proxmox.com/debian jessie pve-no-subscription

Currently, debian main distribution is Jessie, when it’s updated (es. Stretch), you’ll need to refresh the indication.

Finally I recommend using a valid SSL certificate to connect to the ProxMox Web GUI, on official wiki site there is a great guide!

 

,

Install Root & Intermediate Certificate Bundles on QNAP!

Unfortunately QNAP does not have Root and Intermediate Certificate Bundles, which means that no system software (such as Curl or Wget) can easily access SSL sites.

The following guide, taken partially by Stefan Wienert, allows you to install the complete bundled root certificates.

Connect via SSH to your QNAP NAS and type the following commands:

# cd /share/
# curl https://curl.haxx.se/ca/cacert.pem -O -k
# mkdir certs
# cat cacert.pem | awk 'split_after==1{n++;split_after=0} /-----END CERTIFICATE-----/ {split_after=1} {print > "certs/cert" n ".pem”}'
# cd certs
# for filename in cert*pem;do mv $filename `openssl x509 -hash -noout -in $filename`.0; done;
# cp *.0 /etc/ssl/certs/

I’ve tried in QTOS 4.2.x firmware released in May 2017 and it works perfectly.

 

Facebook Post Manager: Rimuoviamo automaticamente i vecchi messaggi!

Facebook è oramai diventato uno degli strumenti principali per comunicare su Internet, personalmente ho iniziato ad usarlo 10 anni fa nel 2008 e da allora ho pubblicato una media di due aggiornamenti al giorno regalando a Mark oltre Settemila miei pensieri e stati d’animo! Circa due settimane fa a seguito di un “ricordo” che Facebook mi ha mostrato di mattina ho deciso di scorrere i mie post più vecchi riscoprendo messaggi e interazioni con persone che avevo dimenticato, ma anche ex fidanzate, amici ecc ecc. Alcuni eventi me li ero completamente dimenticati ma ancor più grave avevo stupidamente pubblicato sentimenti importanti del mio passato ma legati ad avvenimenti privati che ancora oggi ricordo. No, questa cosa non mi piaceva affatto. Volevo eliminarli o per lo meno non rendere più questi ricordi pubblici e accessibili a chiunque.

In passato per una attività lavorativa avevo ripulito un intero profilo Facebook tramite Firefox, Greasemonkey e un plugin integrabile in quest’ultimo. Ma gli anni sono passati il plugin non è più supportato e non più funzionante. Con Firefox non ho trovato alternative, ma ho trovato un ottimo plugin installabile in Google Chrome.

Il plugin è Facebook Post Manager, recentemente rinominato in F___book Post Manager e poi in Social Book Post Manager, a causa di motivi legali per l’utilizzo del nome Facebook, è possibile scaricare il plugin ed installarlo direttamente dal Browser Chrome attraverso questo link. Il suo funzionamento è molto semplice, bisognerà recarsi nel proprio Registro Attività selezionare il contenuto da visualizzare e poi rimuovere tramite il menu a sinistra (I Tuoi post, Post in cui sei taggato, post di altri, ecc ecc) e poi attivare il plugin dall’icona in alto a destra.

Facebook Post Manager permette quindi di eliminare automaticamente o nascondere vecchi messaggi/post, i Mi Piace o rimuovere automaticamente i tag dai post degli amici. Basterà indicare il periodo in cui si vuole agire e il plugin procederà alla rimozione automatica. Per eliminare i settemila post che ho scritto dal 2008 al 2016 ha impiegato un paio di ore, procede assolutamente in automatico e si può lasciare il PC accesso finché il processo non è completato.

È un altra soluzione, più radicale, è quella condotta da Simone (Evilsocket) che ha recentemente eliminato il suo profilo Facebook spiegando le motivazioni su Medium. Personalmente ad oggi sarei più tentato di eliminarmi da WhatsApp che uso pochissimo e per un solo gruppo composto da vecchi amici, che certamente non mi seguirebbero su altre piattaforme.

,

[AGGIORNATO] TVHeadend: Script Guida TV

Uno screenshot dell’applicazione TvhClient per iOS con la guida TV.

Gli amici che mi seguono sui Social sanno che in questi giorni sto configurando il mio Intel Nuc Skull Canyon che progressivamente sostituirà il mio “cluster” di Raspberry Pi sfruttati per lavoro e per hobby. Uno dei raspi era configurato con TVHeadend, un software Open Source per visionare la TV o ascoltare la radio in streaming sfruttando il proprio impianto televisivo di casa o una antenna esterna.

La programmazione dei canali inviata tramite le frequenze DVB-T è molto carente, si limita al massimo alle successive 24h ma è facile trovare emettitori che rilasciano informazioni molto più brevi nell’arco delle 3h o che non la rilasciano proprio. Questo non permette di impostare una registrazione automatica dei canali.

Sfruttando invece i dati offerti dalla comunità VuPlus è possibile ottenere una guida TV più ampia, VuPlus offre la programmazione per diversi paesi ed è quindi possibile personalizzare il mio script con l’archivio desiderato.

Mi sono basato su un precedente script creato da Mathias F. Svendsen e l’ho personalizzato per le mie esigenze includendo miglioramenti complessivi nel codice. Per attivare/installare lo script procedete come segue:

  • Copia lo script in /usr/bin/tv_grab_url
  • Assegnare i permessi 777 a tv_grab_url (chmod 777 tv_grab_url)
  • Riavviare TVheadend (/etc/init.d/tvheadend restart)
  • Dalla WebGUI accedere al pannello Configuration > Channel > EPG Grabber > Internal Grabber > selezionare: XMLTV: TV Grab by URL > Save

In maniera predefinita TVHeadend eseguirà il download dei dati due volte al giorno, alle 00:04 e 12:04. In alcuni casi è possibile che il file XML scaricato dallo script contenga dei nomi TV leggermente diversi rispetto a quelli acquisiti dal vostro ricevitore TV e pertanto dovrete fare una associazione manuale dalle impostazioni della WebGUI di TVHeadend.

Il mio script è disponibile su GitHub, ogni collaborazione è ovviamente ben accetta.

[LISTE AGGIORNATE AL 6 Ottobre 2017]

Vi lascio infine l’estratto di tutte le Guide TV Italiane offerte da VuPlus in formato XMLTV:

  • http://www.vuplus-community.net/rytec/rytecIT_Basic.gz
  • http://www.vuplus-community.net/rytec/rytecIT_Sky.gz
  • http://www.vuplus-community.net/rytec/rytecIT_SportMovies.gz

 

,

FOPO PHP Deobfuscator

FOPO  è probabilmente uno dei migliori progetti online e gratuiti di offuscamento del codice PHP, oltre a sfruttare le principali tecniche di offuscamento (base64, gzip, ecc) ciclandole più volte genera un hash md5 del codice e ad ogni esecuzione ne esegue una verifica. Se l’hash del file è diverso da quello iniziale non procede all’interpretazione del codice PHP, questa tecnica limita una procecuda manuale di decodifica.

Personamente ho sempre decodificato a mano questi codici PHP ma visto il crescente numero di script da decodificare la scorsa settimana ho iniziato a gettare le basi di uno script in Python per automatizzare la procedura quando ho trovato un progetto già sviluppato su GitHub creato da Antelox del team QueQuero.

Personalmente ho apportato allo script una semplice modifica per rendere lo script adatto agli offuscamenti antecedenti al 2016, modifica che Antelox ha poi apportato anche al decoder online basato su PHP.

Nell’immagine di apertura potete vedere un esempio di un semplice codice offuscato e poi deoffuscato, un semplice echo contenente la dicitura “Hello By Andrea Draghetti”.

Per chi volesse clonare il progetto il GIT è il seguente: https://github.com/Antelox/FOPO-PHP-Deobfuscator.git e potete utilizzare la versione 0.21 dello script.

,

FibraClick Scanner: Notifiche sullo stato della copertura in Fibra

Fibra Click Scanner è un nuovo progetto che ho voluto realizzare per ricevere automaticamente le notifiche sullo stato di attivazione (ma non solo) del cabinet a cui sono collegato con la mia connessione a internet TIM. L’applicazione analizza i dati forniti dal portale FibraClick e qualora il cabinet indicato risultasse variato (Attivato, Cambio Pianificazione, Saturo, ecc) rispetto alla precedente analisi viene inviata una notifica Push allo Smartphone o Tablet attraverso i servizi offerti da PushOver.

FibraClick è un noto portale che permette di monitorare l’attivazione della Fibra (VDSL/FTTC) TIM nel proprio comune, per utilizzare lo scanner bisognerà indicare anche l’ONU di appartenenza ovvero il numero scritto in nero con sfondo giallo sul cabinet che trovate nelle vicinanze della vostra abitazione. Se non riuscite o non conoscete il numero del vostro cabinet su internet trovate diverse guide su come ottenerlo.

Grazie a questo scanner non dovrò visitare il sito con costanza ma ad ogni variazione riceverò una semplice notifica sul mio smartphone come da immagine di apertura.

Il software è OpenSource e potete scaricarlo tramite GitHub, la configurazione è veramente semplice e potete trovare tutti i dettagli nel file README.

 

, ,

[English Version] Remotely reboot of HP and other printers!

(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! 😀