Shellshock Bug verifichiamo il nostro sistema

Shellshock Bug

Shellshock Bug

I ricercatori di Red Hat hanno recentemente segnalato un particolare bug denominato “Shellshock” presente nella Shell che potrebbe mettere in serio pericolo milioni di sistemi Linux. A quanto pare questo bug potrebbe essere utilizzato da utenti malintenzionati per poter operare sul sistema operativo.

Shellshock pare sia un exploit molto più pericoloso di Heartbleed, che avrebbe potuto mettere letteralmente in ginocchio la maggioranza dei web server esistenti, perché permette di prendere il pieno controllo della macchina, non importa quale, ed eseguire del codice (ottenendo tutti i permessi d’amministrazione).

Cos’è e come funziona Shellshock?  In pratica, è una vulnerabilità del terminale, che gli utenti di Windows conoscono meglio come Prompt dei comandi,  che espone all’attacco una serie di servizi, da Apache al DHCP dei router ecc… Se la versione di BASH installata è afflitta dal bug, un malintenzionato potrebbe eseguire da remoto una serie d’operazioni, che spaziano dai comandi CGI ai demoni avviati in automatico dal sistema operativo. Significa che, senza una patch ad hoc chiunque potrebbe prendere possesso dei server.

Non è però ben chiaro come questi possano accederne dato che effettuare modifiche nel sistema, installazione di software ecc vengono richiesti i permessi di root. Da notare inoltre che Red Hat e le principali distribuzioni Linux hanno già risolto il bug, basterà quindi aggiornare la distribuzione o server Linux per risolvere questo problema.

Possiamo facilmente verificare se il nostro sistema operativo è o meno  “infetto” da Shellshock.

Basta semplicemente avviare il terminale e digitare:

env x='() { :;}; echo vulnerable' bash -c "echo this is a test"

se avremo come risultato:

vulnerable
this is a test

vuol dire che nel nostro sistema è presente il bug Shellshock in bash

se invece abbiamo come risultato

this is a test

possiamo star tranquilli.

Per risolvere il problema bastera’ semplicemente aggiornare la Bash digitando da terminale:

Per Debian, Ubuntu e derivate:

sudo apt-get update
sudo apt-get install bash

Per Fedora, CentOS, Red Hat e derivate:

sudo yum install bash

Per openSUSE e derivate:

sudo zypper install bash

Per Arch Linux e derivate, Chakra, Manjaro ecc:

sudo pacman -Sy bash

Al termine bastera’ rilanciare il comando di verifica, ed ecco risolto il problema di Shellshock.

 

#ShellshockBugVerifichiamo

A volte basta poco !

Ovvero fare un CHROOT dentro un sistema non funzionante !

Prima di continuare la panoramica dei tool salva filesystem/files volevo aggiungere che in alcuni casi quello che ci serve e che ci puo’ bastare e’ gia sotto il nostro naso, li pronto per riparare il nostro Linux e si trova gia’ dentro il sistema, sto parlando di chroot. Poniamo il caso che vi accorgiate di un mal funzionamento in cui forse avete danneggiato il boot loader (GRUB) , oppure avete cancellato per errore qualche pacchetto/libreria importante, la cui mancanza impedisce  l’avvio di Linux. In questi ed in altri casi simili si puo’ provare a ricorrere proprio a “chroot” che potete trovare su qualunque distro su cui stiate lavorando o studiando; CHROOT vi dara’ accesso , come utente root, ad un sistema, ad esempio, che non si avvia.

Usandolo potrete fare il boot da una LiveCD e successivamente eseguire qualsiasi programma come se aveste fatto un normale boot. Per testare questa opzione avviate il vostro pc con la LiveCD, aprite un terminale e diventate l’utente root ( su – ). Poi ipotizzando che il vostro Linux, che non si avvia, sia installato su ” / “eseguiamo i seguenti comandi :

  • con il comando mount scoprite qual’e’ la vostra partizione di root, la mia e’ /dev/sdd1
  • /$ mkdir /mnt/guasto
  • /$ mount /dev/sdd1 /mnt/guasto
  • /$ chroot /mnt/guasto

da questo momento in avanti, tutti i comandi che impartirete al sistema avranno effetto sulla vostra installazione di Linux e non sulla LiveCD, quindi anche qualunque file andrete a modificare sara’ riferito al vostro sistema.

A questo punto per ultimare l’esempio e riparare il boot loader potremo decidere di riconfigurare GRUB nell’MBR (Master Boot Record) eseguendo update-grub .

Una volta ultimata questa fase per uscire dall’ambiente shell di chroot bastera’ digitare exit, saremo quindi pronti per testare il funzionamento del boot riparato sul nostro sistema originario effettuando un reboot del PC ed estraendo il supporto che contiene la nostra LiveCD.

** Leggi anche ( ” linux rescue file system ” )