Shellshock es una vulnerabilidad que se ha descubierto en los sistemas derivados de Unix, lo que incluye a OS X y Linux. Es parecida a Heartbleed, la vulnerabilidad de Open/SSL que nos aterró a todos hace unos meses y que a día de hoy, sigue sin haber sido parcheada en miles de sistemas. Sin embargo, según algunos expertos, Shellshock puede ser mucho más peligroso y lo peor de todo, existe desde hace dos décadas.
"Este problema es especialmente peligroso, ya que hay múltiples formas de que Bash sea llamada por una aplicación" - Consultoría de seguridad de Red Hat.</q class=alignleft>
Esta vulnerabilidad de seguridad en la GNU Bourne Again Shell (Bash, la shell usada por defecto en multitud de distribuciones Linux y sistemas Unix, podría dejar a dichos sistemas en peligro bajo ciertos determinados tipos de ataques. Ha sido bautizada con el nombre de Shellshock por Robert Graham, un investigador de seguridad, y parece que ha calado hondo, pero el nombre oficial de este Bug es "CVE-2014-6271: remote code execution through bash (ejecución de código remotamente mediante Bash)".
Este error, descubierto por Stephane Schazelas el miércoles 24 de septiembre del 2014, está relacionado con la forma en la que Bash procesa las variables de entorno que le son pasadas del sistema operativo o por un programa que llame a un script basado en Bash. Si Bash ha sido configurada como la shell por defecto del sistema, puede ser usada por atacantes contra servidores vía peticiones web, sesiones telnet o por cualquier otro programa que use Bash para ejecutar scripts.
Los peligros de Shellshock
I think I was wrong saying #shellshock was as big as #heartbleed. It's bigger.
— Robert Graham (@ErrataRob) septiembre 25, 2014
Esta seria vulnerabilidad permite que un servidor al que se accede remotamente pueda ser controlado mediante un simple script, saltándose toda la seguridad. En el siguiente enlace se muestran las versiones de Bash que pueden verse afectadas. Además, podemos ver las razones por las que se ha calificado a esta falla en la seguridad con una peligrosidad de 10 sobre 10 (CVSS Severity 10/10).
Lo más importante que debéis saber es que este fallo deja a merced de ataques remotos los sistemas que no hayan sido parcheados. Bash es normalmente usada por servidores web, así que en teoría puede usarse para tomar el control completo de páginas que usamos día tras día. Los dispositivos que estén conectados a Internet como las cámaras también pueden ser vulnerables, pero lo peor de todo sería que un atacante usara esta vulnerabilidad para sustraer información personal de tu máquina.
La razón principal de que se esté comparando a Shellshock con Heartbleed es por que la cantidad de dispositivos afectados es inmensa. Bash está dentro de tantos sistemas y lleva desde tanto tiempo, que la vulnerabilidad en la seguridad que provoca Shellshock posiblemente jamás pueda ser completamente erradicada. Este es un ejemplo de software vulnerable que ha sido propagado en el mundo tecnológico durante años y años.
¿Está mi sistema afectado?
Para probar si nuestro sistema ha sido afectado por Shellshock, seguiremos los pasos que nos han mostrado nuestros compañeros de alt1040. Lo único que haremos será escribir el siguiente comando en la terminal:
$ env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
Si el sistema es vulnerable, bash nos devolverá lo siguiente:
vulnerable
this is a test
Y al contrario, un sistema no afectado (o parcheado) nos devolverá:
bash: warning: x: ignoring function definition attempt
bash: error importing function definition for `x'
this is a test
Si estáis afectados sabed que los parches están llegando. De todas formas os dejo enlazada una guía para Mac Os X en la que se detallan los pasos para actualizar la shell Bash y parchearla.