CVE 2017-5689: Ручная эксплуатация уязвимости в Intel AMT

CVE 2017-5689: Ручная эксплуатация уязвимости в Intel AMT

Сценарий на основе уязвимости CVE 2017-5689 может быть реализован очень быстро и все еще может стать причиной фатальных последствий для многих систем.

Автор: Laxita Jain

Введение

В этой статье рассматривается ручная эксплуатация уязвимости CVE-2017-5689 в технологии Intel AMT (Active Management Technology). Она позволяет обойти механизм аутентификации в ее веб-интерфейсе и удаленно получить права администратора. В статье кратко рассмотрены веб-интерфейс технологии и ее аппаратная часть, а затем — процесс обнаружения и эксплуатации данной уязвимости.

Технология Intel AMT

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

Intel Management Engine

На материнских платах корпоративных компьютеров с поддержкой AMT установлен отдельный микропроцессор — Intel Management Engine (ME). Он имеет полный доступ к аппаратному обеспечению, что позволяет выполнять различные задачи во время загрузки, работы или даже в спящем режиме основной системы. Благодаря этому администратор получает удаленный доступ к памяти, клавиатуре, драйверам, BIOS и сетевому интерфейсу.

Веб-интерфейс в Intel AMT

Доступ к веб-интерфейсу осуществляется через два порта:

  • 16992: Доступ к веб-серверу AMT по протоколу HTTP.

  • 16993: Доступ к веб-серверу AMT по протоколу HTTPS.

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

Суть проблемы

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

strcmp(user_value, server_value, length)

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

Уязвимость заключается в том, что произойдет, если передать пустую строку. В этом случае ее длина, а значит и количество сравниваемых символов, будет равна нулю. Если сравнивать нечего, функция strcmp вернет 0. Используя прокси-сервер (например, Burp Suite) для перехвата и изменения запроса, можно отправить пустое значение в поле пароля. В результате уязвимость позволит обойти аутентификацию в веб-интерфейсе и получить полный удаленный контроль над системой.

Тестирование уязвимости

Шаг 1: Настройте прокси-сервер для перехвата запросов. Для начала найдите IP-адрес и порт уязвимой системы, например, с помощью поисковой системы Shodan, и откройте веб-интерфейс Intel AMT. В появившемся диалоговом окне введите имя пользователя «admin» и любой случайный пароль.

Рисунок 1: Диалоговое окно аутентификации в веб-интерфейсе Intel AMT

Имя пользователя «admin» является стандартным для интерфейсов AMT, поэтому его менять не нужно. В запросе будет изменен только параметр, отвечающий за пароль.

Шаг 2: В перехваченном запросе найдите параметр response.

Рисунок 2: Запрос, перехваченный во время авторизации

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

Шаг 3: Обнулите параметр response.

Рисунок 3: Запрос с обнуленным параметром response

После обнуления этого параметра на сервер отправляется пустой ответ (дайджест).

Шаг 4: Отправьте измененный запрос и получите доступ.

Рисунок 4: Авторизация успешно пройдена

Пустая строка, отправленная на сервер, передается в функцию сравнения. Поскольку длина строки равна нулю, функция возвращает 0, что система интерпретирует как успешное совпадение паролей. Аутентификация пройдена.

Заключение

Эксплуатация уязвимости CVE-2017-5689 не требует много времени и до сих пор может привести к серьезным последствиям для скомпрометированных систем. Получив доступ, злоумышленник может нанести значительный ущерб как отдельному компьютеру, так и всей сети. Поскольку Intel ME функционирует независимо от основной операционной системы, атакующий, проникнув в локальную сеть, может удаленно активировать AMT на других машинах и масштабировать атаку. Этой уязвимости присвоен рейтинг CVSS 9.8.

Ссылки

· https://www.blackhat.com/docs/us-17/thursday/us-17-Evdokimov-Intel-AMT-Stealth-Breakth rough-wp.pdf

· https://nvd.nist.gov/vuln/detail/CVE-2017-5689

Кто тянет ниточки вашего скролла — и почему пора их перерезать?

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