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

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

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

Свежие эксплойты появляются достаточно часто — по несколько экземпляров в день, а уязвимости появляются ещё чаще. Так, Microsoft закрывает десятки и даже сотни уязвимостей каждый месяц в рамках вторника обновлений (ежемесячного цикла обновлений, приходящегося на каждый второй вторник месяца), и это — только в части уязвимостей операционной системы (ОС) Windows.

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

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

Уязвимость MS17-010, она же EternalBlue (название эксплойта), более известна под названиями WannaCry, notPetya (вирусы-вымогатели)

Место обитания:
Про эту уязвимость уже слышали все, даже люди, не связанные с IT. Но всё же не упомянуть про неё нельзя. Эпидемия вируса WannaCry была отмечена даже регулятором: в июле 2017 года на сайте ФСТЭК России было опубликовано информационное письмо с рекомендациями по конкретным мероприятиям, которые необходимо выполнить специалистам по защите информации во избежание повторных компьютерных атак WannaCry.
Уязвимости подвержены все современные версии ОС Windows (xp/2003 — 10/2016). Подобная уязвимость — присутствующая в дефолтной конфигурации, не требующая аутентификации и при этом эксплуатируемая удалённо, — появляется крайне редко. Её можно сравнить, пожалуй, лишь с уязвимостью MS08-067, что даёт полное право назвать данную уязвимость уязвимостью десятилетия.

Техническое описание:
Уязвимость MS08-067 — ошибка обработки RPC-вызова, позволяющая удалённо выполнить произвольный код, в контексте службы Server (процесс svchost.exe). В то время как уязвимость MS17-010 делает возможным удалённо выполнить произвольный код внутри ядра — т.е с наивысшими привилегиями. Это означает, что уязвимость позволяет злоумышленнику выполнить произвольный код с правами администратора системы и тем самым может привести к потенциальному несанкционированному доступу к конфиденциальной информации или даже произвольной корректировке хода технологического процесса, в случае обнаружения на объектах автоматизации.
Даже спустя две вирусные волны (WannaCry, notPetya) на пентестах часто можно встретить немало уязвимых целевых систем.

Особенности эксплуатации:
Для эксплуатации требуется только сетевой доступ на 445/tcp порт уязвимой системы.

Кто подвержен:
Все компании, использующие ОС Windows.

Как защититься:
Уязвимость автоматически устраняется мартовским ежемесячным обновлением от Microsoft либо отключением протокола SMBv1 на системах начиная с Windows Vista. Для Windows XP/2003 требуется ручное обновление KB4012598.

Уязвимость CVE-2017-7494, она же EternalRed, она же SambaCry

Место обитания:
Уязвимость является аналогом эксплойта EternalBlue, описанного выше, но для ОС семейства Unix (подвержены версии 3.5.0 — 4.5.4/4.5.10/4.4.14). Уязвимость делает возможным удалённо выполнить произвольный код на unix-машинах, на которых работает служба Samba (служба необходима для реализации общего доступа к ресурсам под ОС unix). Правда, в отличие от ОС windows, этот функционал является необязательным (непредустановленным), а значит уязвимости подвержены только те ОС, на которых служба разворачивалась администратором самостоятельно. Более того, для эксплуатации уязвимости в большинстве случаев потребуется аутентификация. Однако при проведении пентестов, особенно внутренних, часто встречаются ресурсы общего доступа с правом на запись без принудительной аутентификации.

Техническое описание:
Если коротко, суть уязвимости заключается в следующем: злоумышленник создает исполняемый .so-файл и сохраняет его на общедоступный ресурс, доступный на запись. После этого при обращении к только что сохранённой библиотеке в виде PIPEpathtofile.so через ipc$ (служебный общедоступный ресурс), такая библиотека будет подгружена, и её код может быть выполнен в контексте пользователя root.

Особенности эксплуатации:
Для эксплуатации требуется наличие доступа к расшаренному ресурсу, доступному на запись.

Кто подвержен:
Компании, использующие файл-серверы на базе пакета Samba.

Как защититься:
Отключение директивы в /etc/samba/smb.conf:
nt pipe support = no

Уязвимость CVE-2017-0199

Место обитания:
Данная уязвимость никак не связана с утечками АНБ, отчего на фоне последних событий (эпидемии WannaCry, Petya) про неё словно совсем забыли. А зря! Данная уязвимость позволяет совсем легально, т. е. не используя никаких низкоуровненых ошибок при работе с памятью, выполнить произвольный код. Это делает её независимой от версии и разрядности ОС, при этом эксплуатация реализуется достаточно просто. Данной уязвимости подвержены почти все версии офисного пакета Microsoft Office (2007SP3, 2010SP2, 2013SP1, 2016). Уязвимость может эксплуатироваться только через документ формата RTF (может также иметь расширение doc/docx). Стоит упомянуть, что вирус notPetya, помимо MS17-010, распространялся именно через данную уязвимость.

