Уязвимы ли компьютеры Mac к ошибке оболочки Bash?

Red Hat недавно объявила о серьезной ошибке, связанной с безопасностью, в оболочке Bash. Некоторые называют это ошибкой «раковины». Поскольку OS X построена на основе Unix, уязвима ли она для атак, использующих эту ошибку?

Должен ли я, как конечный пользователь, беспокоиться о немедленном исправлении? Или мне лучше дождаться официального обновления ПО от Apple?

Чтобы узнать, какие действия влияют на OSX, см. security.stackexchange.com/questions/68123/…
Обновил вопрос, чтобы он был не столько обманом, сколько просьбой о совете для непрофессионалов.
Apple выпустила исправление: support.apple.com/kb/DL1769 .

Ответы (5)

Да, вы технически уязвимы. Так что, если вам хочется запаниковать или выставить счет паникующему клиенту за несколько часов панической работы, дерзайте!

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

Это означает, что ваш настольный Mac, на котором на самом деле не работают какие-либо серверные приложения, не подвергается серьезному риску. Я готов съесть немного пресловутого «скромного пирога», но я не думаю, что большинство пользователей Mac будут в опасности в конце дня.

Таким образом, эта проблема в основном касается системных администраторов серверов Mac OS X и Unix/Linux, открытых для всего мира, а не пользователей настольных компьютеров, которые не разрешают совместное использование SSH.

Возможно, существует риск того, что для использования этого риска будет создано вредоносное ПО или вирус для Mac, но я в этом сомневаюсь.

РЕДАКТИРОВАТЬ: И просто чтобы уточнить, как эта проблема, по моему скромному мнению, не является проблемой для большинства обычных пользователей, да, я могу запустить следующую команду из bashMac OS X 10.9.5:

env x='() { :;}; echo vulnerable' bash -c 'echo hello'

И я вижу это:

vulnerable
hello

Угадай, что? Это ужасно, только если вы не продумаете это рационально. Я должен был уже войти в свой Mac, чтобы даже открыть Терминал. И чтобы опровергнуть то, что я сказал о SSH выше, чтобы даже добраться до того момента, когда я могу запустить этот тест, даже если SSH включен, мне все равно нужно будет войти в систему для начала. А затем — скажем, я получаю доступ через SSH — команда не позволяет мне делать НИЧЕГО помимо моих обычных прав пользователя, таких как это:

env x='() { :;}; echo vulnerable' bash -c 'cat /etc/ssh_host_rsa_key'

Это означает, что если вы действительно уязвимы для использования этим взломом, ваша основная безопасность в системе должна быть настолько скомпрометирована, что тот факт, что bashу вас есть недостаток, действительно является наименьшей из ваших проблем.

Это проблема общего контроля и прав, так как это может привести к непреднамеренному доступу, поскольку поведение выходит за рамки ожидаемых норм. Но, по моему скромному мнению, это не такой риск, как OpenSSL или садовая разновидность риска «позвольте мне оставить свой пароль в заметке, приклеенной к моему экрану».

В конце концов, я все еще исправляю все свои серверы Linux/Unix, которые запускаю по стандартной процедуре. И с радостью пропатчу компьютеры Mac, которыми я управляю, как только выйдет исправление. Но для практического повседневного использования я чувствую себя прекрасно, не беспокоясь об этом, поскольку я не понимаю, как недостаток, который не позволяет повышенным привилегиям пользователя, добавляется к чему-либо.

ОБНОВЛЕНИЕ: здесь опубликовано официальное сообщение от Apple ; акцент мой:

«Подавляющее большинство пользователей OS X не подвержены риску недавно обнаруженных уязвимостей bash, — сказал iMore представитель Apple. — Bash, командная оболочка UNIX и язык, включенный в OS X, имеет уязвимость, которая может позволить контроль уязвимых систем. В OS X системы безопасны по умолчанию и не подвергаются удаленным эксплойтам bash, если только пользователи не настроят расширенные службы UNIX. Мы работаем над тем, чтобы быстро предоставить обновление программного обеспечения для наших опытных пользователей UNIX».

