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

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

В новом обзоре вы уже традиционно найдете самые актуальные, крупномасштабные и эксплуатируемые уязвимости. И, конечно, самые любопытные уязвимости четвертого квартала с точки зрения аналитиков УЦСБ. В продолжение динамики масштабных уязвимостей начала года (eternalblue), второе полугодие 2017 также было крайне богато на уязвимости самого разного рода. В этот раз в стороне не остался никто — подверженными оказались не только самые распространённые операционные системы, но даже беспроводные протоколы передачи данных.
Ну а начну я обзор с уязвимости, про которую забыл написать в прошлый раз. Уязвимости не столь новой, но актуальной:

1. Уязвимость CVE-2016-1349

Место обитания:
Cisco IOS (операционная система активного сетевого оборудования — маршрутизаторы, коммутаторы).

Техническое описание:
Эта уязвимость не нова, однако актуальна и широко распространена по сей день. Уязвимость была найдена исследователями компании Digital Security и представлена широкой публике на конференции Zero Nights 2016. Суть уязвимости весьма проста: она заключается в отсутствии всяческих механизмов аутентификации сервиса Cisco Smart Install.

Особенности эксплуатации:
Эксплуатация уязвимости настолько проста, что с ней справится и школьник начальных классов. Не потребуется даже применять социальную инженерию или предварительно определять версию программного обеспечения (ПО).
Всё, что потребуется — это открытый 4786/TCP порт. В результате эксплуатации уязвимости можно не только получить содержимое главного конфигурационного файла, читаемого при загрузке (start config), зачастую содержащего пароли, но и произвести изменения в конфигурации Cisco. Для Cisco версий старше 15.2 (включительно) также становится возможным выполнить произвольный код.

Кто подвержен:
Cisco с запущенным сервисом Cisco Smart Install. К примеру, нами были просканированы все маршруты движения трафика (hop) ко всем подсетям РФ на 4786/TCP-порт. В результате было выявлено 139 уязвимых сетевых устройств на пути к 444 подсетям разного размера, что в общей сложности затрагивает трафик до 459986 хостов. Красные точки на карте — географическое расположение уязвимых сетевых устройств:

Как защититься:
На данный момент лучшая защита — ограничить сетевой доступ к порту 4786/TCP.

2. Уязвимость CVE-2017-11882

Место обитания:
Редактор формул офисного пакета Microsoft Office версий 2007 SP3, 2010 SP2, 2013 SP1, 2016.

Техническое описание:
Уязвимость заключается в ошибке редактора формул eqnedt32.exe, выполненного как OLE компонент, т. е. внедряемого в офисный документ. Стоит заметить, что ошибка существовала без малого 17 лет, так как последняя версия данного компонента датируется ноябрём 2000 года.

Особенности эксплуатации:
Эксплуатация уязвимости на деле оказывается ещё проще, чем RCE эксплойт CVE-2017-0199 из прошлого обзора. Всё, что требуется для ее использования — это наличие общедоступного ресурса, содержащего произвольный контент. В случае примера на картинке ниже, был взят исполняемый файл программы «Калькулятор». С помощью специальным образом сгенерированного rtf-документа это содержимое может быть автоматически открыто:

Как видно на картинке, после открытия специального rtf-документа уязвимые версии MS Office допускают выполнение произвольного кода — в данном случае был запущен калькулятор.

Кто подвержен:
Весь корпоративный сегмент, использующий пакет Microsoft Office.

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

3. Уязвимость CVE-2017-12617

Место обитания:
Apache Tomcat до 9.0.1 (Beta), 8.5.23, 8.0.47 and 7.0.82

Техническое описание:
Уязвимость заключается в достаточно простом способе загрузке на сервер jsp-скрипта с произвольным содержимым через PUT-запрос. Повторное обращение к загруженному скрипту позволит выполнить произвольный код.