Техническое описание:
Суть уязвимости упрощённо заключается в следующем: если создать rtf-документ и вставить в него ссылку на произвольное содержимое (также в формате rtf), подгружаемое с удалённого сервера, и, при открытии созданного документа, отдать удалённое содержимое не как rtf, а как hta (html application) с произвольным кодом, то Microsoft Word выполнит принятый произвольный код. Данная уязвимость — отличный вектор нападения на компьютерную инфраструктуру компаний через фишинговые почтовые рассылки .

Особенности эксплуатации:
Для успешной эксплуатации на стороне уязвимой системы требуется наличие сети Интернет (это необходимо для загрузки hta-содержимого).

Кто подвережен:
Все компании, принимающие электронную почту из сети интернет.

Как защититься:
Уязвимость автоматически устраняется апрельским ежемесячным обновлением от Microsoft.

Множественные уязвимости в ImageMagic

Место обитания:
Данные уязвимости примечательны чрезвычайной простотой эксплуатации и эффективностью. В файле изображения с помощью специальных директив можно выполнять чтение, перемещение и удаление произвольных локальных файлов, а так же выполнять произвольный код.

Техническое описание:
Так, с помощью директивы fill, можно указать url рисунка, хранящегося на удаленном сервере. Указанный url передается программе wget (предустановлена в большинстве linux), которая выполняет скачивание. Суть уязвимости кроется в недостаточной фильтрации символа двойной кавычки, позволяющей внедрить не только произвольный аргумент для wget, но и произвольную команду, которая будет выполнена на сервере.

Особенности эксплуатации:
На сайте должен присутствовать функционал обработки изображений, например загрузки аватарки в личном кабинете.

Кто подвержен:
Все администраторы сайтов, где так или иначе есть обработка пользовательских изображений. Главная опасность уязвимости кроется в том, что данные уязвимости относятся не к конкретному продукту или языку программирования, а к целой библиотеке. Это делает уязвимости не столь очевидными для администраторов. Данная уязвимость ещё долго будет must-have проверкой на всех пентестах web-сайтов.

Как защититься:
Обновление imagemagic до актуальной версии.

Уязвимость sendmail argument injection в PHPMailer

Место обитания:
Версии PHPMailer до 5.2.19 включительно содержат уязвимость CVE-2016-1003, CVE-2016-1004. PHPMailer — это библиотека, которая представляет из себя php-класс — обёртку вокруг программы доставки почты sendmail, позволяющий легко отправлять сообщения электронной почты.

Техническое описание:
Суть уязвимости заключается в недостаточной проверке вводимых пользователем данных в поле адреса отправителя. Адрес отправителя передаётся в программу sendmail через аргумент командной строки, но учитывая недостаточную фильтрацию пользовательского ввода, становится возможным внедрить произвольный аргумент, который изменит поведение sendmail. В частности у sendmail есть возможность записать трафик в произвольный файл, а по-скольку трафик контролирует пользователь, то становится возможным создать произвольный php-скрипт (например webshell) в рабочем каталоге сайта.

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

Кто подвержен:
Все сайты, написанные на PHP, и использующие формы отправки электронных писем посредством phpmailer (около 9 млн).

Как защититься:
Обновление phpmailer до актуальной версии.

Уязвимость CVE-2017-8464

Место обитания:
Семь лет назад, когда появился нашумевший вирус stuxnet (правительственный червь, предназаченный для срыва ядерной программы Ирана), мир узнал про уязвимость MS10-046, позволявшую выполнить произвольный код через загрузку ярлыка. Всё, что было нужно — это просто открыть папку (флешку) с ярлыком, и через долю секунды вредоносный код уже начинал выполняться.
Спустя 5 лет после выхода патча для уязвимости был найден способ обойти этот патч. Так появилась уязвимость ms15_020. И вот теперь снова CVE-2017-8464. Данной уязвимости подвержены все версии ОС Windows, начиная с 7/2008 (включительно).
Суть уязвимости та же — достаточно просто открыть флешку или общедоступную папку, и оболочка windows, увидев обычный ярлык, запустит вредоносный исполняемый модуль.

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

Кто подвержен:
Все пользователи ОС Windows.

Как защититься:
Уязвимость автоматически устраняется июньским ежемесячным обновлением от Microsoft.