В сентябре Microsoft опубликовала информацию о новой уязвимости в Internet Explorer – CVE-2013-3893. Данную уязвимость содержат браузеры с 6-й по 11-ю версию на платформах, начиная с Windows XP и заканчивая Windows 8.1.Также в сентябре был выпущен патч, закрывающий данную уязвимость.
Злоумышленники активно используют подобные уязвимости, так как они легко монетизируются — браузер Internet Explorer по-прежнему популярен:
<
Топ-5 бразуеров по версии http://gs.statcounter.com
Данный тип уязвимости очень опасен, так как приводит к исполнению произвольного кода на целевой системе. В конце сентября мы обнаружили эксплойт к этой уязвимости, который использует атаку типа Use After Free в библиотеке обработки HTML mshtml.dll.
Недавно мы выяснили, что одна из модификаций этого эксплойта используется в таргетированных атаках на ряд важных организаций из Японии.
Целевая атака
Эксплуатация уязвимости осуществляется только на компьютерах, которые находятся в некоторых подсетях организаций-мишеней:
Определение подсетей, компьютеры в которых будут атакованы
Если IP-адрес компьютера входит в определенные злоумышленниками диапазоны, то после захода пользователя на зараженную веб страницу, начинается эксплуатация уязвимости.
На первом этапе определяются:
- Версия операционной системы
- Версия Internet Explorer
- Язык используемой ОС
- Утсановлен ли Microsoft Office
В зависимости от полученных данных эксплойт выберет необходимую ROP цепь и шеллкод:
Выбор ROP цепи и шеллкода
Стоит заметить, что эксплойт не отработает на системах Windows 7 без установленного пакета Microsoft Office.
Проверка версии ОС и наличия пакета Microsoft Office
Это происходит потому, что в современных операционных системах существует механизм, который усложняет эксплуатацию уязвимостей. Один из них — ASLR (Address Space Layout Randomization). Для того, чтобы обойти этот механизм, эксплойт использует хитрый трюк: загружает модуль, скомпилированный без поддержки данной технологии, в контекст процесса браузера — библиотеку hxds.dll.
Код, после выполнения которого произойдет загрузка hxds.dll
Эта библиотека входит в пакет Microsoft Office и не поддерживает ASLR. Поэтому она загружается по заранее известным адресам, и, используя технологию ROP, злоумышленники помечают как исполняемую память, в которой находится шеллкод.
После удачной эксплуатации уязвимости выполняется следующий шеллкод:
Как видно, шеллкод расшифровывает свою основную часть, используя ключ 0x9F.
После расшифровки код выполняет поиск функций, необходимых для загрузки и запуска полезной нагрузки, по хэшам:
Хэши используемых функций
По окончании поиска нужных адресов происходит следующее:
- скачивание вредоносного объекта под именем «runrun.exe» с сервера злоумышленников:
Загрузка полезной нагрузки
- Поскольку скачанный модуль зашифрован, шеллкод считывает его с диска и расшифровывает с ключем 0x95, после чего запускает:
Расшифровка скачанного модуля
Распространение эксплойта
Как мы уже писали выше, в таргетированной атаке использовалась лишь одна модификация эксплойта к уязвимости CVE-2013-3893. Всего же на сегодняшний день мы обнаружили 21 модификацию. Атаки, проводимые с помощью этого эксплойта, зафиксированы преимущественно в Тайване:
Мы обладаем следующей информацией о серверах, с которых скачивалась полезная нагрузка эксплойта:
Server | Region |
211.23.103.221 | Taiwan |
210.177.74.45 | Hong-Kong |
192.192.91.6 | Taiwan |
61.63.47.27 | Taiwan |
Краткий анализ одного из вариантов полезной нагрузки (md5 — 1b03e3de1ef3e7135fbf9d5ce7e7ccf6) выявил, что исполняемый модуль содержит в своих ресурсах зашифрованные данные:
Зашифрованные данные, находящиеся в ресурсах полезной нагрузки
Эти данные исполняемый модуль извлекает и преобразовывает в DLL модуль:
Извлечение зашифрованных данных
После преобразования DLL записывается на диск по следующему пути:
TempPathtmp.dll (md5 — bf891c72e4c29cfbe533756ea5685314).
Данная библиотека имеет следующие экспортируемые функции:
Экспортируемые функции tmp.dll
По завершению процесса записи библиотеки на диск она загружается в адресное пространство процесса и вызывается экспортируемая функция ishk:
Вызов экспортируемой функции ishk
В самой библиотеке выполняется инжект в адресное пространство другого процесса.
После запуска вредоносное программное обеспечение осуществляет общение с сервером, который находится в Южной Корее. С зараженной машины отправляются следующие запросы:
Запросы, отправленные с зараженной машины
«Лаборатория Касперского» детектирует скачиваемую полезную нагрузку как Trojan-Dropper.Win32.Injector.jmli.
Эксплойт мы детектируем как HEUR: Exploit.Script.Generic.
Таргетированный эксплойт