La nouvelle crée la frayeur depuis peu dans la scène Tech, particulièrement chez les Spécialistes en Sécurité de l’Information et les Administrateurs d’Infrastructures. Sous le nom de code “Shellshock”, cette faille affecte l’interpréteur de commande Bash (Bourne Again SHell) embarqué sur les systèmes Linux, Unix et sous Mac OSX aussi. Certaines versions de shell limités comme Busybox pourraient ne pas être affectées, mais cela reste encore à confirmer. Elle permet à un utilisateur distant (potentiellement malveillant) d’exécuter des actions aléatoires (donc à son gré) dans le shell de l’utilisateur.

Au moment d’édition de cet article, il n’existe pas encore de correctif complet face à ce bug. Toutefois, les Dev des principales distributions Linux/Unix et du programme incriminé ont déjà proposé des correctifs partiels que je vous invite vivement à appliquer en faisant une mise à jour de votre Système d’Exploitation et du programme “bash”.

shellshock-bug

Un ver informatique exploitant cette faille de sécurité pour créer un botnet été découvert  et selon FireEye, l’impact de ce bug couvrirait environ 20 à 50 % des serveurs web de part l’Internet (pour ne citer que le coté “web”). Notons sous les OS Windows, le bug affecte uniquement les hôtes sur lesquels un interpréteur bash (via Cygwin par exemple) à été installé. De plus, outre l’exécution des script CGI (pour les services web), d’autres services réseaux comme le DHCP et SSH peuvent être utilisés comme canal pour prendre le contrôle d’un hôte présentant cette faille.

Coté détection d’incidents de Sécurité (IDS), quelques scripts de Bro sont déjà disponibles permettant de détecter les tentatives d’exploitation de la faille sur vos assets et par la suite les bloquer par la suite.

Une recherche sur Twitter avec les hashtags #Shellshock et #bashbug vous permettra de rester informés des dernières évolutions concernant cette faille et ses divers aspects.

La faille : *CVE-2014-6271 *

Systèmes d’exploitation cibles : Linux, Unix et Mac OS X

Portée : Exploitation de l’hôte vulnérable à distance via des requêtes forgées, pas besoin d’accès physique.

Correctifs à Déployer : Mise à jour de l’OS et de l’application bash

Détecter les hôtes portant la faille : basiquement, il suffit d’exécuter la ligne de script bash suivante sur un hôte (sans les << et >>) :

<< “env x='() { :;}; echo vulnerable’ bash -c “echo this is a test” >>.
Si votre hôte est vulnérable, le message suivant s’affichera :
<< vulnerable
*
this is a test*  >>.
Sinon, vous obtiendrez plutôt :

<<  bash: warning: x: ignoring function definition attempt
*
*
bash: error importing function definition for `x’
this is a test** >>.
De plus quelques Scanners de Vulnérabilités du marché ont été mis à jour pour la détecter.

Mise à Jour 1 du 26 Sept. : Une autre version du même bug reférencée sous le nom de code “Shellshock 2” (CVE-7169 ) a fait son apparition et de ce fait, il est important d’appliquer de nouveau les correctifs de sécurité publiés pour cette dernière. Plus de détails par ici :

Pic Shellshock 2 by @bortzmeyer

Liens utiles :

[ErrataRob] http://blog.erratasec.com/2014/09/bash-shellshock-bug-is-wormable.html [Troyhunt] http://www.troyhunt.com/2014/09/everything-you-need-to-know-about.html

[LinuxFR] https://linuxfr.org/users/tankey/journaux/mets-a-jour-ton-bash-maintenant 

[Shellshock Worm] http://www.kernelmode.info/forum/viewtopic.php?f=16&t=3505

[Rapid7] https://community.rapid7.com/community/infosec/blog/2014/09/25/bash-ing-into-your-network-investigating-cve-2014-6271 

[Exploitation] Avec Metasploit Framework