Особенности эксплуатации:
Эксплуатация уязвимости требует, чтобы сервер обрабатывал PUT-запрос от клиента (по умолчанию такая функция отключена). Такой запрос подразумевает сохранение пользовательского содержимого в произвольном файле на сервере. Если данное условие соблюдается, то всего в два запроса любой желающий может получить доступ к серверу.

Кто подвержен:
Apache Tomcat, обновленные ранее конца сентября 2017 года, с разрешенными PUT-запросами.

Как защититься:
Отключить «readonly» в web.xml либо обновление до актуальной версии.

4. Уязвимость Blueborne — множественные уязвимости в стеке протоколов bluetooth

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

  1. Android:
    • CVE-2017-0785 — утечка памяти (4.4.4, 5.0.2, 5.1.1, 6.0, 6.0.1, 7.0, 7.1.1, 7.1.2, 8.0).
    • CVE-2017-0781 — удалённое исполнение кода (4.4.4, 5.0.2, 5.1.1, 6.0, 6.0.1, 7.0, 7.1.1, 7.1.2, 8.0).
    • CVE-2017-0782 — удалённое исполнение кода (4.4.4, 5.0.2, 5.1.1, 6.0, 6.0.1, 7.0, 7.1.1, 7.1.2, 8.0).
    • CVE-2017-0783 — перехват трафика (4.4.4, 5.0.2, 5.1.1, 6.0, 6.0.1, 7.0, 7.1.1, 7.1.2, 8.0).
  2. Windows:
    • CVE-2017-8628 — перехват трафика (Windows Server 2008 SP2, Windows 7 SP1, Windows 8.1, Windows RT 8.1, Windows 10 Gold).
  3. Linux:
    • CVE-2017-1000250 — утечка памяти (BlueZ 5.46).
    • CVE-2017-1000251 — повреждение памяти (kernel 2.6.32 — 4.13.1).
  4. iOS:
    • CVE-2017-14315 — повреждение памяти (iOS 7 — 9.3.4).

Техническое описание:
В общей сложности, масштабы уязвимости затрагивают более 8 миллиардов устройств, большую часть которых, конечно, составляют мобильные устройства и оборудование, объединенное сетью Интернета вещей (IoT).
Столь большое количество уязвимостей — это следствие достаточной сложности протоколов технологии bluetooth. Общее описание технологии занимает более 2800 страниц. Для сравнения, это в 6 раз больше, чем описание технологии Wi-Fi.
Дополнительную опасность уязвимости придаёт беспроводной мобильный характер. Вирусы, взявшие на вооружение данную уязвимость, теоретически могут достичь любого, даже самого удаленного уголка планеты, где используется bluetooth.

Особенности эксплуатации:
Всё, что требуется для эксплуатации — наличие включенного bluetooth на уязвимом устройстве. Тестирование провели на личном имуществе, а именно на планшете Huawei. Свидетельства успешной эксплуатации можно видеть ниже.

На основе данных из утечки памяти уязвимого устройства становится возможным выполнить произвольный код на атакуемом устройстве. А выполнение произвольного кода, по сути, означает перехват управления над устройством злоумышленником.

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

Как защититься:
Никогда больше не включать bluetooth. Ну или провести обновление:
1. Android — установка обновления от производителя конкретного устройства (если устройство ещё поддерживается).
2. Windos — уязвимость устраняется сентябрьским ежемесячным обновлением за 2017 год.
3. Linux — обновление до ядра до версии минимум 4.13.2, bluez до минимум 5.4.7.
4. iOS — покупка iPhone X.

5. Уязвимость CVE-2017-7115

Место обитания:
Мобильная операционная система для смартфонов Apple iOS до 11 версии, Apple tvOS до 11 версии.

Техническое описание:
Уязвимость «состояния гонки» в Wi-Fi компоненте от Apple позволяет с помощью специально созданных Wi-Fi пакетов прочитать или записать произвольное содержимое в физическую память устройства, и в дальнейшем выполнить произвольный код.

