Содержание статьи
Хронология
Как все было организовано? Общая хронология зафиксированных атак:
- все рассылки производились в разгар рабочего дня (часовой пояс UTC+3);
- первая атака — последняя неделя декабря 2017 года;
- вторая атака — вторая рабочая неделя 2018 года;
- третья атака — третья рабочая неделя 2018 года.
Фишинговые письма рассылались с подготовленных за несколько дней до вредоносных рассылок почтовых серверов. Каждая атака сопровождалась новым набором доменных имен, обновленной серверной инфраструктурой, регулярно дорабатываемым инструментарием. Все зарегистрированные доменные имена имели сходство с доменными именами компаний, с которыми взаимодействуют российские финансовые организации.
Почему мы объединили все события:
- списки рассылок совпадали с точностью 85%;
- все письма были грамотно написаны на русском языке;
- механизмы и инструменты, использовавшиеся в атаках, имели незначительные различия;
- все письма имели идентичную структуру и были отправлены с помощью почтового сервера Exim 4.80;
- использовались сертификаты, выписанные удостоверяющими центрами Comodo CA Ltd., Digicert, Inc. Указанные в сертификатах компании, которым они были выданы: Dazzle Solutions Ltd., Bright Idea Enterprise Ltd.;
- использовалось два способа распространения вредоносного ПО: ссылка в письме, ведущая на исполняемый jar-файл; вложенный файл, эксплуатирующий опубликованную уязвимость CVE-2017-11882.
Как ты уже догадался, эта атака не удалась. Средства защиты банка не допустили проникновения злоумышленников в инфраструктуру, а инструменты и механизмы хакеров попали под микроскопы наших специалистов.

Природа атак. Разбор писем
Рассылка писем производилась с доменов:
- billing-cbr[.]ru
- bankosantantder[.]com
- oracle-russia[.]info
- cards-nspk[.]ru
- regdommain[.]com
Доменные имена регистрировались незадолго до проведения атак. Были установлены несколько успешных попыток подделки адреса отправителя письма. Анализ структуры писем показал, что все письма были отправлены с помощью почтового сервера Exim 4.80.

Структура фишинговых писем — text/html, кодировка — quoted-printable UTF-8.

Природа атаки. Первый этап атаки — вредоносный URL
Все адреса, указанные в письмах, вели на страницы, в HTML-коде которых инициализировалась загрузка вредоносного Java-апплета signed.jar. Помимо этого, страницы содержали закодированные в Base64 фрагменты исполняемого кода, предназначенного для скачивания вредоносного ПО. Данная функциональность также дублировалась в Java-апплете.

Фактически, когда жертва переходила по ссылке, запускался signed.jar. Поскольку jar-файл подписан действительным сертификатом, выданным Comodo CA Ltd. / Digicert, Inc., он проходил проверку настроек безопасности Java-машины. Стоит отметить, что при использовании параметров Java по умолчанию для запуска апплета требуется подтверждение пользователя. Наиболее простой способ запретить запуск апплетов в привилегированном режиме — отключить опцию Allow user to grant permissions to signed content в настройках Java.




Динамическая библиотека main.dll/main64.dll
Вредоносное ПО было разработано с применением механизмов Java Native Interface (JNI), позволяющих осуществлять вызов нативного кода из Java-машины и наоборот. Во время исполнения jar-апплета определялась разрядность ОС с последующим извлечением необходимой динамической DLL-библиотеки:
- main.dll для ОС семейства Windows разрядности х86;
- main64.dll для ОС семейства Windows разрядности x64.

После извлечения main.dll/main64.dll сохраняется на диск и запускается на исполнение с помощью функции System.load() в контексте виртуальной машины Java. Код из main.dll/main64.dll динамически получает адреса функций Windows API для работы с HTTP-протоколом из библиотеки wininet.dll, обращается к URL hxxps://servicenetupdate[.]com/yroyiuymsa, загружает и расшифровывает расположенный по этому адресу файл int.dll (для расшифровки использовался алгоритм XOR с обратной связью), после чего управление передается расшифрованному коду.


Продолжение доступно только участникам
Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее
Вариант 2. Открой один материал
Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.
Я уже участник «Xakep.ru»
Skybad
15.03.2018 в 13:33
какое ПО может сейчас проводить такой динамический анализ онлайн? например на периметре офиса? возможно с машинным обучением?
Юрий Дорошенко
15.03.2018 в 13:47
Когда необходимо получить верхнеуровневое представление о действиях малвари в короткие сроки — очень помогает https://app.any.run. Это полезный интерактивный онлайн sandbox с выводом информации о сервисах, процессах и сетевой активности в реальном времени, который активно развивается, открыл его для себя еще на этапе beta-теста проекта. Ребята в твиттере (@anyrun_app) регулярно выкладывают интересные кейсы.
nikman
16.03.2018 в 11:34
Я периодически пользуюсь этим сервисом — https://www.hybrid-analysis.com/. Тоже даёт представление о поведении вируса.
Антон Карев
16.03.2018 в 14:36
Юрий, добрый день. Интересно было бы узнать, как вы в Сбербанке боретесь с таргетированными атаками. Ведь современная техническая база позволяет мотивированному злоумышленнику обходить любые автоматизированные защиты. В особенности красноречиво (с приведением технических фактов) о беззащитности банковских систем начальство конторы «Digital Security» докладывается периодически. С подводом к тому, что современные банки – стеклянные. Ваш покорный слуга тоже несколько статей в «Системном администраторе» опубликовал в контексте того, что на сегодняшний день с кибербезопасностью всё плохо (правда не в контексте банковских систем, а вообще). В частности: «Чумазые секретики киберзащитничков» и «Кардинг: как взламывают торговое оборудование» (которые стали главными темами номеров, в 2017). Получается, что если кому-то сильно захочется, то он обязательно вас взломает. Вопрос только во времени и в затратах на атаку. Интересно было бы узнать, какие упреждающие контрмеры (организационные и технические), вы принимаете, чтобы банковские системы продолжали работать бесперебойно, даже перед лицом неизбежной кибер-не-безопасности.
baragoz
19.03.2018 в 15:39
Как говорил один безопасник, «теоретически и колючую проволоку легко резать. Берешь ножницы — чик-чик и готово». А на практике, в грязи и под огнем противника получается не очень ;).
soppa91
13.01.2019 в 09:16
Ахаха, эта прям хорошая, ржу не могу