CVE-2014-6271: Remote code execution through bash | Hacker News - https://news.ycombinator.com/item...
Sep 24, 2014
from
piikummitus,
Ivan,
eugenio,
9000,
Michael Bravo,
DS,
mellow vibes,
Интеллигентный матрос,
Vanav,
citrin,
newtover,
IT'S NOT,
адский хардлайн в засаде,
godegisel,
вестник какпопалипсиса,
Evelynne,
луну придётся засолить,
je suis frf,
псы в рапиде,
Leonid Shalupov,
and
[email protected]
liked this
env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
- Igor Sereda
ппц
- DS
but... I don't even...
- псы в рапиде
оно просто берет... и выполняет.
- псы в рапиде
короче, авторы Heartbleed облегченно вздохнули.
- псы в рапиде
Офигеть. Хорошо, что у меня нигде нет bash.
- [email protected]
Хотя про CGI как вектор атаки я не понял. Надо же ещё bash запустить. А как? Я тупой сегодня ночью, но какая разница как запусткать код в bash если у нас есть УЖЕ есть возможность запустить bash? В чём атака-то? В том, что если у нас есть sudo на скрипт, написанный на bash, то мы можем запустить под sudo что угодно? Ну это понятно. А как remote? CGI на bash?! А такое есть в дикой природе?
- [email protected]
А, ещё ssh с жёстко привязанной к ключу командой, если шелом bash? Я вот этим никогда не пользовался и не знаю, делает там sshd system() или fork()/exec().
- [email protected]
https://news.ycombinator.com/item... "still vulnerable"
- псы в рапиде
^^^ у многих есть UI на bash, запускаемый как CGI. CGI всё пихнёт в окружение, дальше как повезёт. Проблема ещё и в том что линукс нынче везде, и в каждом рутере или контроллере может сидеть маленький дырявый UI
- je suis frf
^ на рутерах обычно нет bash, там busybox или ash.
- 9000
@alf UI? На bash? Покажи!
- [email protected]
блин, с CGI надо бы попробовать. То есть теоретически получается, что апачу можно запросом послать кастомный заголовок, который он превратит в переменную окружения HTTP_заголовок, и если из этого CGI-скрипта как-то запустить баш (или сам это скрипт на баше), то эта переменная окружения автоматически передастся подпроцессу. Жестяка, если так.
- newtover
^ bash запускаемяй из CGI на мой вкус жестяка по любому
- [email protected]
В инете уже есть неплохие примеры как это можно эксплойтить: http://seclists.org/oss-sec..., например. Но я не понимаю вторую часть истории: env -i X='() { (a)=>\' bash -c 'echo date'; cat echo. С этим что можно натворить плохого?
- Ivan
В линуксах /bin/sh это симлинк на bash - любой system() в итоге интерпретируется bash-ем. Кто то проверял уязвим ли system()?
- citrin
@citrin Там, где имеет смысл писать интерфейсы на баше, скорее будет бизибокс или ash, всё же, как мне кажется, как правильно указывает @9000.
- [email protected]
речь не про интерфейсы на баше. Если из любого приложения (например на пхп/перл/руби) делается system("foo bar"), то при этом запускается /bin/sh -c "foo bar" а sh в линуксе это bash Если при этом есть отравленная переменная окружения, то ...
- citrin
^ да, именно так
- newtover
Но с debian это не прокатит, там /bin/sh это dash а не bash
- citrin
@citrin Ээээ. я был уверен (как не пользующийся bash'ем), что когда он запущен как /bin/sh, он переходит в compatibility mode.
- [email protected]
Переходит. Проявляется ли бага в compatibility mode надо проверять отдельно.
- citrin
Справедливости ради надо сказать, что perl-овый system передаёт строку на выполнение шеллу, только если там есть metacharacters.
- Что-то равно чему-то.
Я никак не врубаюсь, можно заэксплоитить любую машину с уязвимой версией баша вообще, или любую машину с уязвимой версией баша, на которой можно как-то насрать в env?
- Тринадцатый
^ Можно заставить выполнить bash любой код, если ты можешь вызвать этот bash с контролируемым ТОБОЙ env
- [email protected]
^ а это разве просто?
- Тринадцатый
^ Вот мне кажется, что не очень, а все паникуют и утверждают, что на каждом углу.
- [email protected]
ну то есть я так понимаю, что я могу взять произвольный макбук и получить на нем судо, так? а для удаленной системы?
- Тринадцатый
Я не очень знаю, что там кому можно вызывать в макоси по-умолчанию. Поэтому не понимаю, как судо получить через это.
- [email protected]
не, понятно, что в случае апача ты можешь выполнить что-то с правами апача, которые у него обычно слабоваты. Но если ты локальный апач на макбуке подкрутил для каких-то нужд и поленился создать отдельную группу, а вместо этого добавил его в свою дефолтную группу (а она, сюрприз, admin), чтобы он писал в какую-то твою папку свои логи от какого-то твоего простого наколенного скрипта. То включенная по умолчанию поддержка CGI-скриптов таки может сыграть с тобой злую шутку. Хотя, возможно, я сгущаю краски.
- newtover
^ Окей, локальный апач на макбуке, выставленный в интернет и/или макбук без автолока. Ну это вообще напрашиваться на неприятности, что уж тут.
- [email protected]
мне сегодня на минт17 прилетел bash (4.3-7ubuntu1.1) где это пофикшено. But it looks like Shellshock been around for decades
- ПокаОдминНеРазлучитНас
Вот более массовый сценарий: https://www.trustedsec.com/septemb...
- 9000
Так насчет энв как раз про CGI - пушо все пришедшее из хидеров суется в env.
- голос в темноте
кстати, для владельцев маков: http://apple.stackexchange.com/questio...
- newtover