Особенности эксплуатации:
Из-за достаточно высокой сложности эксплуатации уязвимости на данный момент публичный эксплойт был найден только для версии iOS 10.2 (на ней функционирует iPhone 7).
Для успешной эксплуатации нужно настроить специальную Wi-Fi точку доступа, после чего вынудить подключиться к данной Wi-Fi сети уязвимое устройство. После этого, с помощью специальных Wi-Fi пакетов, посылаемых на устройство, в памяти микросхемы Wi-Fi может быть записан произвольный код, который за тем может исполняться с наивысшими привилегиями.

Кто подвержен:
Все, кто пользуются не последним iPhone :)

Как защититься:
Не подключаться к «левым» точкам доступа. И провести обновление системы до версии iOS 11.

6. Уязвимость Wi-Fi KRACK — Key Reinstallation Attacks (CVE-2017-13077, CVE-2017-13078, CVE-2017-13079, CVE-2017-13080, CVE-2017-13081, CVE-2017-13082, CVE-2017-13084, CVE-2017-13086, CVE-2017-13087, CVE-2017-13088)

Место обитания:
Стандарт WPA2

Техническое описание:
В середине октября 2017 года появилась информация, что в одной из реализаций Wi-Fi сети найдена уязвимость, позволяющая расшифровать трафик WPA2 защищённых сетей. Стоит заметить, что последний раз что-то серьёзное в Wi-Fi находили аж в 2012 году (атака на WPS).
Уязвимость затрагивает не само шифрование (AES), а протокол Wi-Fi сети WPA2-CCMP, и позволяет перехватить или изменить зашифрованный передаваемый трафик.
Суть уязвимости заключается в том, что в процессе перенастройки сессионных ключей шифрования, возможно повторное использования одноразового кода (nonce). Это снижает защиту от атаки «повторного воспроизведения». Т. е. делает возможным расшифровку передаваемого трафика или определения ключей шифрования.
Стоит отметить, что всё относится только к трафику от клиентов Wi-Fi сетей. Тот трафик, что принимается клиентом от точки доступа, не будет перехвачен.

Особенности эксплуатации:
Для успешной реализации атаки потребуется две Wi-Fi сетевые карты. Первая сетевая карта будет слушать изначальный трафик между жертвой и точкой доступа. Вторая будет работать в качестве подставной точки доступа с тем же BSSID (mac-адрес), что и у оригинальной точки доступа, и выполнять реинсталляцию ключей шифрования.

Кто подвержен:
Все устройства с Wi-Fi адаптерами на базе операционных систем Windows, Linux, MacOS, BSD, Android, iOS, а также точки доступа от различных производителей: MediaTek, Lihttp://www.picshare.ru/view/8404186/nksys и т. п.

Как защититься:
Использование дополнительных слоёв шифрования (https) на уровне приложений. Более детальная информация по обновлениям доступна здесь: https://github.com/kristate/krackinfo

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

7. Уязвимость — бэкдор (намеренно встроенный вредоносный функционал)

Место обитания:
NetSarang Xmanager/Xshell 5.0

Техническое описание:
Сразу два бэкдора было последовательно обнаружено в ssh-клиентах под Windows Xmanager и Xshell. Напомню, что бэкдор — это уязвимость, которая позволяет получить несанкционированный доступ к данным или удалённому управлению операционной системой и компьютером в целом.
Первый из бэкдоров BothanSpy (BothanSpy.dll) предположительно связан с ЦРУ и предназначался для сбора учётных данных и ключей для доступа на сервера разных компаний по протоколу ssh. Позднее, в середине июля 2017 года, вышло обновление закрывающее данный бэкдор. Забавным оказался тот факт, что именно это обновление содержало другой бэкдор — Shadowpad (nssock2.dll).

Особенности эксплуатации:
Эксплуатация данной уязвимости (бэкдора Shadowpad) предполагает регистрацию TXT-доменного имени, сгенерированного на основе текущей даты (месяц-год), куда раз в 8 часов будет обращаться бэкдор.

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

Как защититься:
Обновление до последних версий либо использование более распространённых альтернативных ssh-клиентов (putty)