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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2017-0199-Fix — Быстрое и грязное исправление для выполнения кода OLE2 через .hta | Kitploit
Инструменты/GitHubGitHub/notawful/cve-2017-0199-fix
Анализ уязвимостейЭксплуатацияАудит конфигурацииОбучение и ОбразованиеРеагирование на ИнцидентыArchived
GitHubnotawful/cve-2017-0199-fix

CVE-2017-0199-Fix

Быстрое и грязное исправление для выполнения кода OLE2 через .hta

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

Популярное

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

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

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

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

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

Исправление CVE-2017-0199

Устраняет возможность CVE-2017-0199 выполнять код путем изменения обработчика по умолчанию для файлов .hta. Обработчик по умолчанию для файлов, вызываемых через OLE2 (COM-объекты), хранится отдельно от приложения по умолчанию локальной системы и может быть изменен только через реестр.

Базовая логика эксплуатации

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

  1. RTF-документ, размещенный на веб-сервере, содержит полезную нагрузку в виде вредоносного гипертекстового приложения (HTA), дописанную в его конец.
  2. Сервер размещения отвечает на GET-запросы к файлу заголовком, указывающим, что содержимое является HTA-файлом.
  3. Microsoft Word запускает OLE2-объект для получения RTF-документа с веб-сервера.
  4. Microsoft Word вынужден проверять тип файла, поскольку расширение .rtf не соответствует типу содержимого HTA.
  5. Microsoft Word проверяет с конца файла наличие распознаваемых структур данных и сопоставляет структуры данных HTA с типом содержимого HTA.
  6. Microsoft Word автоматически исправляет тип файла и передает его COM-обработчику для HTA-файлов (mshta.exe).
  7. Mshta.exe выполняет вредоносный код гипертекстового приложения из конца файла.

COM-обработчики хранятся в реестре отдельно от системных обработчиков, чтобы предотвратить ошибки в процессе проверки типа файла.

Базовое исправление

  1. В RegEdit.exe перейдите к HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{3050f4d8-98B5-11CF-BB82-00AA00BDCE0B}\DefaultIcon
  2. Откройте дополнительные разрешения для
DefaultIcon
  • Смените владельца на Administrators (группа)
  • Добавьте вашу текущую учетную запись в список субъектов безопасности, назначьте ей «Полный доступ»
  • Измените значение ключа (Default) на C:\Windows\System32\notepad.exe,1
  • В дополнительных разрешениях для DefaultIcon удалите вашего пользователя и назначьте владельцем SYSTEM
  • Повторите шаги с 1 по 6 для HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID{3050f4d8-98B5-11CF-BB82-00AA00BDCE0B}\LocalServer32, изменив значение ключа (Default) на C:\Windows\System32\notepad.exe
  • Это устраняет возможность CVE-2017-0199 выполнять код, изменяя обработчик по умолчанию для .hta-объектов, вызываемых через OLE2, на Блокнот. Это применимо ко всем случаям вызова .hta-файлов через OLE2. В результате будет открываться Блокнот и появляться ошибки, но код выполняться не будет.

    ОРИГИНАЛЬНЫЕ КЛЮЧИ РЕЕСТРА

    root@kitploit:~
    HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{3050f4d8-98B5-11CF-BB82-00AA00BDCE0B}\DefaultIcon\(Default)
    	C:\Windows\SysWOW64\mshta.exe,1
    HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{3050f4d8-98B5-11CF-BB82-00AA00BDCE0B}\LocalServer32\(Default)
    	C:\Windows\SysWOW64\mshta.exe
    

    ИЗМЕНЕННЫЕ КЛЮЧИ РЕЕСТРА

    root@kitploit:~
    HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{3050f4d8-98B5-11CF-BB82-00AA00BDCE0B}\DefaultIcon\(Default)
    	C:\Windows\System32\notepad.exe,1
    HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{3050f4d8-98B5-11CF-BB82-00AA00BDCE0B}\LocalServer32\(Default)
    	C:\Windows\System32\notepad.exe
    

    ОКРУЖЕНИЕ

    • 1 сервер Ubuntu 16.04.2 LTS с LAMP-стеком и SSH-сервером
    • 1 клиент Windows 10 с Office 365 (2016)

    ССЫЛКИ

    • Эксплойт, доказательство концепции: https://rewtin.blogspot.ca/2017/04/cve-2017-0199-practical-exploitation-poc.html (дата обращения: 2017-04-17)
    • Анализ CVE-2017-0199: https://www.fireeye.com/blog/threat-research/2017/04/cve-2017-0199-hta-handler.html (дата обращения: 2017-04-17)

    УРОКИ

    • Не редактируйте HKCR напрямую. Изменяйте соответствующие ключи в HKCU или HKLM.
    • Вы можете вернуть владение ключом реестра обратно SYSTEM или другим пользователям после того, как забрали его.
    • Не связывайтесь с реестром. Оставьте его в том виде, в котором вы его нашли, после внесения изменений.
    • Process Monitor имеет мощную фильтрацию по правой кнопке мыши для отсечения лишнего.
    • Функция поиска Process Monitor ищет строку во всех полях.
    • pscp.exe (Putty) — это инструмент командной строки для передачи файлов по SSH.
    • Linux — это по-прежнему сплошная боль.

    Заключительное замечание

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

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

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