Une vulnérabilité qui génère un ras de marée sur les serveurs linux
Comme la faille HeartBleed qui touchait le ssl, une nouvelle vulnérabilité "ShellShock "vient de voir le jour d'autant plus grave, elle concerne bash, qui est entre guillemet le moteur qui execute vos commandes.
A priori, on peut déclarer des instructions en mémoire, et dès lors qu'on appel bash après, hop les instructions sont exécutés.
Bash, ou Bourne-Again Shell, correspond au programme qui lit et exécute les commandes que vous saisissez dans la console.
Bash et votre système d'exploitation conservent un ensemble de variables dites d'environnement, qui décrivent le contexte dans lequel vous évoluez : où se trouvent les programmes que vous pouvez utiliser, votre session, etc.
Grâce à cette faille, un pirate peut exploiter ces variables d'environnement pour exécuter du code malveillant.
#le Pirate envoi au serveur X = "() { :;} echo " Oui tu es Vulnérable"; #la Victime envoi au serveur echo "Suis-je vulnérable ?"; #Le Serveur exécute : X = "() { :;} echo " Oui tu es Vulnérable"; bash -c "echo 'Suis-je vulnérable ?'"; #Enfin le résultat qui s'affiche est : Suis-je vulnérable ? Oui tu es vulnérable |
Comme vous pouvez le constater dans cette exemple, dans un premier temps on load une instruction (en tant que pirate) et on imagine qu'un administrateur passe par derrière et envois une instruction, hop les 2 instructions sont exécuté, et le pire est dans le cas ou la victime est connecté en root ...
Vous pouvez vérifier si vous êtes vulnérable avec ce code :
x='() { :;}; echo vulnerable' bash -c "echo ceci est un test"
Si vous êtes vulnérable le résultat qui devrait apparaître est :
vulnerable ceci est un test
Dans le meilleurs des mondes je vous invite à mettre à jour votre version de bash :
- apt-get update
- apt-get install --only-upgrade bash