ShellShock атака, простая

{title}

Недавно появилось сообщение о семействе уязвимостей, связанных с Bash BUG, наиболее распространенным интерпретатором в GNU / Linux, MAC OS и некоторых Unix, и получил название S hellShock или Bashdoor (CVE-2014-6271) . Самая важная и тревожная проблема в этом отношении связана с тем фактом, что БАГ присутствовал в Баш в течение последних 20 лет, поэтому, по оценкам, серьезность этого вопроса даже выше, чем Heartbleed.

Bash BUG или ShellShock сами по себе не являются вредоносным кодом (как будто компьютерные вирусы, шпионское ПО, вредоносное ПО и т. Д.), Поэтому их нельзя обнаружить и заблокировать антивирусом или аналогичными системами, но их необходимо исправить в сама реализация программного обеспечения, которая "терпит" это.

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

Что такое Bash BUG ShellShock?


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

ОШИБКА проявляется, когда в переменной среды после определения функции добавляется дополнительный код, который Bash продолжит анализировать и выполнять после загрузки функции.

С помощью следующей команды, пустого определения функции, произвольный код был загружен в переменную «x», а затем вызван Bash.

{title}

В результате перед вызовом Bash была загружена переменная окружения, и был выполнен введенный код, который просто показывает «уязвимую» строку на консоли (конечно, это могло быть и хуже!). Затем был выполнен Bash, и в качестве примера была вызвана команда echo. Более простой вариант команды для выполнения теста:

 $ env x = "() {:;}; эхо уязвимо" bash 
Эта последняя команда покажет «уязвимую» строку на экране, если версия Bash имеет ошибку, или ничего не будет показано, если это исправленная версия.

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

В этом руководстве будет использован один из самых простых случаев атаки shellShock на DHCP-клиент GNU / Linux .

Системы, вовлеченные

Хост жертвы:
GNU / Linux с Bash 4.3
DHCP-клиент isc-dhclient-4.2.4
IP 192.168.1.88 (через DHCP)

Host Attacker:
Windows XP
DHCP-сервер «tftp32», автор Ph. Jounin
IP: 192.168.1.100

{title}

Для доказательства концепции мы предполагаем наличие локальной сети, в которой подключены и жертва, и атакующий.
Поскольку программное обеспечение клиента DHCP выполняется с правами администратора, злоумышленник попытается включить в конфигурацию DHCP, назначенную жертве, вредоносный код в некотором параметре DHCP.

процесс

1) Злоумышленник запускает программное обеспечение службы DHCP {Это руководство использовалось (ftp32 ”Ph. Jounin)}

1.1) Выберите используемый сетевой интерфейс и нажмите кнопку «Настройки»

{title}

1.2) Настройте параметры для запуска только службы DHCP.

{title}

1.3) Перейдите на вкладку «DHCP» и настройте следующим образом:

{title}

$config[ads_text5] not found

1.4) Обратите внимание, что в поле «Addiotional Option» была указана опция 114 (используется в VOIP), а определение функции Bash и вредоносный код были введены в поле сведений о опции:

 () {игнорируется;}; эхо «ИНЪЕКЦИОННЫЙ КОД»; / bin / cat / etc / passwd 
1.5) Нажмите «ОК», служба DHCP готова.

2) В системном терминале жертвы выполните следующую команду, чтобы системный журнал оставался «на виду», когда мы выполняем запрос DHCP:

 # tail -f / var / log / syslog & 
3) Предполагая, что eth1 является сетевым интерфейсом жертвы, запустите клиент DHCP:
 # dhclient eth1 
4) Команда сделает запрос DHCP и атакующему соответствующее назначение:

{title}

5) В терминале жертвы, благодаря команде tail, которая находилась в фоновом режиме и показывала системный журнал, будет отображаться выполнение введенного кода, в этом случае будет активирована цепочка «INJECTED CODE», а затем содержимое файл / etc / passwd жертвы (могло быть намного хуже ...):

{title}

Эта последняя часть благодаря команде « / bin / cat / etc / passwd », которая является частью строки, указанной в опции 114.

Злоумышленник мог выполнить другие команды и выполнить любое действие, если у него есть полномочия «root», так как DHCP-клиент Victim работает с этими привилегиями.

соображения

Для данного руководства было использовано общее программное обеспечение без изменений в системе Victim. Эта уязвимость присутствует в других приложениях, которые используют Bash для выполнения параметров или сценариев в системе.

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

Стоит уточнить, что представленный здесь контент полезен как для понимания механизма атаки, так и для повышения осведомленности об этом последнем пункте. Имейте в виду, что эта ошибка присутствует не менее 20 лет, поэтому она могла быть применена задолго до ее распространения.

  • 0

$config[ads_text5] not found