Shellshock ( CVE-2014-6271 , CVE-2014-6277 , CVE-2014-6278 , CVE-2014-7169 , CVE-2014-7186 , CVE-2014-7187 ) является уязвимость в GNU BASH оболочке, которая дает злоумышленникам доступ к запуску удаленных команд на уязвимой системе. Если в вашей системе не обновляется Bash с 30 сентября 2014 года, ваша система скорее всего уязвима. Эта уязвимость безопасности влияет на версии с 1.14 (выпущенная в 1994 году) до самой последней версии 4.3 в соответствии с NVD .
Уязвимость Shellshock могут быть использованы в системах, работающих под управлением служб и приложений, которые позволяют удаленным пользователям назначить переменные среды Bash. Примеры эксплуатационных систем включают в себя следующее:
- Apache HTTP серверы, использующие сценарии CGI (с помощью
mod_cgi
иmod_cgid
), написанные в Bash или запуск в Bash подоболочек - Некоторые клиенты DHCP
- Серверы OpenSSH, которые используют
ForceCommand
возможность - Различные сетевые сервисы, которые используют Bash
Вы можете использовать инструкции, которые приведены ниже, чтобы проверить, уязвима ваша система или нет, а также узнать, как залатать уязвимости, так чтобы вы больше небыли подвержены риску атак.
Сайт шокер
Для начало делаем скрипт на проверку уязвимости. И положим его в /usr/lib/cgi-bin/shockme.cgi
#!/bin/bash echo “Content-type: text/html” echo “” echo “https://shellshocker.net/” |
Проверяем
http://ваш-сайт/cgi-bin/shockme.cgi |
Этот сайт тестер будет ждать ответа, если сервер отвечает 500, есть все основания предположить, что ваша система уязвима.
Тестируем систему
Чтобы проверить вашу систему, вы можете просто запустить это в командной строке следующую строку.
curl https://github.com/wreiske/shellshocker/blob/master/shellshock_test.sh | bash |
Вы можете посмотреть исходный код shellshock_test.sh на GitHub
Если вы хотите, проверить каждую уязвимость по отдельности без запуска скрипта выше, надо сделать следующее! Действия перечислены ниже.
Exploit 1 ( CVE-2014-6271 )
Есть несколько способов, чтобы проверить, если ваша система уязвима для Shellshock. Попробуйте выполнить следующую команду в оболочке.
env x='() { :;}; echo vulnerable’ bash -c “echo this is a test” |
Если вы видите “vulnerable” “уязвимы” необходимо обновить Баш . Если вы увидите echo this is a test, то все ок, продолжаем тестирование.
Exploit 2 ( CVE-2014-7169 )
Даже после обновления Баш вы все равно может быть уязвимым для этой уязвимости. Попробуйте запустить следующий код.
env X='() { (shellshocker.net)=>\’ bash -c “echo date”; cat echo; rm ./echo |
Если приведенная выше команда выводит текущую дату (она также может показать ошибки), вы по-прежнему уязвимы.
Exploit 3
Вот еще один вариант эксплоита. Пожалуйста, оставьте комментарий ниже, если вы знаете CVE этого подвида.
env X=’ () { }; echo hello’ bash -c ‘date’ |
Если вышеуказанная команда выведет “привет”, вы уязвимы.
Exploit 4 ( CVE-2014-7186 )
bash -c ‘true <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF’ || echo “CVE-2014-7186 vulnerable, redir_stack” |
Уязвимая система будет отображать текст “CVE-2014-7186 vulnerable, redir_stack”.
Exploit 5 ( CVE-2014-7187 )
(for x in {1..200} ; do echo “for x$x in ; do :”; done; for x in {1..200} ; do echo done ; done) | bash ||
echo “CVE-2014-7187 vulnerable, word_lineno” |
Уязвимая система будет отображать текст “CVE-2014-7187 vulnerable, word_lineno”.
Exploit 6 ( CVE-2014-6278 )
shellshocker='() { echo You are vulnerable; }’ bash -c shellshocker |
Вы не должны видеть “You are vulnerable”, если все исправлено, вы увидите “Bash: shellshocker: command not found”
Exploit 7 ( CVE-2014-6277 )
bash -c “f() { x() { _;}; x() { _;} <<a; }” 2>/dev/null || echo vulnerable |
Если команда выводит “vulnerable”, вы уязвимы.
How to fix ShellShock
CentOS, Ubuntu, Red Hat, Fedora
системы Linux
Shellshock является уязвимость в Bash . Для того, чтобы залатать свой код на целевой системе, вы должны будете получить наиболее актуальную версию Bash доступной из GNU.org .
В зависимости от вашего менеджера пакетов (yum, APT-GET, и т.д.) вы сможете просто запустить обновление yum, и т.д.
Вот как это делается:
sudo yum update bash -y
sudo yum update |
Для систем Ubuntu:
apt-get update; apt-get install –only-upgrade bash
spt-get upgrade |
Для Arch Linux:
pacman -Syu |
Если ваш менеджер пакетов не нашел обновлений, вам нужно будет указать bash от SRC.
Сборка из исходников
Вы можете исправить bash с помощью одной команды с помощью нашего bash patcher, просто запустите следующую команду, и вcе будет хорошо!
Убедитесь, что у вас есть patch installed, прежде чем запускать эту команду. sudo apt-get install patch (yum install patch) etc…
curl https://shellshocker.net/fixbash | sh |
Если вы хотите сделать это самостоятельно, не стесняйтесь. Здесь все команды, которые нужны.
cd ~/ mkdir bash cd bash wget https://ftp.gnu.org/gnu/bash/bash-4.3.tar.gz #download all patches while [ true ]; do i=`expr $i + 1`; wget -N https://ftp.gnu.org/gnu/bash/bash-4.3-patches/ ‘%03g’ $i); if [ $? -ne 0 ]; then break; fi; done tar zxvf bash-4.3.tar.gz cd bash-4.3 for p in `ls ../bash43-[0-9][0-9][0-9]`; do patch -p0 < $p; done ./configure && make && make instal |
OS X
Если вы работаете под OS X, Apple выпустила официальные патчи для Mavericks , Mountain Lion и Lion .
Вы также можете скачать и скомпилировать Bash самостоятельно, используя brew или MacPorts .
Мы рекомендуем использовать brew – Перейти к http://brew.sh/ и установить brew в вашей системе.
После того, как вы установили brew, выполните следующие команды, чтобы обновить систему
brew update brew install bash sudo sh -c ‘echo “/usr/local/bin/bash” >> /etc/shells’ chsh -s /usr/local/bin/bash sudo mv /bin/bash /bin/bash-backup sudo ln -s /usr/local/bin/bash /bin/bash |
Если вы используете MacPorts, выполните следующее:
sudo port selfupdate
sudo port upgrade bash |
После того, как вы обновили, попробуйте еще раз проверить систему.
Оригинал статьи тут https://shellshocker.net/
https://github.com/hannob/bashcheck
PS
Универсальный скрипт для проверки на наличие уязвимостей github.com/hannob/bashcheck
В продолжение — обнаружены новые уязвимости в bash www.linux.org.ru/news/security/10892232
Views: 16