Хроники Emotet. Часть 1
Life-Hack [Жизнь-Взлом]/ХакингПрошло больше шести лет с момента первого обнаружения троянца Emotet. За это время он несколько раз пропадал и возрождался, менял род деятельности, обзаводился партнерами, обрастал модулями, становился причиной громких инцидентов и источником многомиллионных убытков. Этот зловред отлично чувствует себя и сегодня и является одной из главных ИБ-угроз. Распространяется троянец с помощью спама, который сам же рассылает; умеет распространяться по локальным сетям и скачивать другие зловреды.
Подробно все «свершения» этого троянца хорошо описаны в многочисленных публикациях и отчетах различных компаний и независимых исследователей. Мы же решили подвести промежуточный итог и собрать воедино всю известную на данный момент информацию об Emotet.
2014
Июнь
Впервые Emotet был обнаружен в конце июня 2014 года компанией TrendMicro. Зловред похищал банковские учетные данные пользователей, используя технику «человек в браузере» (Man-in-the-browser). Уже тогда он был многокомпонентным: перехват трафика браузера осуществлялся отдельным модулем, который скачивался с командного сервера. Оттуда же загружался и конфигурационный файл с веб-инжектами. Основными целями банкера были клиенты немецких и австрийских банков, а основным вектором распространения — маскирующийся под банковские письма спам с вредоносными вложениями или ссылками на ZIP-архив c исполняемым файлом внутри.


Ноябрь
Осенью 2014 года нами была обнаружена модификация Emotet со следующими компонентами:
- Модуль для модификации HTTP(S)-трафика.
- Модуль для сбора почтовых адресов из Outlook.
- Модуль для кражи учетных записей электронной почты Mail PassView (Email Password-Recovery).
- Спам-модуль (скачивается дополнительно с адресов, не связанных с C&C, как независимый исполняемый файл).
- Модуль для организации DDoS-атак.
Последний встречался нам в связке с другим вредоносным ПО, и мы полагаем, что он добавляется к Emotet криптором (предполагается, что в тот момент собственного криптора у автора Emotet не было и использовался сторонний, возможно, взломанный или украденный). Вполне вероятно, что авторы Emotet ничего не знают о его наличии в составе их вредоносного ПО. Как бы то ни было, командные центры этого модуля не отвечают, а сам он не обновляется (дата компиляции — 19 октября 2014 года).
Также новая модификация стала применять технологии так называемых «автозаливов» — автоматической кражи денег с банковских аккаунтов жертв. Подробнее о данной модификации можно прочесть в нашем исследовании.
Декабрь
Командные серверы перестали отвечать, и активность троянца существенно снизилась.
2015
Январь
В начале 2015 года вышла новая модификация Emotet, которая по сути не слишком отличается от предыдущей. Из изменений: новый встроенный публичный RSA-ключ, большинство строк зашифрованы, скрипты веб-инжектов с «автозаливами» очищены от комментариев, а среди целей появились клиенты швейцарских банков.
Июнь
Командные серверы вновь стали недоступны, на этот раз почти на полтора года. Судя по конфигурационному файлу с веб-инжектами, последними жертвами троянца были клиенты австрийских, немецких и польских банков.
2016
Декабрь
Emotet возродился: впервые за долгое время обнаружена новая модификация. Эта версия заражает жертву во время веб-серфинга с помощью набора эксплойтов RIG-E и RIG-V. Такой метод распространения не использовался троянцем ранее; забегая вперед, скажем, что и не будет применяться впоследствии. Мы считаем, что это была лишь пробная попытка использовать новый механизм распространения, результаты который не удовлетворили авторов Emotet.
В этой модификации изменился протокол общения с C&C. Если объем отправляемых данных меньше 4 Кбайт, использовался GET-запрос, а сами данные стали передаваться в поле Cookie HTTP-заголовка. При большем объеме информации использовался запрос POST. Алгоритм шифрования RC4 был заменен на AES, а сам протокол начал базироваться на слегка измененном Google Protocol Buffer. В ответ на запрос командные серверы возвращали заголовок с ошибкой «404 Not Found», что не мешало им передавать в теле ответа зашифрованную полезную нагрузку.

