Перейти к содержанию
AM_Bot

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

Recommended Posts

AM_Bot

9 апреля 2014 года

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

gk02.1.png

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

Модули полезной нагрузки BackDoor.Gootkit.112 хранит в ветви системного реестра Windows HKLMSOFTWARECXSW, используя для этого значения binaryImage32 или binaryImage64 в зависимости от разрядности операционной системы.

gk03.1.png

Для получения полезной нагрузки BackDoor.Gootkit.112 внедряет специальный шелл-код в процессы SERVICES.EXE, EXPLORER.EXE, IEXPLORE.EXE, FIREFOX.EXE, OPERA.EXE, CHROME.EXE. Подобный метод встраивания вредоносного кода (с созданием полноценного нового потока в пользовательском режиме и регистрацией его в CSRSS.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 указывает путь к своему исполняемому файлу и ссылку на созданную базу данных.

nouac01.1.png

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

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

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

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

и некоторые другие.

Как уже упоминалось ранее, в троянце используется редкий метод внедрения кода в запущенные процессы. Аналогичный алгоритм был описан на форуме wasm.ru пользователем, скрывающимся под псевдонимом Great:

great.1.png

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

great2.1.png

Можно было бы предположить, что вирусописатель попросту позаимствовал код из открытого источника, однако в опубликованных на форуме wasm.ru исходниках в одну из функций передается структура c именем DRIVER_TO_SHELLCODE_PARAMETERS. Упоминание структуры с аналогичным именем внезапно обнаруживается в личном блоге другого автора, который подробно описывает данную технологию инжекта, утверждая, что это его совместная разработка с Ильей Great:

great3.1.png

При этом на страницах того же блога его владелец признается в любви к фреймворку Node.JS, возможности которого широко используются в коде троянца. Так, автор опубликовал заметку с заголовком «NodeJSC++: Нативное расширение для реестра», в которой описал методы работы с ветвью системного реестра Windows SOFTWARECXS:

great4.1.png

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

great5.1.png

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

great6.1.png

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

Сигнатура BackDoor.Gootkit.112 добавлена в вирусные базы, и потому данный троянец не представляет угрозы для пользователей антивирусных продуктов Dr.Web.

Источник

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Сергей Ильин
BackDoor.Gootkit.112 — новый многофункциональный бэкдор

Заголовок такой, как-будто они этот бекдор сами написали и продают! :D

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

  • Сообщения

    • Ego Dekker
    • ArktiTig
      Арктика - северная полярная область Земли, включающая окраины материков Евразии и Северной Америки, почти весь Северный Ледовитый океан с островами и прилегающие к нему части Атлантического и Тихого океанов. Название её происходит от греческого слова arctos (медведь) и связано со звёздами: Полярная звезда, находящаяся почти точно в зените над Северным полюсом, принадлежит к созвездию Малая Медведица.
    • ArktiTig
      Арктика - северная полярная область Земли, включающая окраины материков Евразии и Северной Америки, почти весь Северный Ледовитый океан с островами и прилегающие к нему части Атлантического и Тихого океанов. Название её происходит от греческого слова arctos (медведь) и связано со звёздами: Полярная звезда, находящаяся почти точно в зените над Северным полюсом, принадлежит к созвездию Малая Медведица.
    • PR55.RP55
      .xml  файлы taskschd.msc Могут быть подписаны  цифровой подписью. Думаю будет нелишним, если uVS будет это фиксировать. т.е. проверять не только подпись целевого файла, но и подпись самого файла\задачи. и писать в ИНфО .  
    • demkd
      ---------------------------------------------------------
       4.15.2
      ---------------------------------------------------------
       o Исправлена ошибка при работе с образом автозапуска.
         Для некоторых процессов команда unload не добавлялась в скрипт при нажатии кнопки "принять изменения".  o Добавлена плашка окна на таскбаре для окна удаленного рабочего стола.
         (при работе с удаленной системой) -----------------------------------------------------------
      Есть проблема с локализацией глюка в редких случаях приводящему к аварийному завершению uVS при активном флаге "Проверять весь HKCR".
      На основе дампов его найти не получается, нужна копия реестра системы с такой проблемой, если кому-то попадется такая проблема, то присылайте архив с копией реестра системы мне на почту.  
×