В этой статье мы разберем новый троян-дроппер — настолько новым его еще не назвали. Это недавно обнаруженная вредоносная программа VBS, которая использует несколько уровней обфускации кода и очень хорошо структурированный код для удаления и выполнения двух встроенных RAT.

Пока я называю это Шнайкен: https://github.com/vithakur/schneiken.

Существует три основных уровня кодирования. Вся кодировка в Base64. Эта конкретная вредоносная программа работает, сбрасывая на диск две RAT. Первый - Dunihi RAT, а второй - Ratty JRAT.

Некоторые вредоносные программы, использующие только половину кода этой вредоносной программы, также были обнаружены в дикой природе. Вот пример: некоторые антивирусы ошибочно определяют как Valyria (1213003eb7cb1e26a97dc310f47892fc). Это вредоносное ПО сбрасывает только Dunihi RAT, а не Ratty JRAT.

Давайте начнем анализ этой вредоносной программы, взглянув на ход кампании.

Ход кампании:

Phish › HREF › PDF › HREF › ZIP › VBS › Dunihi + JRAT › C2

Структура кода:

Этап1 › этап2

Stage2 › vCNkCxcKEd.vbs › Dunihi RAT И Stage3

Stage3 › Ratty (JRAT) + Watcher.vbs + Master.vbs

«\RATTY.jar» — JRAT

«\rXvOlRHjpw.vbs» — Наблюдатель

«\UhVHQvjFGb.vbs» — Мастер

Анализ

Давайте посмотрим на выполнение, шаг за шагом.

Этап 1

На этом этапе структура кода довольно проста. Весь код этапа 2 закодирован в base64, а простой оператор replace исправляет незначительные обфускации, присутствующие в коде, чтобы добавить еще один уровень обфускации к уже закодированному коду.

Взгляните на функцию «zzzzzzzzzz». Он использует объект потока ADODB для обработки строки как двоичных данных. Это означает, что декодированный код может быть выполнен после того, как он был успешно декодирован.

Давайте взглянем на этот блок кода и наметим назначение важных строк:

Затем эта функция вызывается приватной функцией «decode64», которая, в свою очередь, использует объект Microsoft XMLDOM для дальнейшей обработки данных.

Последний элемент, который нужно назвать id Private Sub, где происходит все декодирование.

Как мы видим в блоке ниже, закодированные данные растягиваются почти на тысячу строк.

Теперь давайте посмотрим на поток кода на этом этапе:

И, наконец, давайте взглянем на саму закодированную строку:

После декодирования вредоносное ПО переходит на следующий этап.

Этап 2

На этом этапе происходят две важные вещи. Сначала создается новый файл. Этот файл, как мы можем видеть в блоке кода ниже, называется «vCNkCxcKEd.vbs». Этот файл будет декодирован в код наблюдателя, который обеспечивает постоянную работу кода.

Второе, что происходит на этом этапе, — это создание кода этапа 3:

Первая часть выполнения этапа 2 должна дать нам еще один сценарий VBS с именем vCNkCxcKEd.VBS. Этот скрипт при выполнении должен дать нам декодированную, готовую к работе версию Dunihi RAT.

Вот как должна выглядеть Dunihi RAT после декодирования закодированной строки, показанной выше на этапе 2:

Этап 3

Это завершающий этап выполнения основной вредоносной программы. На этом этапе мы получим все файлы, необходимые для успешного выполнения вредоносного ПО.

Результатом этапа 3 является создание трех файлов:

  • «\RATTY.jar» — JRAT
  • «\rXvOlRHjpw.vbs» — Наблюдатель
  • «\UhVHQvjFGb.vbs» — Мастер

Первым исполняемым файлом является Watcher. Затем Watcher запускает два других:

Наблюдатель следит за тем, чтобы RAT и мастер-файл работали. Если не обнаружено, что они запущены, он выполняет их. Давайте посмотрим на блок кода:

Мастер следит за тем, чтобы наблюдатель работал. Если он не запущен, он его выполняет.

Он также добавляет необходимые записи в реестр

На этом этапе выполнения все файлы были успешно развернуты и выполнены. Теперь RAT установит обратное соединение с C2 и начнет выполнять запрограммированные команды.

Вывод

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

В настоящее время встроенными RAT являются Ratty JRAT и Dunihi RAT, но в рамках данного поста мы не будем их анализировать. Я включу подробности в конце поста, хотя.

Все деобфускированные и декодированные файлы можно найти в одном из моих репозиториев git: https://github.com/vithakur/schneiken.

Шнайкен-капельница:

Имя файла: TT COPY.vbs

MD5: 47f21544a7479cae3e20488731ba6aa6

JRAT:

Имя файла: RATTY.jar

MD5: 9b93c76d2dacf7adaacfc1e99dae8089