Нестандартный вредоносный документ с вложенными объектами

Нестандартный вредоносный документ с вложенными объектами

Организацией Talos был обнаружен вредоносный офисный документ для приложения Microsoft Word с несколькими необычными функциями.

Авторы: David Maynor, Paul Rascagneres
Соавторы: Alex McDonnell, Matthew Molyett

Введение

Организацией Talos был обнаружен вредоносный офисный документ для приложения Microsoft Word с несколькими необычными функциями: продвинутым алгоритмом исследования целевой системы, для избежания анализа в песочницах и виртуальных машинах, а также эксплуатацией через внешнюю полезную нагрузку на базе Flash. Документ предназначался сотрудникам НАТО во время рождественских и новогодних каникул. На основе имени файла исследователи организации Talos сделали вывод, что документ предназначался правительственным служащим. Данная атака также выделяется тем, что полезная нагрузка была обернута большим объемом мусорной информаций с целью создания проблем с ресурсами на некоторых простых системах, используемых специалистами безопасности.

https://1.bp.blogspot.com/-biqglKWW1k0/WIuwlr7Q89I/AAAAAAAAAIM/-Q9GdTsctj0JKFgLbJYdlX7d75OGBnVxgCLcB/s1600/Mat2.png
Рисунок 1: Содержимое вредоносного документа

Вложенный документ

В анализируемом RTF-документе было несколько вложенных объектов, первый из которых – OLE объект.

https://4.bp.blogspot.com/-jG2I3ewNMms/WIuxBq4irII/AAAAAAAAAIc/AGz3dUuheXMONZYae-j8TDZOymWAEZlWQCLcB/s1600/Mat3.png
Рисунок 2: OLE объект внутри вредоносного офисного документа

Этот OLE объект содержит объект на базе Adobe Flash. Цель Flash-объекта – извлечение вложенного бинарного блоба посредством запуска ActionScript. Блоб представляет собой второй закодированный и сжатый Flash-объект. Алгоритм кодирования работает на базе XOR и библиотеки zlib. Данный объект - второй Flash-объект в финальной полезной нагрузке, спрятанной внутри документа.

Анализ полезной нагрузки

Основная часть полезной нагрузки находится внутри ActionScript. Вначале инициализируется глобальная константа, которая содержит адрес управляющего сервера.

https://1.bp.blogspot.com/-oCdmwHxplFM/WIuxBmRxCDI/AAAAAAAAAIg/uKskY02cqgIuoBo5VjMxSc5p4YyK8ho5wCEw/s1600/Mat4.png
Рисунок 3: Настройки C&C сервера

Первый шаг

ActionScript выполняет HTTP-запрос к управляющему серверу.

https://1.bp.blogspot.com/-s41bue4-Tas/WIuxBr8N-gI/AAAAAAAAAIk/Nqakq8yztwcYR9DZ6XWppHCx1kMddcFDgCEw/s1600/Mat5.png
Рисунок 4: Выполнение запроса к серверу

В качестве URI выступает строка /nato, которая полностью соответствует части имени файла.

Платформа Cisco Umbrella, предназначенная для защиты облачных хранилищ, помогает пользователям идентифицировать DNS-трафик, связанный с этим управляющим сервером. На скриншоте ниже показана динамика DNS-запросов, начиная с 29 декабря 2016 года по 12 января 2017 года. Резкое увеличение DNS-трафика с 16 января 2017 года связано с исследованиями данного «продукта» сообществом специалистов по безопасности.

https://1.bp.blogspot.com/--GPce9UQfhE/WIuxB0W9xDI/AAAAAAAAAJA/o7p572imXaAXGbWrgkyauK4aatl2JvB2gCEw/s1600/Mat6.png
Рисунок 5: Динамика DNS-запросов к серверу miropc.org

Запрос содержит информацию о целевой системе, получаемую при помощи функции flash.system.Capabilities.serverString. В документации сказано, что данный API позволяет разработчику получить перечень характеристик установленной версии Adobe Flash. Пример из документации:

 A=t&SA=t&SV=t&EV=t&MP3=t&AE=t&VE=t&ACC=f&PR=t&SP=t&SB=f&DEB=t&V=WIN%209%2C0%2C0%2C0&M=Adobe%20Windows&R=1600x1200&DP=72&COL=color&AR=1.0&OS=Windows%20XP&L=en&PT=ActiveX&AVD=f&LFD=f&WD=f&IME=t&DD=f&DDP=f&DTS=f&DTE=f&DTH=f&DTM=f 
Подобный запрос позволяет злоумышленнику собрать информацию о системе жертвы, включая версию операционной системы или версию Adobe Flash. Эти сведения могут быть использованы при принятии решения касаемо целевой машины. Если инфицированная система выглядит как песочница или виртуальная машина, оператор игнорирует запрос, и ActionScript завершает свою работу.

Второй шаг