Перевод: Что я сказал выше о том, что это проблема сервера, а не проблема клиента? Точно.

ПОСЛЕДНЕЕ ОБНОВЛЕНИЕ: Для тех, кто испытывает трудности с компиляцией из исходного кода, с 29 сентября Apple официально выпустила исправления для Mac OS X 10.9.5, 10.8.5, а также 10.7.5:

ЕЩЕ ОДНО ПОСЛЕДНЕЕ ОБНОВЛЕНИЕ: И вот сегодня Apple выпустила комбинированное обновление безопасности, которое также включает это bashобновление !

Примечание. Обновление безопасности 2014-005 включает в себя содержимое системы безопасности OS X bash Update 1.0.

«или веб-сервер, на котором выполняются сценарии на стороне сервера» — или запустить приложение, прослушивающее открытый порт, который позволяет выполнять вызовы RPC, которые в конечном итоге запускают команды оболочки. Это может быть что угодно, поскольку существует множество стандартных приложений, выполняющих RPC. Я думаю, что этот ответ очень наивен. Очень легко непреднамеренно «запустить веб-сервер» в ходе работы приложения, которое выполняет некоторые действия типа «клиент-сервер».
Доступна ли гостевая учетная запись удаленно по умолчанию?
@IanC. Можете ли вы привести пример, где OS X из коробки действительно уязвима? Например, может ли что-то вроде WebEx или GotoMeeting хотя бы приблизиться к возможностям Bash? Дело в том, что я не могу придумать простой сценарий установки OS X, который действительно раскрывал бы вещи. Ты можешь?
Гостевая учетная запись недоступна для ssh. На самом деле, его даже невозможно сделать доступным для ssh, IIRC. Дело в том, что для подавляющего большинства пользователей OS X уязвимость bash вообще не проблема. Для тех из нас, у кого это проблема, нам нужно перекомпилировать bash, как только будет доступно проверенное исправление, но это не сейчас.
@JakeGould все, что нужно для работы сервера, который, возможно, выполняет команды через оболочку. Plex, например, является одним из таких, где он выполняет транскодирование и обслуживает видео с вашего Mac в режиме реального времени. Транскодирование выполняется командой оболочки, и у нее есть открытый API для взаимодействия с ней без аутентификации. Гроул — еще один пример. Открытые порты со слушателями повсюду на вашем Mac. Даже не прослушивающие приложения могут непреднамеренно отключаться при получении команд.
@IanC. Ладно, честные примеры. Но вы по-прежнему упускаете суть: как можно использовать такую ​​уязвимость в каждом приведенном вами примере? В каждом случае пользователю для начала потребуется доступ к системе, а что потом? Я не легкомыслен по этому поводу, но я все еще не понимаю, каков риск на самом деле? Кому-то, например, придется пробираться через Plex API, чтобы затем сделать что именно в bash, чтобы сделать что-то за пределами обычных прав пользователя и привилегий доступа?
@danielAzuelos «Все уязвимы, пока гостевая учетная запись открыта :[!» Гостевая учетная запись не имеет к этому никакого отношения bash. Так страх основан на чем именно? Кроме того, даже если гостевая учетная запись открыта и каким-то образом bashее можно использовать, что тогда? Судя по тому, что я вижу, использование этого эксплойта не будет иметь повышенных привилегий или чего-то даже близкого к этому. Серьезно, я готов отказаться от своей позиции, но это больше похоже на панику, основанную на незначительном, тогда как OpenSSL был реальной проблемой.
+1 за голос здравомыслия! Да, технически это проблема, но удачи в ее использовании, если только вы не используете службу, которая позволяет запускать произвольные команды, а потом угадайте, что? У тебя уже есть проблема! Я знаю, что это немного сложнее, так как установка переменной никогда не должна выполнять код, но большинство программ передают аргументы как аргументы, а не переменные среды.
«Это ужасно, только если вы не продумаете это рационально». нельзя занижать. Это же правило применимо к любому увлечению безопасностью, компьютерной безопасностью, национальной безопасностью, личной безопасностью. Людей, как известно, легко ввести в состояние паники и очень трудно вывести из него.
→ JakeGould: если гостевая учетная запись включена, пользователь может ее использовать. Затем, используя bashуязвимость, он может заставить любого демона, работающего от имени пользователя root, использовать bash для выполнения любой команды с привилегиями root . По умолчанию на Mavericks гостевая учетная запись отключена, и sshдоступ тоже отключен :).
@danielAzuelos Это совершенно неверно: «Затем, используя уязвимость bash, он может заставить любого демона, работающего от имени пользователя root, использовать bash для выполнения любой команды с привилегиями root». Откуда вы взяли, что этот сбой shellshock/bash приводит к повышенным привилегиям? Это не так. Если кто-то войдет в систему как гость в неисправленной системе, он просто будет выполнять код как гость. Если гость каким-то образом может редактировать или влиять на учетную запись root, этот недостаток связан не с shellshock/bash, а с отсутствием безопасности в системе в целом.
-1 Очень неправильно. Существует множество инструментов, использующих bash: сценарии установки обычно используют bash, что создает риск повышения привилегий. Предполагается, что все серверы используют bash, если вы не знаете иного, а не только sshd. В частности, apache может создать удаленную уязвимость с помощью bash. и т.д.
Также вероятны риски повышения привилегий с гостевой учетной записи. Кого это волнует? Любые машины Mac OS X чрезвычайно уязвимы, как только пользователи получают доступ, особенно локальные пользователи. Вас должны пугать серверные демоны, а не только sshd, все серверные демоны.
@JeffBurges «apache может создать удаленную уязвимость, используя bash. и т.д." Как? Вы говорите, что существуют риски эскалации, но как непривилегированный пользователь сможет таким образом повысить свои привилегии? У Apache нет особых привилегий, и его необходимо сознательно изменить с помощью прав конфигурации или sudo, чтобы иметь возможность выполнять действия root.
Модули Apache, сценарии CGI и т. д. обычно вызывают bash. Очень эффективный хак прямо здесь: twitter.com/JZdziarski/status/515135854436962304 И даже если ваша конфигурация Apache не вызывает bash при нормальной работе, никто не знает, что злоумышленник может убедить его сделать.
Как я сказал ниже, предполагается, что ВСЕ серверы вызывают bash, если не доказано обратное. И Mac OS X полна эксплойтов повышения привилегий, как только вы достигаете оболочки.
На самом деле, ваш ответ совершенно неверен!!! Обычное использование ssh не уязвимо, поскольку вы уже открываете оболочку, уязвима только ограниченная команда входа в систему ssh. Почти никто из пользователей Linux даже не знает об этом, как и пользователи Mac.
@JeffBurges Приведенные вами примеры касаются эксплойтов сервера. И если вы на самом деле следите за их темами, все это довольно теоретически, и никто не подтверждает, что они работают. Что касается пользователя настольной Mac OS X, паника излишня. Но если вы администратор сервера, вы должны быть обеспокоены. Но, пожалуйста, продолжайте поощрять новичков исправлять свои собственные патчи bashвручную из исходников. Из-за таких советов клиентским машинам будет нанесен НАМНОГО больше вреда, чем от любого настоящего эксплойта «Shellshock».
@JeffBurges Если вы считаете, что мой ответ опасен, ваши сообщения об ОКР доказывают обратное. Как я уже сказал, сделайте шаг назад и рационально взгляните на это: это риск для СЕРВЕРОВ. Не КЛИЕНТАМ. Эта доска и вопрос касаются Mac OS X и в первую очередь на стороне КЛИЕНТА. Так что голосуйте против или отметьте, но ваше обсессивно-компульсивное расстройство, паническое поведение красноречиво говорит против дела, которое вы выдвигаете.
Я уже упоминал, что перекомпилировать bash — это перебор. Правильный ответ для обычного использования рабочего стола — включить брандмауэр и отключить службы общего доступа ИЛИ признать, что они доверяют брандмауэру, предоставленному их маршрутизатором. Об этом говорит мой комментарий. Вы выделяете, вероятно, обычно неуязвимый сервер, ssh, и игнорируете то, что очень много людей используют рудиментарный локальный веб-сервер с неизвестными активными сценариями.
@JeffBurdges «Я уже упоминал, что перекомпилировать bash — это перебор. Правильный ответ для «Ваши комментарии обсессивно-компульсивного расстройства лишают вас возможности публиковать сообщения. Либо успокойся, либо остановись. Я не удаляю свой ответ. Если вы с этим не согласны, смиритесь с этим. Если вы считаете, что ваш ответ более важен, я с нетерпением жду огромного потока голосов, которые получит ваш мудрый и рассудительный совет. Ваше здоровье!
хе. Окна редактирования SE не любят корректор орфографии Mac, всегда создают преждевременные комментарии. Прости за это. В любом случае..
@JeffBurdges: относительно «Сценарии установки обычно используют bash, создавая риски повышения привилегий», зачем вредоносному сценарию установки использовать этот эксплойт? Если пользователь устанавливает вредоносный установочный скрипт (троянский конь), коду не нужно будет вызывать эту ошибку, он все равно получит root.
Клиенты также могут быть уязвимы. trustsec.com/september-2014/shellshock-dhcp-rce-proof-concept
@nyuszika7h Аааа! Хорошо. Это именно то, что я искал. По сути, если DHCP-сервер взломан и развернут этот эксплойт bash, если bash не исправлен, они могут стать жертвой. Отличный пример. Вы должны опубликовать это как ответ на голосование.
Это все о FUD, восприятии и реальности. Рисков для 99% пользователей Mac не существует. НО: это не оправдание для Apple, которая откладывает исправление. После скандала с icloud-gate я подумал, что высшее руководство Apple будет серьезно обеспокоено чем-то, что бросает тень на имидж Apple. Как обычный пользователь, я был бы обеспокоен тем, что Apple не затыкает эту дыру, тем более, что это так легко увидеть с помощью одной строки кода!
@AlbertGodfrind «… Apple будет серьезно обеспокоена чем-то, что бросает тень на имидж Apple». Apple в 2014 году на самом деле не заботится о проблемах использования рабочего стола, как раньше. Все дело в iDevices, iOS и превращении этого пространства в товар. Это совсем другой разговор, но экспоненциальный рост Apple исказил их взгляд на рынок не-iOS.
Для VMWare Fusion доступен общедоступный эксплойт повышения привилегий (который обычно устанавливается только на клиентах): packagestormsecurity.com/files/128425/…
@ScottDudley: это не имеет ничего общего с VMWare. И это не имеет ничего общего с Mac OS. Это просто показывает, что если вы запускаете Linux на виртуальной машине, эта установка чувствительна к уязвимости bash, если она еще не была исправлена. Я запускаю несколько виртуальных машин Linux на своем ноутбуке (используя Virtualbox), и все они уязвимы, потому что я еще не исправил их. У них нет веб-сервера, и они доступны только с моего хоста.
@AlbertGodfrind, это неверно - пожалуйста, прочитайте страницу еще раз. На этой странице утверждается, что она содержит эксплойт для повышения привилегий OS X (я признаю, что не проверял его). Похоже, это эксплойт против установки VMWare Fusion в OS X, и он вообще не имеет ничего общего с Linux. Быстрое прочтение кода позволяет предположить, что Fusion может даже не запускаться, чтобы использовать его.
@ScottDudley Ваша оценка эксплойта с VMWare Fusion верна. Но совершенно неясно, как полезная нагрузка попадет на хост-компьютер, чтобы нанести ущерб. Как эксплойт вообще может начаться при использовании в реальном мире на клиентской или даже серверной машине?
@JakeGould это повышение привилегий, поэтому оно расширяет поверхность атаки, и теперь с этим можно объединить слабость в любом пользовательском процессе, чтобы получить root. Например, люди выше говорили о том, что если использовать httpd (что не обязательно должно происходить с использованием уязвимости bash!), то у вас останется только доступ к пользовательской области, работающий от имени пользователя apache. Если у вас есть Fusion, а bash не пропатчен, то, как только вы получите пользователя, вы также можете получить root. Выберите уязвимости в различных пользовательских процессах на <=10.9.4.
@ScottDudley Вы упускаете суть: как этот сценарий вообще дошел до того, что мог это сделать? Этот сценарий не может быть снаружи машины, на которой работает VMWare Fusion, верно? Как он попадает внутрь?
@JakeGould, вы используете любую уязвимость пользовательского процесса (которая может быть вызвана shellshock или любой другой проблемой с пользовательскими процессами - скажем, одной из уязвимостей в предыдущей ссылке). Вот почему это называется повышением привилегий: en.wikipedia.org/wiki/Privilege_escalation
@ScottDudley Я понимаю, что такое повышение привилегий. Я понимаю риск. Вы читали мой ответ, а также комментарии выше? Но в случае, который вы выделяете, мне трудно понять, как базовая машина OS X может быть уязвима для того, что вы показываете. Если вы этого не понимаете, извините. Прочтите, как работает эта ошибка, и поймите, что для пользователей клиентов Mac OS X это не так уж важно, даже если ее не исправить.
@JakeGould, да, я прочитал ответ и понял нюансы. Вот простой пример. Некоторые спам-боты отправляют на ваш @mac.comадрес вредоносный PDF-файл. Вы ничего не делаете, кроме как пролистываете сообщение в Mail.app, которое показывает PDF-файл в области предварительного просмотра, что затем запускает полезную нагрузку (CVE-2014-4377). Ваш неисправленный bash может превратить этот пользовательский эксплойт (плохой) в эксплойт корневого уровня (хуже).
@ScottDudley Хорошо, теперь ты прояснил ситуацию! Но я бы посоветовал вам опубликовать эту информацию в ответе здесь, чтобы другие могли лучше понять граничные риски этого.