Изменился и набор модулей, передаваемый троянцу с командного сервера:
- Пропал модуль для перехвата и модификации HTTP(S)-трафика.
- Появился модуль сбора аккаунтов и паролей из браузеров (WebBrowserPassView).
2017
Февраль
До этого момента у нас не было подтверждения, что Emotet может самостоятельно рассылать спам. Спустя пару месяцев после восстановления работоспособности командных серверов мы сумели получить доказательство — с C&C был загружен спам-модуль.
Апрель
В начале апреля была замечена большая рассылка спама, нацеленная на жителей Польши. В письмах, отправленных от имени логистической компании DHL, содержалась просьба скачать и открыть файл «отчета» в формате JavaScript. Интересно, что злоумышленники не пытались обмануть пользователя и спрятать исполняемый JavaScript под видом того же PDF. Видимо, расчет строился на том, что многие просто не поймут, что JavaScript — это вовсе не формат документов или отчетов.
Пример использованных имен JS-файлов:
dhl__numer__zlecenia___4787769589_____kwi___12___2017.js (MD5:7360d52b67d9fbb41458b3bd21c7f4de)
Аналогичной атаке в апреле подверглись британские и немецкие пользователи, получившие сообщения о выставленных им счетах.
invoice__924__apr___24___2017___lang___gb___gb924.js (MD5:e91c6653ca434c55d6ebf313a20f12b1)
telekom_2017_04rechnung_60030039794.js (MD5:bcecf036e318d7d844448e4359928b56)
В конце апреля тактика слегка поменялась, и в спам-письмах добавилось вложение в виде PDF-файла, при открытии которого сообщалось, что отчет в формате JavaScript можно скачать по ссылке.
Document_11861097_NI_NSO___11861097.pdf (MD5: 2735A006F816F4582DACAA4090538F40)

Document_43571963_NI_NSO___43571963.pdf (MD5: 42d6d07c757cf42c0b180831ef5989cb)

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

Май
В мае немного изменился сценарий спам-сообщений, с помощью которых распространяется Emotet. На этот раз во вложении находился офисный документ (или ссылка на него) с картинкой, маскирующейся под сообщение MS Word о якобы старой версии документа. Чтобы открыть документ, пользователю предлагали разрешить выполнение макросов. В том случае, если жертва соглашалась его предоставить, выполнялся вредоносный макрос, который запускал PowerShell-скрипт, скачивающий и запускающий Emotet.

Также в мае появились сообщения о том, что Emotet загружает и устанавливает банковский троянец Qbot (или QakBot). Однако мы не можем подтвердить данную информацию: среди более чем 1,2 миллионов пользователей, подвергшихся атакам Emotet, Qbot был обнаружен лишь у нескольких десятков.
Июнь
Начиная с первого июня с командных серверов Emotet начала «раздаваться» утилита для распространения вредоносного кода по локальной сети (network spreader), которая впоследствии станет одним из модулей зловреда. Вредоносное приложение представляло собой самораспаковывающийся RAR-архив, содержащий файлы bypass.exe (MD5: 341ce9aaf77030db9a1a5cc8d0382ee1) и service.exe (MD5: ffb1f5c3455b471e870328fd399ae6b8).

Назначение bypass.exe:
- Перебор сетевых ресурсов с использованием перебора паролей по встроенному словарю
- Копирование service.exe на подходящий ресурс
- Создание в удаленной системе сервиса для автоматического запуска service.exe


Возможности service.exe крайне ограничены: только отправка имени компьютера на сервер злоумышленников.


Рассылка явно была тестовой, и уже на следующий день мы обнаружили обновленную версию файла. Самораспаковывающийся архив обзавелся скриптом для автозапуска bypass.exe (MD5: 5d75bbc6109dddba0c3989d25e41851f), который не претерпел изменений, а вот service.exe (MD5: acc9ba224136fc129a3622d2143f10fb) вырос в размере в несколько десятков раз.

Размер обновленного service.exe обуславливался тем, что в нем теперь содержалась копия Emotet в собственном теле. К возможностям добавилась функция по сохранению Emotet на диск и его запуску перед отправкой на C&C данных о зараженной машине.

Июль
По ботсети начало распространяться обновление загрузочного модуля Emotet. Из значимых изменений: отказ Emotet от GET-запросов с передачей данных в поле Cookie HTTP-заголовка. Теперь все общение C&C происходит с помощью POST (MD5: 643e1f4c5cbaeebc003faee56152f9cb).
Август
Network spreader включили в «комплект поставки» Emotet в виде DLL-библиотеки (MD5: 9c5c9c4f019c330aadcefbb781caac41), дата компиляции нового модуля — 24 июля 2017 г., однако получить данный модуль удалось только в августе. Ранее же, как мы помним, это был самораспаковывающийся архив RAR с двумя файлами — bypass.exe и service.exe. Механизм распространения особо не изменился, а вот список паролей для подбора значительно расширился — теперь их ровно 1000.

Ноябрь
В ноябре 2017-го команда IBM X-Force опубликовала отчет о новом банкере IcedId. Согласно исследованию, в его распространении был замечен Emotet. Первый образец IcedId (MD5: 7e8516db16b18f26e504285afe4f0b21) попал к нам еще в апреле, и тогда мы обнаружили, что семпл был «накрыт» криптором, который использовался и в Emotet. Криптор был не просто похож, а практически байт в байт совпадал с криптором образца Emotet (MD5:2cd1ef13ee67f102cb99b258a61eeb20), который распространялся в это же время.
Продолжение следует…