ActionScript хранит ответ на первый запрос в переменной с именем vars. Затем выполняется второй HTTP-запрос с использованием нового URI.

https://1.bp.blogspot.com/-oinOUjs-J2k/WIuxB94chLI/AAAAAAAAAJA/HvgSOtOtdDAnKEp8RZpBEMgIMcYEVuWQQCEw/s1600/Mat7.png
Рисунок 6: Второй HTTP-запрос

URI во втором запросе содержит значение «k1», полученное при помощи первого запроса. Если этот начальный запрос завершается успешно, выполняется функция expLoaded() (для загрузки эксплоита).

Третий шаг

Результат выполнения предыдущего запроса хранится в переменной swf. Информация, хранимая в этой переменной, представляет собой зашифрованный объект Adobe Flash (swf). ActionScript использует функцию unpack() с ключом (“k3”), полученным во время первого запроса.

https://3.bp.blogspot.com/-nuNtdHz60l8/WIuxB8494BI/AAAAAAAAAJA/DuvZvziYf-8_AKNpdUR0eQ7_886DFDeQgCEw/s1600/Mat8.png
Рисунок 7: Расшифровка загруженного SWF файла

В этом же шаге ActionScript выполняет следующий HTTP-запрос.

https://2.bp.blogspot.com/-OF7T447Ahmw/WIuxB9AeOWI/AAAAAAAAAJM/ouHAfIHWMlYCbBKtAtNDQTwn6bi257eyACEw/s1600/Mat9.png
Рисунок 8: Третий HTTP-запрос

Если запрос завершается успешно, вызывается функция payLoaded (для загрузки полезной нагрузки).

Четвертый шаг

Результат выполнения предыдущего запроса содержит зашифрованную полезную нагрузку. ActionScript использует ту же функцию unpack() с ключом (“k4”), который был получен во время первоначального запроса. Наконец, загруженный вредоносный Flash-файл запускается при помощи функции flash.display.Loader(), где в качестве аргумента выступает полезная нагрузка. Переменная аргумента – sh (с шелл-кодом).

https://3.bp.blogspot.com/-jViYyFMvDKc/WIuxBl7zTII/AAAAAAAAAJA/2BizbxB1zqU0lxQTVrVywFCPE9VsJNdhwCEw/s1600/Mat10.png
Рисунок 9: Выполнение SWF-эксплоита с полезной нагрузкой в качестве аргумента

Ловушка

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

https://1.bp.blogspot.com/-e0ngW6tgcDk/WIycq6ctByI/AAAAAAAABa8/GCevq_sxZI0czJ7425kKUNIM4JBedOi5QCLcB/s1600/Mat11a.png
Рисунок 10: Новая версия стала возвращать огромный объем данных

Заключение

Анализ документа показывает, что во вредоносе использовался изощренный алгоритм. Первый шаг – исследование системы жертвы с целью избежания взаимодействия с песочницами и виртуальными машинами. Затем при помощи запросов, загружался эксплоит и полезная нагрузка, которые впоследствии запускались налету. Эту схему можно считать нестандартной, поскольку эксплоит не внедрен в документ, что затрудняет детектирование по сравнению со стандартными вредоносами, встроенными в файлы и заточенными под использование в Microsoft Word. Важно отметить, злоумышленники привлекли внимание к своей инфраструктуре, а затем быстро внесли изменения так, чтобы создать проблемы, связанные с потреблением ресурсов, не некоторых устройства. Сей факт говорит о том, что создатели эксплоита достаточно продвинуты, поскольку, скорее всего, был создан легкий и эффективный фреймворк, который смог быстро адаптироваться к последствиям.

Хеш: ffd5bd7548ab35c97841c31cf83ad2ea5ec02c741560317fc9602a49ce36a763
7c25a5cd3684c470066291e4dec7d706270a5392bc4f907d50b6a34ecb793f5b

Дополнительные меры безопасности

Ниже представлены дополнительные меры по детектированию и предотвращению этой угрозы.
https://2.bp.blogspot.com/-pH2lCB8xSNw/WH_4brjRnWI/AAAAAAAABJ4/AttBHYQiL2w9iftWN3_b9cTAaO0TW5M-QCLcB/s1600/image05.png
Рисунок 11: Дополнительные меры безопасности

Advanced Malware Protection (AMP) – идеальное средство для предотвращения выполнения вредоносных файлов подобного рода.

Система веб-сканирования в платформах CWS или WSA блокирует доступ к вредоносным сайтам и детектирует вредоносы, используемых в подобных атаках.

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

Сетевые защиты в продуктах IPS и NGFW используют самые последние сигнатуры для детектирования вредоносной сетевой активности.

AMP Threat Grid помогает детектировать вредоносные бинарные файлы и встраивать защиту во все продукты линейки Cisco Security.

Umbrella предотвращает разрешение DNS-имен, связанных с вредоносной активностью.

Ваша приватность умирает красиво, но мы можем спасти её.

Присоединяйтесь к нам!