Прошло всего несколько дней после того, как было объявлено, что злоумышленники могут использовать уязвимость в MS Outlook, используя OLE, чтобы украсть NTLM-хэш пользователей Windows.
Исследовательская группа Check Point обнаружила, что утечка дайджеста NTLM возможна и с помощью файлов PDF. Атака возможна без какого-либо взаимодействия с пользователем — достаточно просто открыть файл.
По мнению исследователей Check Point, вместо того, чтобы использовать уязвимость в файлах Microsoft Word или обработку RTF-файлов Outlook, злоумышленники используют функцию, позволяющую встраивать удаленные документы и файлы в PDF.
Затем, злоумышленник может использовать это, чтобы добавить вредоносный контент в PDF-файл. Когда пользователь открывает этот PDF-файл, объект автоматически отправляет учетные данные (в виде хешей NTLM) на удаленные сервера злоумышленника.
PDF-файл состоит в основном из объектов, вместе с структурой документа, структурой файлов и потоками контента. Существует восемь основных типов объектов:Предпосылки
- Булевы значения
- Целые и действительные числа
- Строки
- Имена
- Массивы
- Потоки
- Нулевой объект
- Словари
Словарь — это таблица, содержащая пары объектов, называемых элементами. Первый элемент каждой записи — это ключ, а второй элемент — значение. Ключ должен быть именем, а значением может быть любым видом объекта, включая даже другой словарь.
Страницы документа представлены объектами словаря, называемыми объектами страницы. Объекты страницы состоят из нескольких обязательных и необязательных записей.
Запись /AA является необязательной, определяющем действия, которые должны выполняться при открытии страницы (запись /O) или закрытии (запись/C).Proof of Concept
Запись /O (/C) содержит словарь действий. Словарь действий состоит из 3 обязательных записей: /S, /F и /D:
- /S: Описывает тип действия, которое необходимо выполнить. Действие GoTo изменяет представление на указанное место в документе. Типы действий: GoToR, (Go To Remote) и GoToE (Go To Embedded) — оба уязвимые — переходят в другие PDF-файлы.
- /F: присутствует в GoToR и GoToE и имеет разные значения для каждого из них. В обоих случаях она описывает расположение другого PDF-файла. Тип — спецификация файла.
- /D: Описывает местоположение, которое необходимо найти внутри документа.
Внедрив вредоносную запись (используя поля, описанные выше + данные SMB-сервера, с помощью «/F»), злоумышленник может заставить жертву открыть созданный PDF-файл, который затем автоматически отправит хэш-файлы NTLM, имя хоста и данные о домене жертвы на, подконтрольный злоумышленнику, удаленный сервер.
Кроме того, с точки зрения жертвы, нет никаких доказательств или каких-либо предупреждений безопасности о действиях атакующего, что делает невозможным заметить аномальное поведение без предварительного анализа файла.
NTLM дайджест утекает через SMB-трафик и отправляется на удаленный сервер злоумышленника, который может быть дополнительно использован для SMB-Relay атак.
Наше расследование привело нас к выводу, что все пользователи PDF файлов в ОС Windows уязвимы и будут раскрывать свои учетные данные NTLM при эксплуатации данной уязвимости.Уязвимые продукты и смягчение последствий атак
Проблема была раскрыта Adobe, которая ответила, как показано ниже, без обозначения CVE или исправлений данной уязвимости:Раскрытие
«Спасибо, что обозначили данный случай. В конце прошлого года Microsoft выпустила дополнительную бюллетень безопасности [0], которая предоставляет клиентам возможность отключить аутентификацию SSO NTLM в качестве метода авторизации для публичных ресурсов. Благодаря этому обновлению, доступному для клиентов, мы не планируем вносить изменения в Acrobat ».
[0] Ссылка
На момент написания данной статьи мы не получили ответа от Foxit.
Evengining
Как считаете, подвержены ли другие форматы таким уязвимостям? Как мне теперь качать любимые книжки со всяких левых сайтов? :(
Статья очень интересная и в кой-то мере удивительная, автору спасибо!
ildarz
"Уязвим" (ставлю кавычки, потому что это достаточно спорный термин в данном случае) любой формат, в который можно вставить ссылку на SMB ресурс. В целом ничего глобально нового тут нет, проблема известна очень давно на самом деле. :) Защищаться можно разными способами — зарубить SMB на файрволе, отключить NTLM, прочитать данную в конце статьи ссылку на документ от MS и выполнить описанные там действия.
P.S. Вот еще хороший пост двухлетней давности, где описана суть проблемы — https://habr.com/post/306810/ .
Evengining
Интересная статейка, благодарю.