• Администрация SafeZone приветствует вас на нашем форуме!
    Если вы больше не желаете видеть рекламу при просмотре тем и сообщений - то достаточно просто зарегистрироваться. Для зарегистрированных пользователей реклама не отображается.

Разбор эксплойта для СVE-2017-11826

akok

Команда форума
Администратор
Сообщения
15,312
Симпатии
12,490
#1
Последний «вторник патчей» (17 октября) от Microsoft принес исправления для 62 уязвимостей, в том числе и патч, закрывающий критическую уязвимость «нулевого дня» СVE-2017-11826 во всех версиях Microsoft Office, которая эксплуатировалась в таргетированных атаках.

Эксплойт для этой уязвимости представляет собой RTF-документ, содержащий документ DOCX, который эксплуатирует СVE-2017-11826 в парсере Office Open XML.



Сам эксплойт находится в word/document.xml следующего содержания:



Согласно стандарту ECMA-376 для Office Open XML File Formats, валидный элемент font, описывающий используемые в документе шрифты, должен выглядеть следующим образом:



В теле эксплойта закрывающий тег </w:font> полностью отсутствует, а после открывающего <w:font> следует object-элемент <o:idmap/>, вызывающий type confusion в парсере OOXML. Для успешной эксплуатации уязвимости может использоваться любой object-элемент. Для прохождения одной из предшествующих эксплуатации проверок перед тегом <w:font> должен присутствовать элемент OLEObject, а длина содержимого атрибута name должна быть не менее 32 байт после конвертирования из UTF-8 в Unicode.



После конвертации из UTF-8 в Unicode E8 A3 AC E0 A2 80 преобразуется в EC 88 88 08.



При выполнении всех условий этот указатель будет разыменован и управление будет передано по содержимому этого адреса со смещением 4.



Для контроля содержимого памяти по адресу 0x088888EC атакующие применяют популярную технику Heap sprayingс использованием компонентов ActiveX:



Эксплойт обходит ASLR и DEP с использованием ROP и гаджетов из msvbvm60.dll. Модуль msvbvm60.dll загружается из RTF-документа посредством CLSID, ассоциированного с этой библиотекой:




Первая часть ROP устанавливает значение регистра ESP:



Вторая часть ROP пропускается, она использовалась для установки регистра EIP на 0x088883EC. Последний «pop eax; retn» гаджет переместит адрес 0x729410D0 в EAX. Это адрес на указатель VirtualProtect в области импортов msvbvm60.dll из Kernel32.dll:



Указатель VirtualProtect используется в следующем ROP гаджете для вызова функции VirtualProtect(0x8888C90, 0x201, 0x40, 0x72A4C045), после чего управление передается в шеллкод по адресу 0x8888F70, который осуществляет расшифровку и выполнение DLL-файла:



Защитные решения «Лаборатории Касперского» детектируют эксплойты для СVE-2017-11826 как:

  • MSWord.Agent.ix;
  • MSOffice.CVE-2017-11826.a;
  • HEUR:Exploit.MSOffice.Generic.
IOC

cb3429e608144909ef25df2605c24ec253b10b6e99cbb6657afa6b92e9f32fb5

Securelist - Russian - Russia - securelist.ru
 
Сверху Снизу