Контакты

Mezzo: многоцелевая финансовая угроза. Новая вредоносная программа Mezzo охотится за реальными и криптовалютами

Эксперты «Лаборатории Касперского» обнаружили новую финансовую угрозу – вредоносная программа Mezzo, способная подменять реквизиты в файлах обмена между бухгалтерскими и банковскими системами. В настоящий момент зловред просто отправляет собранную с зараженного компьютера информацию на сервер злоумышленникам, и, по мнению аналитиков, это может говорить о том, что создатели троянца готовятся к будущей кампании. Количество жертв Mezzo пока исчисляется единицами, при этом большинство заражений зафиксировано в России.

Распространяется Mezzo с помощью сторонних программ-загрузчиков. После попадания на устройство троянец создает уникальный идентификатор для зараженного компьютера – на его основе на сервере злоумышленников создается папка для хранения всех найденных у жертвы файлов. Каждая из этих папок защищена паролем.

Основной интерес для Mezzo представляют текстовые файлы популярного бухгалтерского ПО, созданные менее двух минут назад. Функционал троянца предполагает, что после обнаружения таких документов он ждет, последует ли открытие диалогового окна для обмена информаций между бухгалтерской системой и банком. Если это произойдет, зловред может подменять реквизиты счета в файле непосредственно в момент передачи данных. В противном случае (если диалоговое окно так и не будет открыто) Mezzo подменяет весь файл поддельным.

Кроме того, анализ кода Mezzo показал, что зловред может быть связан с другим нашумевшим троянцем, охотящимся за криптовалютами, – CryptoShuffler. Эксперты «Лаборатории Касперского» обнаружили, что код Mezzo и программы AlinaBot, осуществляющей загрузку CryptoShuffler, идентичны практически до последней строчки. По всей видимости, за обоими зловредами стоят одни и те же вирусописатели, а, значит, их интерес может также затрагивать криптокошельки пользователей.

«Мы далеко не первый раз сталкиваемся с зловредами, атакующими бухгалтерское ПО. Так, с помощью обнаруженного нами около года назад аналогичного троянца TwoBee злоумышленникам удалось похитить более 200 миллионов рублей у российских организаций, – напоминает Сергей Юнаковский, антивирусный эксперт «Лаборатории Касперского». – Однако Mezzo отличается от своего «собрата». С одной стороны, он использует более простой алгоритм поиска и проверки интересующих его файлов. Но при этом вполне вероятно, что одними лишь бухгалтерскими системами он не ограничивается. И это очень в духе современных вирусописателей, которые все чаще реализуют множество модулей и различных функций в рамках одного зловреда».

Подробнее о возможностях троянца Mezzo можно узнать из аналитического отчета «Лаборатории Касперского»:

C атаками на бухгалтерские программы аналитики «Лаборатории Касперского» сталкиваются не в первый раз - например, около года назад нами был зловред Trojan.Win32.TwoBee. В общем виде атака на учетную систему сводилась к подмене реквизитов в данных, выгружаемых для банковских систем из базы данных. В результате денежные суммы уходят на чужие счета без ведома владельца. Троянец TwoBee в начале своей «карьеры» получал данные для подмены реквизитов извне, а позже «носил» их с собой, отправляя на сервер лишь короткие сообщения с информацией о результатах работы.

Что касается троянца Mezzo, который мы хотим рассмотреть, то он просто отправляет текстовые файлы на сервер, не производя с ними никаких манипуляций. Однако это не означает что угрозы нет – наоборот, это может говорить о том, что авторы зловреда готовятся к будущей компании и в данный момент находятся на этапе сбора информации о целях.

Остановимся подробнее на некоторых особенностях данного троянца, для этого рассмотрим две модификации Mezzo – один предназначен исключительно для сбора информации о имеющихся файлах бухгалтерии, второй же способен их подменять.

Характерная черта обеих - создание на старте легко узнаваемого мьютекса:

Модуль сбора информации

После начала работы Mezzo создает уникальный идентификатор для зараженного компьютера:

Этот идентификатор используется в качестве имени папки, где будет храниться информация о найденных файлах:

Содержимое архива выглядит следующим образом:

Сам архив защищен паролем (в этом качестве используется созданный ранее идентификатор, который также является именем архива). В отличии от TwoBee, Mezzo использует более простой алгоритм для поиска и проверки файлов. К примеру, TwoBee осуществлял подмену данных только при наличии определенной минимальной суммы транзакции:

Проверка минимальной суммы (500 000 ₽) в TwoBee

Кроме того, TwoBee собирал данные о переводимых суммах.

Mezzo же просто удостоверяется в «возрасте» файла (не должен быть старше недели) и наличии строчки 1CClientBankExchange в его начале:

По завершении поиска данные упаковываются в архив с паролем и отправляются на сервер.

Отправка данных

Структура запроса и ответа от C &C -сервера Mezzo

Модуль подмены

Теперь разберемся, как работает модуль Mezzo, в задачи которого входит подмена файлов бухгалтерской программы.

