От Linux к Windows: обнаружено новое семейство кроссплатформенных бэкдоров

Введение

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

DropboxCache, он же Backdoor.Linux.Mokes.a

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

От Linux к Windows: обнаружено новое семейство кроссплатформенных бэкдоров для персональных компьютеров

После первого запуска бэкдор проверяет путь с собственному исполняемому файлу и при необходимости копирует его в одну из следующих папок:

  • $HOME/$QT-GenericDataLocation/.mozilla/firefox/profiled
  • $HOME/$QT-GenericDataLocation/.dropbox/DropboxCache

Например, путь к исполняемому файлу может быть таким: $HOME/.local/share/.dropbox/DropboxCache. Для закрепления в системе вредоносная программа применяет следующий метод, практически никак не препятствующий ее обнаружению: создает .desktop-файл $HOME/.config/autostart/$filename.desktop. Вот шаблон, по которому это делается:

От Linux к Windows: обнаружено новое семейство кроссплатформенных бэкдоров для персональных компьютеров

Затем вредоносная программа соединяется с командным сервером, адрес которого в явном виде прописан в ее коде. С этого момента она каждую минуту отправляет на сервер HTTP-запрос:

От Linux к Windows: обнаружено новое семейство кроссплатформенных бэкдоров для персональных компьютеров

В качестве ответа на этот «импульсный» (heartbeat) запрос приходят изображения размером 1 байт. Для загрузки данных на сервер и получения данных и команд вредоносная программа соединяется с TCP-портом 433 по нестандартному протоколу с применением шифрования AES. В теле исполняемого файла «зашиты» следующие открытые ключи:

От Linux к Windows: обнаружено новое семейство кроссплатформенных бэкдоров для персональных компьютеров

Далее вредоносная программа копирует собранные клавиатурным шпионом данные, захваченные аудиопотоки и сделанные снимки экрана в папку /tmp/. Позднее собранные данные загружаются на командный сервер.

  • /tmp/ss0-DDMMyy-HHmmss-nnn.sst (снимки экрана, JPEG, каждые 30 секунд)
  • /tmp/aa0-DDMMyy-HHmmss-nnn.aat (захваченные аудиопотоки, WAV)
  • /tmp/kk0-DDMMyy-HHmmss-nnn.kkt (перехваченные клавиатурные нажатия)
  • /tmp/dd0-DDMMyy-HHmmss-nnn.ddt (произвольные данные)

DDMMyy = дата: 280116 = 2016-01-28

HHmmss = время: 154411 = 15:44:11

nnn = миллисекунды.

От Linux к Windows: обнаружено новое семейство кроссплатформенных бэкдоров для персональных компьютеров

Эта часть кода способна захватывать аудио на компьютере жертвы

Следует отметить, что захват аудио, как и клавиатурный шпион, не активирован в таймере событий данного исполняемого файла. Поскольку авторы статически скомпоновали с исполняемым файлом libqt, xkbcommon (библиотеку, обрабатывающую раскладки клавиатуры) и OpenSSL (1.0.2c), размер исполняемого файла – около 13МБ. Киберпреступники не предприняли заметных усилий по обфускации исполняемого файла. Более того, исполняемый файл содержит почти все символы, что очень помогает в процессе анализа.

От Linux к Windows: обнаружено новое семейство кроссплатформенных бэкдоров для персональных компьютеров

В исполняемом файле также имеется список файлов, которые содержат исходный код автора:

От Linux к Windows: обнаружено новое семейство кроссплатформенных бэкдоров для персональных компьютеров

Очевидно, вредоносная программа написана на C++ с использованием Qt – кроссплатформенного фреймворка для разработки приложений. Если верить метаданным исполняемого файла, он скомпилирован с помощью «GCC 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04)» на операционной системе Ubuntu 14.04 LTS «Trusty Tahr». Исходя из временного штампа qt_instdate, дата последней конфигурации источников в Qt – 2015-09-26 (qt/qtbase.git: deprecated). Это означает, что, по всей вероятности, программа была скомпилирована не раньше конца сентября 2015 года.

Мы детектируем данное вредоносное ПО как Backdoor.Linux.Mokes.a.

OLMyJuxM.exe aka Backdoor.Win32.Mokes.imv

Всего несколько дней назад мы обнаружили образец, который выглядел очень знакомо, хотя и был скомпилирован для машин под управлением Microsoft Windows. Очень скоро выяснилось, что это вариант Backdoor.Linux.Mokes.a для 32-битных операционных систем Windows.

После запуска на выполнение вредоносная программа случайным образом выбирает один из девяти различных вариантов размещения в папке %AppData% и копирует себя туда, чтобы закрепиться на зараженном компьютере. Исполняемый файл также создает файл «version» в той же папке, куда до этого поместила свою копию. Как можно заключить из имени, в этом файле хранится только информация о версии вредоносной программы вместе с полным путем, по которому лежит копия вредоносной программы:

