Содержание статьи
Хронология
Как все было организовано? Общая хронология зафиксированных атак:
- все рассылки производились в разгар рабочего дня (часовой пояс 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 с обратной связью), после чего управление передается расшифрованному коду.


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