Conoce Atico34 - Solicita presupuesto
Ciberseguridad

Shellshock o virus Bash. ¿Sabes qué es?

La vulnerabilidad Shellshock, también llamada virus Bash, apareció ya hace algunos años y causó estragos en sistemas basados en GNU/Linux y UNIX. Pero, ¿en qué consiste este error de seguridad y por qué llegó a ser tan peligroso?

Empecemos por el principio: ¿Qué es Bash?

Bash es un intérprete de órdenes que se ejecuta desde una ventana de texto o un archivo llamado ‘script’, desde los cuáles el usuario puede escribir comandos en modo texto. Se trata del intérprete de comandos más empleado en equipos que utilizan sistemas GNU/Linux y UNIX.

A través de Bash, los administradores de sistemas manejan los servidores, ejecutando órdenes o deteniendo procesos. Aparte, Bash tiene otros usos más críticos, como pueden ser la programación de tareas o las actualizaciones del sistema operativo y de sus aplicaciones.

¿Qué dispositivos utilizan Bash?

El intérprete de comandos Bash se emplea en dispositivos basados en UNIX, como equipos con sistemas operativos GNU/Linux o Mac OS. Por ejemplo, teléfonos móviles con Android. También es empleado en muchos otros aparatos como routers o en dispositivos equipados con IoT (Internet de las Cosas), como sistemas de domótica o Smart TV.

¿Qué es el error de software Shellshock?

El error de software Shellshock es un bug de seguridad de Bash que potencialmente podría permitir la ejecución remota de código y otorgar así acceso al equipo a un atacante.

Esta vulnerabilidad permitiría saltarse las restricciones que Bash emplea para evaluar las variables del entorno, de forma que un atacante podría ejecutar comandos de forma ilimitada.

Afecta a equipos que usan Bash como intérprete de comandos, por lo que los equipos con sistemas operativos Windows no se ven comprometidos por esta brecha de seguridad informática.

¿Cuándo surgió?

La primera información que se tiene acerca del virus Bash data del 24 de septiembre de 2014.

Stéphane Chazelas, IT manager de SeeByte, informó a Chet Ramsey, encargado de mantenimiento de Bash, sobre el descubrimiento de una vulnerabilidad. Este error fue bautizado en un principio como Bashdoor y se identificó con el código CVE-2014-6271.

En los días posteriores, un análisis más exhaustivo de Bash permitió descubrir nuevas vulnerabilidades, a las que se denominaron CVE-2014-6277, CVE-2014-6278, CVE-2014-7169, CVE-2014-7186 y CVE-2014-7187.

Aunque se programaron parches para solucionar estos errores, tras la publicación del bug de seguridad numerosas empresas detectaron que los ciberdelincuentes habían realizado millones de escaneos en busca de vulnerabilidades y ataques ddos.​

¿Cómo afectan a Unix las vulnerabilidades shellshock o bashdoor?

El error de software de Bash permite a los hackers usar diversos vectores de ataque para explotar las vulnerabilidades.

Servidor Web CGI

Los servidores web que usan la interfaz CGI puede dejar una puerta abierta a la vulnerabilidad Shellshock. De hecho, los scripts de CGI pueden legar a ser muy peligrosos para la seguridad si no son continuamente revisados.

Servidor OpenSSH

Los usuarios también pueden explotar el bug de seguridad Shellshock a través de OpenSSH, mediante el uso de un comando que modifica la variable ambiente “SSH:ORIGINAL_COMMAND”.

Clientes DHCP

Los clientes DHCP que usan Bash también pueden ser atacados cuando se conectan a una red WiFi o con una IP pública. Los servidores infectados podrían ejecutar un procedimiento o string que infecte al equipo con código malicioso.​

Servidor QMail

Los datos de entrada externos que Qmail utiliza para procesar mensajes de correo electrónico con Bash, también podrían ser una vía para que los atacantes exploten esta vulnerabilidad.​

Shell restringida IBM HMC

IBM HMC es una consola de hardware que funcionaba como una especie de versión de Linux en miniatura para los ordenadores. Los atacantes podían acceder a Bash a través de la Shell restringida de IBM, pero la compañía sacó un parche que evitaba esta posibilidad.​

¿Por qué es una vulnerabilidad peligrosa?

El primer motivo por el que Shellshock ha sido considerado un software bug muy grave es porque se trataba de un error generalizado de Bash que podía afectar a todo tipo de equipos con UNIX, por lo cual su alcance podía ser enorme.

Por otro lado, esta vulnerabilidad permitía a los atacantes recopilar datos de los equipos infectados y conectarse a un centro de control propio, desde el cual podían ejecutar todo tipo de comandos de forma remota. Por ejemplo, lanzar ataques de fuerza bruta que dejaran al descubierto nombres de usuario y contraseñas para obtener el control total del equipo.

¿Cómo saber si mi servidor es vulnerable a este fallo de seguridad?

En la actualidad hay diversas maneras de saber si se está usando una versión de Bash vulnerable. Para ello es necesario conectarse al servidor por SSH y ejecutar el siguiente comando:

  • env x='() { :;}; echo Vulnerable’ bash -c /bin/true

Si no existe vulnerabilidad, no ocurrirá nada, pero en el caso de estar usando una versión de Bash vulnerable, al ejecutar el comando devolverá la palabra “Vulnerable“.

¿Cómo solucionar este bug de seguridad?

La manera de solucionar el bug de seguridad Shellshock depende de la versión de Linux que estemos usando. Lo primero que hay que hacer es acceder al servidor por Secure Shell (SSH) como superusuario. Después, habrá que seguir alguno de los siguientes pasos.

En Debian 7 y Ubuntu

Para solucionar el error Shellshock en Debian 7 y Ubuntu hay que escribir el siguiente código:

  • apt-get update
  • apt-get –only-upgrade install bash

En Debian 6

El primer paso para solucionar este bug de software en Debian 6 es agregar un repositorio. Para ello buscamos el siguiente archivo:

  • /etc/apt/sources.list

Y agregamos al final la siguiente línea de código:

  • deb http://ftp.us.debian.org/debian squeeze-lts main non-free contrib

A continuación se deben seguir los pasos descritos para Debian 7 y Ubuntu.

Una vez hayamos terminado, se borra la línea que habíamos añadido a sources.list para eliminar el repositorio.

En CentOS, RHEL, Fedora, Scientific Linux

Por último, para solucionar Shellshock en estas distribuciones de Linux hará que añadir:

  • yum update bash

Cabe decir que aunque Shellshock es una familia de bugs de seguridad que apareció en el año 2014, todavía hoy en día sigue siendo un riesgo debido al aumento de trabajo en remoto. Aunque se han desarrollado numerosos parches de seguridad, muchas empresas o usuarios todavía pueden estar en riesgo, sobre todo si sus medidas de seguridad informática no están actualizadas.