От Linux к Windows: обнаружено новое семейство кроссплатформенных бэкдоров для персональных компьютеров

Затем в HKCU\Software\Microsoft\Windows\CurrentVersion\Run создаются соответствующие ключи реестра, позволяющие обеспечить закрепление вредоносной программы в системе.

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

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

От Linux к Windows: обнаружено новое семейство кроссплатформенных бэкдоров для персональных компьютеров

Однако этот конкретный вариант имеет немного иную реализацию и пытается получить используемую в Windows по умолчанию строку user-agent.

От Linux к Windows: обнаружено новое семейство кроссплатформенных бэкдоров для персональных компьютеров

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

От Linux к Windows: обнаружено новое семейство кроссплатформенных бэкдоров для персональных компьютеров

Как и версия для Linux, этот вариант вредоносной программы устанавливает соединение со своим командным сервером и отправляет на него раз в минуту «импульсный» сигнал по HTTP (GET /v1). Для получения команд и загрузки на сервер или на зараженный компьютер дополнительных ресурсов используется TCP порт 433.

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

От Linux к Windows: обнаружено новое семейство кроссплатформенных бэкдоров для персональных компьютеров

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

От Linux к Windows: обнаружено новое семейство кроссплатформенных бэкдоров для персональных компьютеров

Как и в версии для Linux, автор оставил в исполняемом файле немало подозрительных строк. Показанный ниже снимок экрана содержит строку с удивительно правдивой информацией.

От Linux к Windows: обнаружено новое семейство кроссплатформенных бэкдоров для персональных компьютеров

Для киберпреступника важно, чтобы программа выглядела легитимной и система не запрашивала у пользователя подтверждения перед выполнением неизвестного ПО. На машинах под управлением Windows этого можно добиться, подписывая код доверенными сертификатами. В данном случае киберпреступнику удалось подписать исполняемый файл доверенным сертификатом, выданным центром сертификации «COMODO RSA Code Signing CA».

От Linux к Windows: обнаружено новое семейство кроссплатформенных бэкдоров для персональных компьютеров

Мы детектируем данный тип вредоносного ПО как Backdoor.Win32.Mokes.imv.

Что дальше

Поскольку это ПО изначально создавалось как платформонезависимое, не исключено, что в будущем мы увидим соответствующие образцы для Mac OS X.

Дополнение от 01.02.2016

Мы только что получили Backdoor.Win32.Mokes.imw. Впервые мы видим вариант Mokes, в котором активирован модуль захвата аудио. Вредоносная программа создает новый аудиофайл каждые 5 минут.

От Linux к Windows: обнаружено новое семейство кроссплатформенных бэкдоров для персональных компьютеров

Индикаторы заражения

Backdoor.Linux.Mokes.a

c9e0e5e2aeaecb232120e8573e97a6b8

$HOME/$QT-GenericDataLocation/.mozilla/firefox/profiled
$HOME/$QT-GenericDataLocation/.dropbox/DropboxCache
$HOME/.config/autostart/profiled.desktop
$HOME/.config/autostart/DropboxCache.desktop

/tmp/ss0-$date-$time-$ms.sst

Backdoor.Win32.Mokes.imv & .imw

f2407fd12ec0d4f3e82484c027c7d149 (imw)
91099aa413722d22aa50f85794ee386e (imv)

%AppData%\Skype\SkypeHelper.exe
%AppData%\Skype\version
%AppData%\Dropbox\bin\DropboxHelper.exe
%AppData%\Dropbox\bin\version
%AppData%\Google\Chrome\nacl32.exe
%AppData%\Google\Chrome\version
%AppData%\Google\Chrome\nacl64.exe
%AppData%\Google\Chrome\version
%AppData%\Mozilla\Firefox\mozillacache.exe
%AppData%\Mozilla\Firefox\version
%AppData%\Hewlett-Packard\hpqcore.exe
%AppData%\Hewlett-Packard\version
%AppData%\Hewlett-Packard\hpprint.exe
%AppData%\Hewlett-Packard\version
%AppData%\Hewlett-Packard\hpscan.exe
%AppData%\Hewlett-Packard\version
%AppData%\Adobe\Acrobat\AcroBroker.exe
%AppData%\Adobe\Acrobat\version

%TEMP%\aa$n-$date-$time-$ms.aat (imw)
где $n – десятичное представление хэша, рассчитанного на основе имени звуковой карты

%TEMP%\ss0-$date-$time-$ms.sst
%TEMP%\dd0-$date-$time-$ms.ddt
%TEMP%\kk$date.kkt

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run «%PERSISTENT-FILENAME%», «%PERSISTENT-FILEPATH%»

где %PERSISTENT-FILENAME% – одно из перечисленных выше имен файлов
и %PERSISTENT-FILEPATH% – соответствующий путь

Публикации на схожие темы

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *