Упаковщик:
отсутствует
Дата компиляции:
06:53:51 29.05.2020
SHA1-хеш:
13dda1896509d5a27bce1e2b26fef51707c19503 (TosBtKbd.dll)
Описание
Троянская dll-библиотека, устанавливающая другие вредоносные приложения на компьютеры под управлением 32- и 64-битных ОС семейства Microsoft Windows. Написана на C и Assembler.
Принцип действия
Библиотека TosBtKbd.dll имеет следующие экспорты функций:
- SetTosBt
- SetTosBtKbd
- SetTosBtKbdHook
- UnHook
- UnHookTosBt
- UnHookTosBtKbd
Экспорты SetTosBt, SetTosBtKbd и SetTosBtKbdHook являются действующими и ссылаются на основную вредоносную функцию трояна, в то время как UnHook, UnHookTosBt и UnHookTosBtKbd представляют собой экспорты-пустышки.
Исследованный образец BackDoor.ShadowPad.4 распространялся в составе WinRAR SFX-дроппера (6ad20dade4717656beed296ecd72e35c3c8e6721), в состав которого входят следующие компоненты:
- TosBtKbd.exe (a4c6d9eab106e46953f98008f72150e1e86323d6) - легитимное приложение, используемое для запуска вредоносного модуля TosBtKbd.dll;
- TosBtKbd.dll (13dda1896509d5a27bce1e2b26fef51707c19503) - описываемый модуль BackDoor.ShadowPad.4;
- TosBtKbdLayer.dll (27e8474286382ff8e2de2c49398179f11936c3c5) – троянский модуль BackDoor.Siggen2.3243, загружаемый TosBtKbd.dll в процессе работы.
Запуск
TosBtKbd.dll загружается в память методом DLL hijacking через легитимное приложение TosBtKbd.exe, которое входит в состав основного дроппера. Аналогично трояну BackDoor.ShadowPad.1, после запуска библиотека перебирает дескрипторы (handles) в поисках объекта с именем TosBtKbd.exe и пытается закрыть его.
Затем она расшифровывает шелл-код, который загружает основной вредоносный модуль TosBtKbdLayer.dll, детектируемый антивирусом Dr.Web как BackDoor.Siggen2.3243.
В точке входа загруженного модуля предусмотрено два значения кода, передаваемого от загрузчика:
В ней отсутствует функция, возвращающая название модуля, а также название таблицы функций, которую «экспортирует» модуль.
Аналогично троянам BackDoor.ShadowPad.1 и BackDoor.ShadowPad.3, а также представителям семейства BackDoor.PlugX, BackDoor.ShadowPad.4 получает для себя системные привилегии SeTcbPrivilege и SeDebugPrivilege:
Далее троян проверяет значение shellarg.mode, а также предусмотренные значения кода и действия по ним. Эти значения показаны ниже:
- 1, 2 ― создание процесса с токеном сессии и инжект в него, выполнение основных вредоносных действий;
- 3 ― завершение родительского процесса, создание процесса с токеном сессии и инжект в него, выполнение основных вредоносных действий;
- 4, 5 ― выполнение основных вредоносных действий;
- иные значения ― установка в систему, создание процесса с токеном сессии и инжект в него, выполнение основных вредоносных действий.
По умолчанию загрузчик устанавливает значение mode 0, поэтому при первичном запуске троян будет пытаться установить себя в систему.
Установка
BackDoor.ShadowPad.4 проверяет текущую дату, и если она больше или равна 01.01.2021, завершает свою работу.
Троян копирует необходимые для его работы файлы в директорию %ALLUSERSPROFILE%\DRM\Toshiba и пытается установить себя в качестве службы. Если это ему не удалось, для обеспечения собственного автозапуска он прописывает себя в ключе реестра [HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run], а в случае неудачи ― в [HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run].
Далее BackDoor.ShadowPad.4 пытается выполнить инжект. Для этого троян создаёт процесс dllhost.exe с флагом CREATE_SUSPENDED и пытается инжектировать в него шелл-код для загрузки модуля, а также сам модуль, используя схему strVirtualAllocEx -> WriteProcessMemory -> CreateRemoteThread. Процесс создаётся с помощью следующей командой строки:
%SystemRoot%\system32\dllhost.exe /Processid:{D54EEE56-AAAB-11D0-9E1D-00A0C922E6EC}
Если инжект выполнен успешно, текущий процесс завершается. В противном случае троян пытается выполнить инжект в процесс, созданный с токеном текущей сессии.
В контексте нового процесса BackDoor.ShadowPad.4 выполняет поиск родительского процесса по мьютексу, после чего завершает найденный процесс. Имя мьютекса генерируется следующей функцией:
Затем троян пытается выполнить инжект своего основного модуля в процесс wmplayer.exe, созданный с окружением, полученным при помощи дубликата токена текущей сессии. В случае успеха он завершает текущий процесс, в случае неудачи ― переходит к выполнению основных функций.
Работая в контексте процесса wmplayer.exe, BackDoor.ShadowPad.4 сразу переходит к выполнению основных вредоносных действий ― загрузке библиотеки TosBtKbdLayer.dll в память и отправке идентификатора инфицированной машины на C&C-сервер.
Основные вредоносные действия
С помощью функции LoadLibrary BackDoor.ShadowPad.4 загружает библиотеку TosBtKbdLayer.dll в память. Затем он генерирует последовательность из 16 случайных байт, которая выступает идентификатором заражённого компьютера. При наличии прав администратора троян сохраняет этот идентификатор в параметре ID1 ключа реестра [HKLM\SOFTWARE\WAD], а при их отсутствии ― в параметре ID1 ключа [HKCU\SOFTWARE\WAD].
Далее BackDoor.ShadowPad.4 создает UDP-сокет и привязывается к нему, но не вызывает для него функцию listen для прослушивания соединения. После этого генерируется строка вида winhook\tdzkd\t
- <id> ― сгенерированный идентификатор компьютера в виде hex-строки;
- <computer_name> ― имя компьютера;
- \t ― символ табуляции (0x09);
- winhook и dzkd ― строки, зашитые в код трояна.
Полученная строка шифруется и отправляется на C&C-сервер, расположенный по адресу 125.65.40.163:
Генерация строки и ее отправка на C&C-сервер повторяется раз в час.
В отличие от других представителей семейства, все необходимые трояну параметры, такие как имена ключей реестра, службы и адрес C&C, хранятся в теле BackDoor.ShadowPad.4 в отдельных зашифрованных строках. Алгоритм шифрования этих строк аналогичен используемому в BackDoor.ShadowPad.3. Код этого алгоритма видоизменен, однако результат его работы для обеих вредоносных программ одинаков: