antivirus
Óptima protección antivirus: Soluciones de seguridad en Internet de G Data para PC.

viernes, 26 de septiembre de 2014

Arreglar en OS X el exploit del bash "Shell Shock"

Dado que el bash 3.2 (la versión que viene con OSX) es vulnerable al exploit llamado "Shell Shock" (CVE-2014-6271 y CVE-2014-7169), conviene actualizarlo a la versión siguiente (mientras Apple crea una actualización y se nos instala a través del App Store.

Nuestro sistema será vulnerable si al ejecutar lo siguiente en una ventana de terminal:
env x='() { :;}; echo vulnerable' bash -c "echo this is a test"

nos muestra el mensaje:
vulnerable
this is a test


En ese caso, merece la pena que lo arreglemos.

Para ello tenemos que bajar los fuentes del bash desde la página de Apple, aplicarle un parche de seguridad, compilarlo, y sustituir los ejecutables del bash y sh en /bin

Para ello, debemos tener el XCode instalado en la máquina, lanzar un terminal y ejecutar las siguientes órdenes (directamente se puede hacer copy&paste sobre el terminal):

cd
mkdir bash-fix
cd bash-fix
curl https://opensource.apple.com/tarballs/bash/bash-92.tar.gz | tar zxf -
cd bash-92/bash-3.2
curl https://ftp.gnu.org/pub/gnu/bash/bash-3.2-patches/bash32-052 | patch -p0    
cd ..

xcodebuild

sudo cp /bin/bash /bin/bash.old
sudo cp /bin/sh /bin/sh.old

build/Release/bash --version
build/Release/sh --version

sudo cp build/Release/bash /bin
sudo cp build/Release/sh /bin

sudo chmod a-x /bin/bash.old /bin/sh.old



Si ahora volvemos a ejecutar el script:
env x='() { :;}; echo vulnerable' bash -c "echo this is a test"

nos debería devolver el mensaje:
bash: warning: x: ignoring function definition attempt
bash: error importing function definition for `x'
this is a test


Y eso significará que nuestro sistema ya no es vulnerable al exploit  ;)

No hay comentarios:

Publicar un comentario en la entrada