Троянец создает три потока выполнения. Первый (trash _thread на скриншоте ниже) отвечает за противодействие защитному ПО - троянец выделяет огромные регионы памяти в цикле и наполняет их произвольными данными: в «песочницах» некоторых защитных решений обработка выделения памяти и контроль ее утечек отличается от механизмов «реальных» операционных систем и подобные запросы могут нарушить их работу. Второй регистрирует «свежезараженный» компьютер на командном сервере. Третий необходим для опроса C&C-сервера и передачи информации о зараженной системе.

Начало основной процедуры Mezzo

Техника, реализуемая в trash _thread

Mezzo создает уникальный идентификатор и отправляет его на сервер. В случае, когда от сервера получена команда c кодом 0x46 (F irst) , передается информация о зараженной системе. Очевидно, данная команда получается при первом обращение с таким идентификатором.

Процедура get _tasks удалит содержимое папки %TEMP% при получении кода 0x34 (4 ).

После этого троянец начнет искать в каждом из логических разделов файловой системы файлы, соответствующие следующим критериям:

  • Создан менее двух минут назад;
  • В начале файла есть строка 1CClientBankExchange;
  • Расширение - .txt.

Полученный файл копируется по адресу «%TEMP%\.txt» и передается на удаленный сервер, от которого будет получен файл для подмены. Этот файл будет сохранен как «%TEMP%\.txt». Затем программа ждет, когда пользователь вызовет определенные диалоговые окна программы.

Поиск диалогового окна

Это нужно, чтобы подменить файл непосредственно в момент передачи данных из бухгалтерской системы в банк. Ожидание длится пять минут, и если нужное окно не будет открыто, троянец просто заменит файл поддельным, предварительно попытавшись остановить процесс 1cv8c.exe с помощью SuspendThread . По завершению подмены троянец удалит содержимое папки NEW с файлом, полученным от командного сервера.

Следы CryptoShuffler

Однако, на этом расследование не закончилось. Некоторое время назад наши аналитики и зловред, осуществляющий его загрузку в систему. Им оказался AlinaBot (не путать с AlinaPOS) , названный так из-за заголовка в окна аутентификации C&C-сервера:

По многим признакам этот обычный загрузчик (мы рассмотрим его функции далее) связан с Mezzo.

Для начала пройдемся по «слабым» связям:

Теперь о «сильных» доказательствах. Первое - способ генерации уникального идентификатора. Восстановленный код Mezzo, AlinaBot и его модулей совпадает до последней строчки:

Вторым доказательством является тот факт, что модули AlinaBot хранят украденные данные похожим образом (разве что в качестве пароля не всегда используется идентифкиатор):

Структура рабочего каталога модуля AlinaBot

Даже поверхностное исследование кода позволяет выявить стиль автора Mezzo - старательное копирование большого количества фрагментов кода.

Функции AlinaBot

Всего существует шесть команд от сервера (и «0», обозначающий отсутствие команды), которые AlinaBot получает в ответе на инициализирующий запрос в виде строки символов:

Важно, что команды обрабатываются «по две» - в данном случае будет два цикла проверки входных значений. Соответственно, единицы на четной позиции в строке и на нечетной будут отличаться по своему назначению. К примеру, команда «2» на нечетной позиции выгружает файл по фиксированному адресу, тогда как на четной получает ссылку на скачивание.

Команда F (четная) обозначает запрос на выгрузку информации о системе и включает в себя следующие поля:

  • Уникальный идентификатор;
  • Версия операционной системы;
  • Имя пользователя;
  • Имя компьютера;
  • IP-адрес компьютера.

Команда 1(нечетная) выгружает файл по адресу вида /plugins/downloaded/load_file.exe и запускает его:

Команда 1(четная) перезапускает основное тело AlinaBot.

Команда 2(нечетная) также осуществляет выгрузку файлов с сервера C&C как и команда 1, однако по другой строке /plugins/downloaded/load_file_gl.exe, и её сервер за время исследования ни разу не проявил активности.

2(четная) получает от сервера адрес, с которого нужно скачать файл, а затем скачивает и запускает его.

Как правило, по этой команде выгружались зловреды семейства Trojan-Banker.Win32.CryptoShuffler

Команда 3(четная) завершает выполнения хоста консольных приложений.

Полезная нагрузка

Нам удалось получить выгружаемые файлы, их можно разделить на два типа. Первый - «угоняет» криптовалютные кошельки и пароли браузеров. Кража кошельков осуществляется простым поиском в зараженной системе файлов с именем wallet.dat. Потеря паролей грозит только пользователям Chrome и Opera, оба браузера хранят данные об учетных записях схожим образом - в виде SQLLite-баз по адресу вида «C:\Users\<ИМЯ ПОЛЬЗОВАТЕЛЯ>\AppData\Local\Google\Chrome\User Data\Default «. Плагин открывает эти файлы с помощью библиотеки SQLLite и пытается расшифровать данные с помощью «пустого пароля», на тот случай если пользователь не задал пароль для аутентификации. Полученные данные зловред отправляет на сервер в ZIP-архиве с паролем 1 q 2w 3e 4r .


