LINUX.ORG.RU

Bash


200

2

Всего сообщений: 30

Обнаружены новые уязвимости в bash

Группа Безопасность

Не успело сообщество отойти от уязвимостей ShellShock, как сотрудник Red Hat Флориан Ваймер опубликовал информацию о новых. Уязвимости CVE-2014-7186 и CVE-2014-7187, возникающие из-за некорректной обработки операций с памятью при разборе выражений, перечёркивают все прошлые усилия по закрытию ShellShock и позволяют удалённо выполнять любые команды.

Протестировать наличие проблем CVE-2014-7186 и CVE-2014-7187 можно при помощи выражений:

   bash -c "true $(printf '</dev/null
   if [ $? != 0 ]; then
      echo -e "Vulnerable to CVE-2014-7186"
   fi

   bash -c "`for i in {1..200}; do echo -n "for x$i in; do :;"; done; for i in {1..200}; do echo -n "done;";done`" 2>/dev/null
   if [ $? != 0 ]; then
      echo -e "Vulnerable to CVE-2014-7187"
   fi

Пользователи FreeBSD и NetBSD вне опасности, поскольку тамошние мейнтейнеры решили пожертвовать обратной совместимостью и полностью отключили эту часть функционала bash.

Ещё две уязвимости CVE-2014-6277 и CVE-2014-6278 обнаружил сотрудник Google Михаил Залевский, но отказался публиковать подробности до внесения исправлений в bash. Учитывая, что для разбора кода функций в bash применяется большой универсальный пласт кода, который потенциально может предоставлять множество различных векторов для атак, так как данный код написан без оглядки на обработку данных, поступающих извне, неизвестно сколько ещё уязвимостей нас ожидает впереди.

Кроме того, можно отметить статью разработчиков Perl, в которой описываются пути проявления уязвимости в perl-скриптах, запускаемых в системах, в которых bash используется как /bin/sh и $SHELL. Проблемы могут проявляться в скриптах, в которых используется вызовы system и exec без разделения аргументов или при открытии потока через open с перенаправлением вывода. Проблемы не специфичны для Perl и проявляются в любых других языках, позволяющих выполнять команды с использованием командной оболочки.

Также опубликован дополнительный анализ возможных серверных систем, в которых возможно проведение атаки. Кроме упоминавшихся ранее атак на DHCP-клиенты, CGI-скрипты и ssh-аккаунты для Git/Subversion, в обзоре утверждается о вероятном проявлении проблемы в OpenVPN (при соединении с сервером злоумышленника), Exim, qmail, procmail, Mailfilter, SER, Phusion Passenger, Radius-серверах и службах Inetd (например, tcpserver). Не подвержены проблеме Postfix, stunnel, OpenBSD inetd и xinetd.

Для комплексной проверки систем на подверженность атакам Shellshock подготовлен универсальный скрипт.

>>> Подробности

 , shellshock

anonymous
()

Уязвимость в bash и множественные уязвимости в APT

Группа Безопасность

Опубликованы подробности уязвимости CVE-2014-6271 в bash, которая позволяет злоумышленнику произвести удалённое выполнение кода.

Уязвимость возможна благодаря одной из особенностей bash - использования переменных окружения для экспорта функций (если в переменной содержится "() {", то её содержимое будет интерпретировано как функция). Проблема заключается в том, что обработка продолжается даже после символа «}», поэтому, если добавить любую команду — она будет выполнена. Атаке подвержены sshd, Git и Subversion (при определённых обстоятельствах), Apache с mod_cgi или mod_cgid (если скрипты CGI написаны на bash или вызывают bash-скрипты), клиенты DHCP (если они вызывают скрипты для настройки системы), CUPS и вообще любые приложения, которые запускают bash (или bash-скрипты) и могут устанавливать переменные окружения на основе данных, полученных извне.

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

