BackDoor.Gootkit.112 — еще один многофункциональный бэкдор


BackDoor.Gootkit.112 - сложный многокомпонентный троян, способный выполнять на инфицированном компьютере поступающие с удаленного сервера команды.

Архитектура и принцип работы данной угрозы следующая: модуль, который отвечает за инсталляцию бэкдора в систему и реализацию функций буткита, был позаимствован у троянов семейства Trojan.Mayachok. Однако, вирусописатели все же изменили исходный код. Например, если Trojan.Mayachok перед началом распространения каждой сборки трояна генерировал уникальный код VBR, на базе которого собиралось вредоносное приложение, то в архитектуре BackDoor.Gootkit.112 все функции собраны в самом дроппере, который в процессе заражения видоизменяет код VBR. Драйвер, которому передает управление загрузочная запись раздела (Volume Boot Record, VBR) до момента инициализации системы, также взят из известных исходников Trojan.Mayachok, однако при этом его код был частично переписан.

Так, большинство указателей (шелл-код для выполнения инжекта, различные таблицы) с неустановленной целью были приведены к базонезависимому виду, однако при этом некоторые указатели остались нетронутыми. В частности, один из них ссылается на фразу из репертуара Гомера Симпсона

  • "Just pick a dead end and chill out till you die",

которую троян выводит в отладчик после предварительной инициализации загрузчика.

Примечательно, но подобные строки (преимущественно также цитаты Гомера Симпсона) транслировали в отладчик авторы троянов семейства TDSS (начиная с версии BackDoor.Tdss.565 (TDL3) и старше). Имя Gootkit встречается как в самом загрузчике вредоносной программы, так и в модуле полезной нагрузки:

Gootkit112 1

Помимо всего прочего, из драйвера удалены все компоненты, которые отвечают за связь с ним работающих в пользовательском режиме модулей трояна, например, позволявшие этим модулям использовать ресурсы скрытой файловой системы VFS. При этом функции инициализации и защиты этой файловой системы в BackDoor.Gootkit.112 остались.

Также установлено, что модули полезной нагрузки BackDoor.Gootkit.112 хранит в ветви системного реестра Windows

  • HKLM\SOFTWARE\CXSW,

используя для этого значения

  • binaryImage32

или

  • binaryImage64

в зависимости от разрядности операционной системы.

Gootkit112 2

Для получения полезной нагрузки BackDoor.Gootkit.112 внедряет специальный шелл-код в процессы

  • SERVICES.EXE;
  • EXPLORER.EXE;
  • IEXPLORE.EXE;
  • FIREFOX.EXE;
  • OPERA.EXE;
  • CHROME.EXE.


Основной задачей внедряемого шелл-кода, является загрузка модуля полезной нагрузки из системного реестра или закачка его с удаленного интернет-ресурса. Бинарные файлы полезной нагрузки сжаты и зашифрованы.

Чтобы повысить свои привилегии в инфицированной системе BackDoor.Gootkit.112 использует оригинальную методику обхода защиты учетных записей (User Accounts Control, UAC). Для этих целей он использует штатный механизм операционной системы shim (Microsoft Windows Application Compatibility Infrastructure). Вредонос задействует в своих целях программу сетевого клиента SQL Server (cliconfg.exe) — в манифесте этой программы свойству AutoElevate соответствует значение true, поэтому Windows поднимает для таких приложении привилегии в обход UAC.

Используя библиотеку apphelp.dll, BackDoor.Gootkit.112 создает в Windows базу данных, имя которой и значение параметра Application генерирует случайным образом. При этом для загрузки трояна используется свойство RedirectEXE, которое позволяет запустить вместо указанного приложения его "исправленную" версию или саму вредоносную программу. В качестве параметра свойства RedirectEXE BackDoor.Gootkit.112 указывает путь к своему исполняемому файлу и ссылку на созданную базу данных.

Gootkit112 Ssilki na file i na bases

После создания базы она устанавливается в систему с использованием утилиты sdbinst.exe, при этом в манифесте данной утилиты свойству AutoElevate также соответствует значение true, поэтому она запускается в Windows с особыми привилегиями. В целом алгоритм обхода UAC выглядит следующим образом:

  • Троян создает и устанавливает новую базу данных
  • Затем запускается утилита cliconfg.exe, которая стартует в системе с повышенными привилегиями
  • А механизм shim выгружает оригинальный процесс и с использованием RedirectEXE запускает трояна.


Полезная нагрузка BackDoor.Gootkit.112 представляет собой исполняемый файл объемом в 5 МБ, написанный на языке С++. Большая часть этого файла представляет собой интерпретатор JavaScript, известный под названием Node.JS. Внутри этого исполняемого файла содержится более 70 скриптов на языке JavaScript, большая часть которых представляет собой ядро Node.JS, которое создает удобный интерфейс для работы со встроенными объектами. Часть скриптов реализует вредоносный функционал трояна и позволяют бэкдору выполнять поступающие от удаленного сервера команды, а также загружать с него дополнительные модули, которые сохраняются в системном реестре, как и основной модуль BackDoor.Gootkit.112. Троян может выполнять следующие команды:

  • перехват http-трафика;
  • выполнение инжектов;
  • блокировка определенных URL;
  • создание снимков экрана;
  • получение списка запущенных в системе процессов;
  • получение списка локальных пользователей и групп;
  • выгрузка заданных процессов;
  • выполнение консольных команд;
  • запуск исполняемых файлов;
  • автообновление трояна и другое.


В трояне используется редкий метод внедрения кода в запущенные процессы.

Аналогичный алгоритм, описанный на форуме wasm.ru

Algoritm na Great

В представленном описании видны характерные статусы возврата. Аналогичные статусы наблюдаются в дизассемблированном коде BackDoor.Gootkit.112.

Дизассемблированный код BackDoor.Gootkit.112

Ishodnii kod Great

В опубликованных на форуме wasm.ru исходниках в одну из функций передается структура c именем

  • DRIVER_TO_SHELLCODE_PARAMETERS


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

Opisanie tehnologii Great

При этом, в том же блоге владелец признается в любви к фреймворку Node.JS, возможности которого широко используются в коде трояна. Автор публикует заметку с заголовком

  • "NodeJS\C++: Нативное расширение для реестра",

где и описал методы работы с ветвью системного реестра Windows SOFTWARE\CXS.

Rasshirenie Great

В другой статье

  • "NodeJS: Spyware на Javascript?",

автор упоминает шпионский модуль SpywareModule, при этом методы этого модуля имеют префикс "Sp":

NodeJS Spyware

Аналогичный код встречается в BackDoor.Gootkit.112

Analog koda v Great

Исходя из этого всего можно сделать определенные предположения об авторстве данной вредоносной программы.