Да!

Введите это в своей оболочке

env x='() { :;}; echo vulnerable' bash -c 'echo hello'

Если это говорит, vulnerableто вы уязвимы.

Если он говорит

bash: warning: x: ignoring function definition attempt
bash: error importing function definition for `x'
hello

тогда ты молодец.

Изменить: ссылка на исправление

Спасибо. Я обновил вопрос — если мы обнаружим, что мы уязвимы, как пользователь Mac может это исправить?
@abbyhairboat Опубликовал мой ответ. Если вы не используете сервер, открытый внешнему миру, практических рисков нет. Об этом должны беспокоиться администраторы серверов.
→ Эбби: см. этот связанный ответ: apple.stackexchange.com/a/146851/22003 .
Попробуйте это env X="() { :;} ; echo busted" /bin/sh -c "echo completed"— даже после исправления моей системы, эта выдает «сбой» в командной строке. Бах.
Похоже, zsh тоже уязвим.
@ Марк нет, zsh безопасен. вам нужно заменить «bash -c» на «zsh -c», чтобы проверить это.
Я исправил bash 3.2 для Mac OS X и включил инструкции здесь: github.com/ido/macosx-bash-92-shellshock-patched/blob/master/…
@TraneFrancks: Apple использует bash в /bin/sh... вам нужно заменить оба /bin/sh и /bin/bashзащитить себя. /bin/shна самом деле более проблематична, так как это оболочка, которую языки сценариев, вероятно, будут использовать для выполнения команд оболочки.
@ Джо, я хорошо знаю, что нужно исправить. Я написал учебник по этому процессу здесь: apple.stackexchange.com/a/146943/91441 . Статья также была здесь, но была удалена модераторами как дубликат. Проблема заключалась в том, что сборка из исходного кода Apple с помощью xcodebuild будет выполнять и то, bashи другое shза один шаг. Сборка из ванильного исходного кода GNU требует отдельной компиляции. Кроме того, bashbugон имеет другое место установки в OS X, чем вывод GNU, поэтому его также необходимо переместить.
@nyuszika7h Аааа! Хорошо. Это именно то, что я искал. По сути, если DHCP-сервер взломан и развернут этот эксплойт bash, если bash не исправлен, они могут стать жертвой. Отличный пример. Вы должны опубликовать это как ответ на голосование.

Как конечный пользователь убедитесь, что:

  • ваша гостевая учетная запись отключена:

    Системные настройки > Пользователи и группы > Гость
    
  • ваш sshдоступ отключен:

    Системные настройки > Общий доступ > Удаленный вход
    

По умолчанию они оба отключены в Mavericks.

Как конечному пользователю , безопаснее дождаться официального обновления безопасности Apple, устраняющего эту bashуязвимость.

Это не имеет значения. Любой из них по своей природе предоставляет пользователям доступ для запуска команд в системе, поэтому, если они у вас включены, вы намерены разрешить пользователям выполнять команды. Ошибка Shellshock — это средство для пользователей, которым вы не предназначали возможность запускать команды, чтобы иметь возможность это делать, например, пользователь веб-сервера, который вы запускаете. Таким образом, ваш ответ должен говорить «Отключить общий доступ в Интернете» (но это только одна вещь, которую нужно проверить)
Меня раздражает, что Apple не посоветовала отключить эти настройки. Кто бы их активировал? Я буду. Я пользователь Mac с 1986 года, штатный разработчик веб-приложений (поэтому ssh — это моя жизнь) и отец (поэтому гостевая учетная запись для детей — не такая уж плохая идея). Я знаю много людей, которые в этом похожи на меня и используют ноутбуки Apple. Хотите потерять нас? Оставить эту уязвимость открытой — хороший способ.

Все машины с Mac OS X технически уязвимы для «Shellshock», пока Apple не выпустит обновление безопасности, исправляющее bash, но...

Ваш вопрос должен быть: Могу ли я быть взломан удаленно?

Существует так много программного обеспечения, которое используется bashпо рассеянности, что ответить на этот вопрос чрезвычайно сложно. Если вы беспокоитесь, я бы предложил несколько изменений System Preferencesдля предотвращения удаленных эксплойтов:

  • Отключите ВСЕ службы обмена в настройках общего доступа.
  • Включите брандмауэр в разделе «Безопасность и конфиденциальность».

Если вы особенно обеспокоены, нажмите Firewallкнопку параметров, чтобы:

  • Снимите флажок Automatically allow signed software to receive incoming connections.
  • Проверить Block all incoming connections.

По-прежнему существует респектабельный шанс, что вы уязвимы для атаки уровня с использованием DHCP, Bonjour и т. д., но, если вам нужна другая служба, то, очевидно, вы можете оставить ее работающей, пока вы надеетесь, что она не будет взломана. И вам также нужно оставить брандмауэр более открытым. Скорее всего, все будет хорошо, если ваша машина живет за другим брандмауэром.

Кроме того, есть ли локальные атаки с повышением привилегий, активируемые «Shellshock»? Да, почти наверняка. Я бы не стал беспокоиться, потому что в Mac OS X достаточно подобных атак. Apple не исправляет ошибки локального повышения привилегий быстро. И Apple часто создает их с помощью сервисов с поддержкой Apple Script. Просто предположим, что все машины Mac OS X всегда уязвимы для локальных атак. Если вам нужно посещать хакерские конференции, такие как DEFCON, купите себе Linux для этой цели.

Обновление: есть инструкции по перекомпиляции вашего собственного исправленного bash , а также другие вопросы, связанные с этим . Я сделаю это сам, но ИМХО это излишество, если вы не запускаете никаких серверов и все равно держите брандмауэр Apple включенным.

Обновление: если вам удобно использовать терминал, здесь упоминается программа ,execsnoop которая позволит вам проверить, обычно ли bash вызывается вашими серверными процессами. Это не волшебная пуля, поскольку серверный процесс может вызывать bash только в необычных ситуациях, но это даст вам хорошую идею.

Наконец, Apple не очень хороша в исправлении уязвимостей в системе безопасности, но они хороши в PR, так что это будет исправлено относительно быстро. Поэтому разумно думать: «Мне не нужно работать быстрее медведя, мне нужно только работать быстрее, чем огромное количество легко эксплуатируемых серверов в Интернете». :)

Нет никаких шансов, что компьютеры Mac уязвимы для атаки с использованием DHCP, поскольку он не использует Bash.
Откуда ты это знаешь? Первоначальным советом был уязвимый DHCP-клиент. Во многих статьях предполагается, что DHCP-клиенты Mac OS X и/или iOS могут быть уязвимы. Все серверы следует считать уязвимыми, если не доказано обратное.
Нет, не должно быть; это абсолютный FUD. Вы можете изучить как открытый исходный код реализации dhcp в OS X, так и самостоятельно измерить системные вызовы для проверки.
@JeffBurdges, OS X не использовала shell exec с DHCP с версии 10.3, а до этого bash не был установлен в системе. DHCP в OS X просто не проблема с Shellshock. (Одним поводом для беспокойства меньше. :))
→ Джефф: обратите внимание: strings /usr/libexec/bootpd | egrep '/bin|bash'и nm -a /usr/libexec/bootpd | egrep 'fork|exec'. Прочитав вывод этих команд в разных версиях MacOS X, вы можете пересмотреть свой анализ рисков из-за dhcpdMacOS X… но только этот :(.
Не совсем. Необходимо просмотреть символы, вызываемые библиотекой, которая otool -L /usr/libexec/bootpdсообщает, что содержит execвызов. И stringsкоманда бессмысленна, поскольку переменные среды определяют вызываемую оболочку. Однако я впечатлен тем, что нет любимых библиотечных вызовов system.
@JeffBurdges, так что добавление «| SHELL» в строку поиска egrep (для вывода строк) не поймает это?
Кроме того, otool -Lединственный вывод, который я получаю, — это список библиотек (CoreFoundation, SystemConfiguration, OpenDirectory, libresolv.9.dylib и libSystem.B.dylib)
Да strings .. | grep SHELLгораздо полезнее, чем bash, но не абсолютно. Имхо nm -a ... | grep systemсамое главное, и execтоже помогает, но это только для ванильного BSD, Linux и т.п. софта. Библиотеки Apple предлагают разные подпрограммы. Просто используйте способ Cocoa, например: stackoverflow.com/questions/412562/…
Ничего страшного, но вы, ребята, постоянно говорите вещи, которые технически неверны. Вы не можете быть на 100% уверены, не выполняя дополнительную работу. Apple, возможно, проделала эту работу для своих серверов, которые остаются включенными с включенным брандмауэром, прежде чем выпустить свое заявление, но на самом деле я сомневаюсь, что они сделали даже это. Это, вероятно, хорошо, но Apple все равно следует разгромить отбивные за то, что они так мучительно медлительны, чтобы исправить их bashсамостоятельно.
Я пользователь Snow Lion, и я вижу, что Apple не планирует ничего делать для 10.6.8. Но теперь я посетил Системные настройки, которые я изменил до самого параноидального уровня в соответствии с вашими предложениями. Спасибо, Джефф.

Я сделал этот инструмент, как только услышал об этой уязвимости. Он предоставит вам ссылку на статью, чтобы исправить вашу оболочку, если инструмент определит, что вы уязвимы.

Требуется Mac OS X 10.6 и выше.

Может быть, это только я ... но идея запуска кода какого-то случайного человека для проверки эксплойта кажется очень плохой идеей , когда вы можете так же легко вставить строку (которая явно только запускает тест и ничего более) в окно терминала.
Я согласен, поэтому источник находится на code.google.com/p/shellshock-check
Однако иногда он может предложить простоту использования для тестирования нескольких систем.
Я не вижу пользы от этой штуки. Проверить уязвимость гораздо проще, вставив простую командную строку в окно терминала.
Однако при тестировании нескольких машин, особенно в моем случае, как я это делаю, вставить флешку и открыть Shellshock Check.app намного проще, чем открыть Safari, найти команду bash для проверки, затем открыть терминал, вставить это команду, а затем нажмите Enter. Намного быстрее воткнуть флешку, и открыть одно приложение.
Если вам нужно проверить несколько систем, просто используйте простой сценарий оболочки для проверки уязвимости, поместите его на карту памяти и запустите с карты памяти (просто откройте его для запуска).
Затем вы снова можете проверить эту флешку на наличие ошибки BadUSB ( srlabs.de/badusb ) :-)