env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
Если система уязвима, в консоль будут выведены строки «vulnerable» и «this is a test», а при отсутствии уязвимости, сообщение об ошибке вида
bash: warning: x: ignoring function definition attempt
bash: error importing function definition for `x'
this is a test

Обновление с исправлением уязвимости уже выпущено для некоторых популярных дистрибутивов.

Кроме того, объявлено об исправлении множественных уязвимостей в пакетном менеджере APT. Уязвимости CVE-2014-0487, CVE-2014-0490, CVE-2014-0488 и CVE-2014-0489 позволяют обойти проверку цифровых подписей пакетов и репозиториев, а уязвимость CVE-2014-6273 - выполнение произвольного кода, отправленного злоумышленником, вмешавшимся в трафик.

 , ,

anonymous
()

Back in a minute — игра, написанная на bash

Группа Игры

Back in a minute — это полностью бесплатная игра для GNU/Linux, полностью написанная на скриптах Bourne Again Shell (Bash). Поскольку в игре все события генерируются случайно, то её можно назвать рогаликом.

Игра имеет двойную лицензию — GNU GPL 3 для кода и CC BY-NC-SA Int. 4.0 для художественных работ.

Игра полностью текстовая, но с графическими заголовками и простыми кнопками управления. Режим боя в игре пошаговый.

Мир игры состоит из:

  • Четыре игровые расы (Люди, Эльфы, Гномы и Хоббиты).
  • 6 типов врагов.
  • 8 типов предметов.
  • 6 сценариев.
  • 270 частей игрового мира.

Скриншот

Мануалы по установке

>>> Сайт игры

 , ,

fallout4all
()

bash-completion 2.0

Группа Open Source

bash-completion это набор сценариев, которые, используя возможности программирования дополнений командной строки доступные в bash, реализуют автоматическое дополнение для множества популярных unix-утилит и значительно увеличивают комфортность работы в командной оболочке.

В новой версии произошли следующие изменения:

  • Прекращена поддержка bash < 4.1. За счёт этого было убрано множество «костылей», обходящих ошибки в более ранних версиях bash.
  • Задействована, появившаяся в bash-4.0, функция динамической подгрузки дополнений. Если раньше при запуске командной оболочки загружались все доступные дополнения, что приводило к неприятной задержке на старте, то сейчас сначала загружается только базовая часть, а сами дополнения только при первом использовании соответствующих команд.
  • Множество других мелких улучшений направленных на ускорение работы дополнений.
  • Все сценарии bash-completion теперь устанавливаются не в /etc, в /usr.
  • Добавлено множество новых дополнений: a2x, arping, asciidoc, base64, cal, chrpath, cppcheck, curl, dmesg, dot, file, gnome-mplayer, gprof, hddtemp, host, htpasswd, idn, ionice, jps, lbunzip2, lbzip2, lbzcat, prelink, protoc, pwdx, pwgen, reptyr, sum, watch, phing, pinfo, sbopkg, pkgtool, makepkg, rmp2tgz, slapt-get, slapt-src, slackpkg, kcov, feh, xgamma, fbi, fbgs, puppet, epdfview, lpr, lpq, mysql, plague-client, desktop-file-validate, valgrind, ccache, iperf, koji, lzip, udevadm, htop, nethogs, acpi, hwclock, pwd, ssh-add, vmstat.
  • Значительно улучшена поддержка Slackware: добавлены дополнения для системных утилит, учтены особенности расположения сценариев инициализации системы.
  • Добавлены linux-специфичные версии дополнений для mount, umount и su.
  • Исправлено множество ошибок. В том числе значительно улучшена поддержка дополнений для команд, принимающих в качестве аргументов другие команды.

Полный список изменений

>>> Сайт проекта

 ,

GArik
()

BashBurn 3.1.0

Группа Open Source

После двух лет затишья всё таки вышла новая версия shell-скрипта - BashBurn 3.1.0.

На текущий момент BashBurn умеет:

  • записывать CD/DVD с данными, в том числе RW;
  • записывать Audio-CD;
  • записывать CD/DVD образы;
  • манипулировать ISO файлами
  • извлекать данные с CD
  • и т.д.

Изменения в версии 3.1.0:

  • поддержка преобразования NRG файлов в ISO (convert_images.sh);
  • функции по работе с ISO и BIN/CUE перемещены в новый пункт меню «Images»;
  • файлы, отвечающие за преобразование MP3, OGG и FLAC, объединены;
  • кодовая база проекта перемещена на github.

Загрузить исходный код

>>> Подробности

 , bashburn,

daemonpnz
()

Релиз Bash 4.2

Группа GNU's Not Unix

Вышла очередная версия одной из самых первых программ-оболочек, которая заработала на ядре Linux — Bash 4.2.

Добавлены:

  • переменная FUNCNEST, ограничивающая уровень вложенности выполняемых функций, что позволяет предотвратить ситуацию бесконечной рекурсии;
  • поддержка определённой в POSIX опции "-e" во встроенную команду cd;
  • новая опция compat41 для включения режима совместимости с Bash 4.1;
  • поддержка спецификатора %(fmt)T во встроенной команде printf, позволяющего указать формат вывода времени в стиле strftime;
  • новая опция оболочки lastpipe, позволяющая запустить последнюю команду из конвейера (pipeline) в контексте текущей оболочки.

Исходный код

>>> Подробности на opennet.ru

 

luke
()

Основы применения Python в администрировании Linux

Группа Документация

В статье описаны преимущества языка Python при использовании его в качестве инструментария для решения задач системного администрирования по сравнению с возможностями стандартного командного интерпретатора bash. Python – удобный инструмент для решения задач системного администрирования, как повседневных, так и более специфических. Он одинаково подходит для создания как скриптов, так и более сложных приложений, в особенности сетевых, а также может служить заменой стандартному shell в Linux.

>>> Подробности

 , ,

IBM_dW
()

GNU Bash 4.0

Группа Open Source

Казалось бы, а что можно еще сделать в интерпретаторе командной строки? Оказывается — можно. Итак, вышла версия 4.0 Bourne Again SHell с более чем тридцатью изменениями в логе, в частности

  • $BASHPID теперь содержит PID текущего шелла
  • Опции autocd, checkjobs, compopt, read, dirspell, globstar
  • Переменные COMP_TYPE и COMP_KEY для тех, кто пользуется программируемым дополнением
  • bash будет более настойчиво (например, при недостатке памяти) пытаться запустить дочерние процессы
  • Встроенный ulimit теперь включает опции -b (размер буфера для сокетов) и -T (число потоков)
  • ...а также 10 изменений в библиотеке readline.
Подробности можно посмотреть в файле NEWS внутри архива с BASH.

>>> Скачать

 

Sylvia
()

BashDiff

Группа Документация

BashDiff - это патч для оболочки Bash, который расширяет существующие функции Bash, добавляет приемы языка awk, а также некоторые функции C; добавляет механизм исключений, а также новые возможности функционального программирования, такие как генераторы списков и map-функции; позволяет работать с GTK+2 и базами данных, даже добавляет в стандартную bash-оболочку веб-сервер. Небольшой рассказ об этом патче вы найдете в статье Б.Мартина (Ben Martin, перевод - Александра Тарасова) "BashDiff: новые приемы в оболочке Bash".

>>> Подробности

 ,

vikos
()

Полезные консольные скрипты

Группа Документация

В статье "Магия консольных одностроковых скриптов" приведены примеры того, как можно получить простые и полезные решения за счет всего одной строчки в командной строке bash. Давайте не будем разводить пустой флейм по поводу бесполезности статьи и хвастаться тем, что вы уже всё это давно знаете. Лучше приведите в комментариях примеры полезных скриптов, которые используете сами - может получиться очень интересный материал.

>>> Подробности

 ,

vikos
()