Восстановленный код извлечения данных о паролях из Chrome

Файлы «складируются» схожим с Mezzo образом.

Последний примечательный момент, связанный с этим модулем: автор отошел от использования curl и позаимствовал код некоего Anasazi : характерная строка WARPCRYPT присутствует в обоих случаях. Плюс, на pastebin нами были обнаружен исходный код Anasazi.

Cравнение восстановленного кода модуля AlinaBOT и исходников Anasazi на Pastebin

Второй выгружаемый файл обладает возможностями удаленного управления зараженным компьютером. Сам по себе данный модуль не представляет особого интереса, являясь достаточно обычным бэкдором, выполняющим, к примеру, следующие команды:

  • 0x403: Запустить диспетчер задач
  • 0x406: Завершить процесс Chrome
  • 0x40F: Запустить командную строку
  • 0x413: Поместить в буфер определенные данные и передать их в заданное окно

MD 5

Модуль сбора информации:
Модуль подмены: 1083439FAE49A745F007705281952CD9

AlinaBot

0624074f0d4054b8cc4ad6d32dcc10f1










E2E7927C279C3740EA9821595FA2AA23

При заражении компьютера вирус присваивает ему уникальный номер, который используется для названия папки на сервере хакеров. В этой папке будут храниться файлы с компьютера жертвы. Главная цель Mezzo - обнаруживать и похищать документы бухгалтерских программ.

Он ждет

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

Пока количество зараженных компьютеров исчисляется единицами, но большая часть из них находится в России. Но даже заражение компьютера в одной крупной компании может повлечь большие потери.

Мы далеко не первый раз сталкиваемся с зловредами, атакующими бухгалтерское ПО. Так, с помощью обнаруженного нами около года назад аналогичного троянца TwoBee злоумышленникам удалось похитить более 200 миллионов рублей у российских организаций

Сергей Юнаковский

эксперт «Лаборатории Касперского»

Кража криптовалют

В коде вируса Mezzo нашли прямую связь с программой AlinaBot, которую раньше хакеры использовали для кражи криптовалют. Она подменяла в буфере обмена адрес кошелька пользователя на адрес создателей вируса, и А заметить подмену сложно, потому что адрес состоит из беспорядочного набора чисел и букв.

Специалисты зафиксировали, что жертвы зловреда пока немногочисленны, однако большая часть заражений происходит в России, говорится в исследовании компании, сообщает ТАСС .

Программа на данный момент только собирает необходимую информацию, что может подразумевать подготовку к кампании по хищению денежных средств, считают специалисты "Лаборатории Касперского".

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

Распространение троянца происходит с помощью сторонних программ-загрузчиков. После попадания на устройство Mezzo создает уникальный идентификационный код для зараженного компьютера, после чего на сервере злоумышленников создается папка для хранения всех найденных у жертвы файлов.

Предполагается, что Mezzo использует текстовые файлы бухгалтерского программного обеспечения, которые были созданы менее двух минут назад. Обнаружив такие документы, троянец ожидает открытия диалогового окна для обмена информацией между "1С" и банком, после чего зловред может похитить денежные средства с помощью подмены реквизитов, полагают специалисты.

"ВFM.RU" приводит комментарий эксперта в области информационной безопасности Максима Эмм : "Такого рода троянцы, которые непосредственно занимаются переводами денежных средств по другими реквизитам, нежели предполагалось владельцем системы, наиболее опасны, особенно те, которые атакуют корпоративные системы. Очевидно, что на счетах компании денег на порядки больше, чем на счетах физлиц. Для физлиц такие вирусы, троянцы, довольно давно известны. Для корпоративного применения попадаются намного реже. Это серьезная угроза, потому что "1С: Бухгалтерия" у нас установлена в очень большом количестве организаций, и механизмы внутри "1С" защиты от такого рода троянцев, такого поведения отсутствуют. Поэтому очень большие могут быть потери у компании, если этот троянец своевременно не обнаружить: деньги физически уйдут на другие счета, после этого их нужно будет очень быстро доставать. Это тоже, в принципе, возможно, то есть от того, что деньги перечислены из одного банка в другой, совершенно не значит, что их невозможно будет вернуть, если очень быстро среагировать. Но большинство людей это не делают, поэтому я бы оценил уровень угрозы как достаточно высокий по сравнению с другими троянцами, которые не приводят к непосредственному перемещению денежных средств в результате заражения компьютера".

В "Лаборатории Касперского" предполагают, что Mezzo может быть тесно связан с троянцем CryptoShuffler, который похищает криптовалюту. Согласно исследованию, код троянца и программы, которая осуществляет загрузку CryptoShuffler, практически идентичен.

Специалисты считают, что за обоими зловредами стоят одни и те же вирусописатели, а, значит, их интерес может также затрагивать криптокошельки пользователей.

Понравилась статья? Поделитесь ей