Обзор уязвимостей. Выпуск 4

Дата: 01.11.2018
Автор: Андрей Жуков, аналитик

1. Перечисление пользователей OpenSSH CVE-2018-15473

Место обитания:

Сервис OpenSSH. Данный сервис является самым популярным средством удаленного администрирования UNIX-серверов. А если учесть, что OpenSSH предустановлен на множестве IoT-устройств*, степень охвата уязвимости поистине огромна (80% компьютеров в сети Интернет на 2006 год).

*Так называемый «Интернет вещей». Сейчас уже практически у всех дома есть умные пылесосы, кофеварки и даже душевые кабины, управляемые удаленно через приложения. Речь как раз о них.

Техническое описание:

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

Особенности эксплуатации:

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

Таким образом злоумышленник может найти, помимо встроенной учетной записи root с правами администратора системы, ещё и целый перечень других учётных записей системы, возможно не обладающих административными правами. И далее применить к найденным логинам брутфорс-атаку, то есть попытаться подобрать пароль методом перебора возможных вариантов. 

И если, как правило, административная учетная запись root защищена хорошим паролем, то велика вероятность «нащупать» непривилегированную, возможно забытую, учетную запись в стиле www:www или test:test, подобрать к ней пароль и проникнуть в систему под видом легального пользователя.

Кто подвержен:

Все версии OpenSSH до 7.6 включительно.

Как защититься:

Обновиться до версии минимум 7.7 или выше.

2. Обход аутентификации libssh CVE-2018-10933 

Место обитания:

Снова SSH, но на этот раз уязвим его отдельный компонент – библиотека libssh. 

Техническое описание:

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

Особенности эксплуатации:

Для эксплуатации ни чего особенного не требуется. По сути, одно только наличие SSH-сервера с уязвимой libssh означает открытые двери в систему.

Кто подвержен:

Серверы, использующие libssh версии от 0.6.0 до 0.7.5 и 0.8.3 включительно.

К счастью, использование библиотеки libssh в составе SSH сервера встречается не часто. Например, самая распространённая реализация – OpenSSH – не использует данную библиотеку вовсе. Поэтому уязвимости в реальности подвержено не так много систем. Среди потенциально возможно уязвимых систем мог бы быть GitHub, но его реализация libssh не содержала уязвимости.

Как защититься:

Обновиться до версий 0.7.6 или 0.8.4 или не использовать библиотеку libssh. 

3. Исполнение произвольного кода в Ghostscript

Место обитания:

Сама уязвимость находится в интепретаторе Ghostscript.

Интепретатор Ghostscript работает с PostScript – языком разметки для принтеров, а также PDF. Данный интепретатор есть во множестве библиотек и программ, таких как ImageMagic, Evince, GIMP и многих других.

В свою очередь библиотека ImageMagic может быть использована любым высокоуровневым языком программирования и встретиться на любом сайте. 

Техническое описание:

Интепретатор — это программа, читающая какие-либо наборы команд из файла и выполняющая определённые действия, связанные с ними.

PostScript – язык описания страниц, связанный так или иначе с печатью. Дело в том, что принтеры, как правило, не понимают всего многообразия графических и офисных файлов, которые они печатают. Для решения этой проблемы используется универсальный язык разметки – PostScript, в который программа Ghostscript может конвертировать практически что угодно. Затем содержимое в виде PostScript отправляется на печать.

Было обнаружено, что через ключевое слово «mark» можно внедрить произвольную системную команду, которая будет исполнена интепретатором Ghostscript в момент открытия файла.

Особенности эксплуатации:

Для эксплуатации требуется открытие специального графического файла со следующим содержимым:

В данном примере показано содержимое JPG-файла, открывающего лоток CD-привода. Несмотря на своё расширение «.jpg» это не обычная картинка, а как раз-таки PostScript.

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

Кто подвержен:

Главным образом, уязвимости подвержены WEB-сайты, принимающие от пользователя какую-либо картинку – например, для аватарки. В случае, если для чтения картинок используется ImageMagic или другая уязвимая библиотека, то злоумышленник может получить доступ к серверу со всеми вытекающими последствиями, просто отправив соответствующую картинку.

Также уязвимости подвержены рядовые пользователи Linux-систем через открытие JPG/PDF файлов.

Как защититься:

На данный момент не существует обновления. Однако можно запретить обработку опасных файлов в конфигурационном файле /etc/ImageMagick-{6,7}/policy.xml:

<policy domain="coder" rights="none" pattern="{PS,PS2,PS3,EPS,PDF,XPS}" />

4.Обход аутентификации в MikroTik CVE-2018-14847

Место обитания:

Роутеры фирмы MikroTik. 

Техническое описание:

Злоумышленник может абсолютно анонимно получить содержимое любого файла с устройства. Для этого ему требуется подключиться к winbox службе MikroTik (порт 8291/tcp) и отправить специальный запрос, содержащий путь до произвольного файла.

Особенности эксплуатации:

В качестве наиболее интересного для получения может быть использован файл user.dat, содержащий учетные данные пользователей устройства: 

С помощью изъятых учетных данных у злоумышленника появляется полный административный доступ к устройству. Используя встроенные возможности устройства MikroTik, злоумышленник, например, может прослушивать весь сетевой трафик жертвы. Или подменить DNS-сервер на свой подконтрольный и перенаправлять пользователей устройства на произвольные сайты (включая вредоносные).

Кто подвержен:

Версии MicroTik Longterm: 6.30.1 – 6.40.7, Stable: 6.29 – 6.42, Beta: 6.29rc1 – 6.43rc3

Как защититься:

Установить обновление.