Технические детали
Вредоносная программа, предназначенная для атаки на компьютеры под управлением системы визуализации производственных процессов Siemens WinCC.
Инсталляция
При активации вредоносной программы происходит создание следующих файлов:
%WinDir%/inf/oem6C.PNF
Данный файл имеет размер 323848 байт и детектируется Антивирусом Касперского как Worm.Win32.Stuxnet.a.Crypt.
%WinDir%/inf/oem7A.PNF
Данный файл имеет размер 498176 байт и детектируется Антивирусом Касперского как Worm.Win32.Stuxnet.a.Crypt.
%System%/drivers/mrxcls.sys
Данный файл имеет размер 26616 байт и детектируется Антивирусом Касперского как Rootkit.Win32.Stuxnet.a.
%System%/drivers/mrxnet.sys
Данный файл имеет размер 17400 байт и детектируется Антивирусом Касперского как Rootkit.Win32.Stuxnet.b.
путь к проекту wincc/имя_проекта/GraCS/cc_alg.sav
Данный файл имеет размер 498176 байт и детектируется Антивирусом Касперского как Worm.Win32.Stuxnet.a.Crypt.
путь к проекту wincc/имя_проекта/GraCS/cc_tlg7.sav
Данный файл имеет размер 5237 байт и детектируется Антивирусом Касперского как Worm.Win32.Stuxnet.a.
Также создаются файлы:
%WinDir%/inf/mdmcpq3.PNF, 4633 байта.
%WinDir%/inf/mdmeric3.PNF, 90 байт.
путь к проекту wincc/имя_проекта/GraCS/cc_tag.sav,8459 байт
путь к проекту wincc/имя_проекта/GraCS/db_log.sav, 90 байт
Для автоматического запуска при следующем старте системы вредоносная программа создает следующие службы:
[HKLM/SYSTEM/CurrentControlSet/Enum/Root/LEGACY_MRXCLS]
"NextInstance" = "1"
[HKLM/SYSTEM/CurrentControlSet/Enum/Root/LEGACY_MRXCLS/0000]
"Class" = "LegacyDriver"
"ClassGUID" = "{8ECC055D-047F-11D1-A537-0000F8753ED1}"
"ConfigFlags" = "0"
"DeviceDesc" = "MRXCLS"
"Legacy" = "1"
"Service" = "MRxCls"
[HKLM/SYSTEM/CurrentControlSet/Enum/Root/LEGACY_MRXCLS/0000/Control]
"*NewlyCreated*" = "0"
"ActiveService" = "MRxCls"
[HKLM/SYSTEM/CurrentControlSet/Enum/Root/LEGACY_MRXNET]
"NextInstance" = "1"
[HKLM/SYSTEM/CurrentControlSet/Enum/Root/LEGACY_MRXNET/0000]
"Class" = "LegacyDriver"
"ClassGUID" = "{8ECC055D-047F-11D1-A537-0000F8753ED1}"
"ConfigFlags" = "0"
"DeviceDesc" = "MRXNET"
"Legacy" = REG_DWORD, 1
"Service" = "MRxNet"
[HKLM/SYSTEM/CurrentControlSet/Enum/Root/LEGACY_MRXNET/0000/Control]
*NewlyCreated* = "0"
"ActiveService" = "MRxNet"
[HKLM/SYSTEM/CurrentControlSet/Services/MRxCls]
"Data" = " ...m}.....$z...#......Q.*..j..O..i|..;...u...3H...../
...!..uh....{...rG.......2...86kI..o...J...K....AK...$...7.B..j.....
`......7..W....kA.m.9q......}...pF.$...-.`r.....4RK}
_._5..x....Z.0ZV......../...+?IA....qgi..iw)w.....]&.Z/,F.
.(..K..:....!.O.n...........S...1.8{7....,.L.3....h1- .Pd{9....
..l*...%C..(.`s.E..S.......(..Z......%...LHf.Y@..0....v.....J.."
"Description" = REG_SZ, "MRXCLS"
"DisplayName" = "MRXCLS"
"ErrorControl" = "0"
"Group" = "Network"
"ImagePath" = "/??/C:/WINDOWS/system32/Drivers/mrxcls.sys"
"Start" = "1"
"Type" = "1"
[HKLM/SYSTEM/CurrentControlSet/Services/MRxCls/Enum]
"0| ="Root/LEGACY_MRXCLS/0000"
"Count" = "1"
"NextInstance" = "1"
[HKLM/SYSTEM/CurrentControlSet/Services/MRxNet]
"Description" = "MRXNET"
"DisplayName" = "MRXNET"
"ErrorControl" = "0"
"Group" = "Network"
"ImagePath" = "/??/C:/WINDOWS/system32/Drivers/mrxnet.sys"
"Start" = "1"
"Type" = "1"
[HKLM/SYSTEM/CurrentControlSet/Services/MRxNet/Enum]
"0" = "Root/LEGACY_MRXNET/0000"
"Count" = "1"
"NextInstance" = "1"
Распространение
Вредоносная программа распространяется с помощью сменных USB носителей, используя уязвимость CVE-2010-2568 в LNK/PIF-файлах. Для этого вредоносный код, работающий в процессе services.exe мониторит подключение новых USB накопителей в системе и в случае обнаружения подключения создает в корневой папке накопителя следующие файлы:
~wtr4132.tmp
Данный файл имеет размер 513536 байт и детектируется Антивирусом Касперского как Worm.Win32.Stuxnet.m.
~wtr4141.tmp
Данный файл имеет размер 25720 байт и детектируется Антивирусом Касперского как Worm.Win32.Stuxnet.b.
Эти файлы являются динамическими библиотеками, которые загружаются в результате срабатывания уязвимости и инсталлируют вредоносную программу в систему. Вместе с этими файлами в корень заражаемого диска помещаются файлы ярлыков с уязвимостью:
"Copy of Shortcut to.lnk"
"Copy of Copy of Shortcut to.lnk"
"Copy of Copy of Copy of Shortcut to.lnk"
"Copy of Copy of Copy of Copy of Shortcut to.lnk"
Файлы имеют размер 4171 байт и детектируются, как Trojan.WinLnk.Agent.i. Уязвимость срабатывает, когда пользователь делает попытку просмотреть содержимое корня сменного носителя файловым менеджером, с включенным отображением значков файлов. После срабатывания уязвимости активируется руткит, который мгновенно скрывает вредоносные файлы.
Вредонос использует уязвимость в службе Диспетчер печати (Print Spooler) Windows (MS10-061), которая позволяет выполнять произвольный код на целевой системе.
Заражению подвержены компьютеры, использующие принтер и предоставляющие к нему общий доступ. При этом на атакуемую машину происходит загрузка следующих файлов:
%System%/winsta.exe
Данный файл имеет размер 521728 байт и детектируется Антивирусом Касперского, как Worm.Win32.Stuxnet.e.
%System%/wbem/mof/good/sysnullevnt.mof
Данный файл имеет размер 1594 байта, содержит скомпилированный mof-скрипт, для запуска файла "winsta.exe"
Также для распространения по сети вредонос использует уязвимость в службе сервера (MS08-067), и уязвимость в Task Scheduler, позволяющая повысить локальные привилегии.
Деструктивная активность
С помощью драйвера:
%System%/drivers/mrxnet.sys
Руткит подключается как драйвер-фильтр к следующим устройствам файловых систем:
/FileSystem/ntfs
/FileSystem/fastfat
/FileSystem/cdfs
и таким образом получает контроль над файловой системой зараженного компьютера. Руткит скрывает файлы, имеющие имена вида:
~WTRrnd.tmp
Где rnd - случайное четырехзначное число, например:
~WTR4132.tmp
~WTR4141.tmp
Также скрываются файлы имеющие расширение LNK и размер файла равный 4171 байт.
Файл руткита подписан цифровой подписью Realtek Semiconductor Corp Содержит строку:
b:/myrtus/src/objfre_w2k_x86/i386/guava.pdb
При помощи драйвера:
%System%/drivers/mrxcls.sys
Вредоносная программа внедряет вредоносный код(inject) в процессы пользовательского режима. Для этого загружает динамическую библиотеку DLL в следующие системные процессы:
svchost.exe
services.exe
lsass.exe
после чего в их списке модулей появляются библиотеки с именами вида:
kernel32.dll.aslr.rnd
shell32.dll.aslr.rnd
Где rnd - случайное шестнадцатеричное число.
Внедряемый код находится в файле:
%WinDir%/inf/oem7A.PNF
в зашифрованном виде.
Внедряемый код содержит основной функционал данной вредоносной программы. Который включает:
- Распространение на сменных носителях.
- Мониторинг за работой системы Siemens Step7. Для этого драйвер руткита внедряет в процесс s7tgtopx.exe свою библиотеку-посредник, вместо оригинальной s7otbxsx.dll, которая эмулирует работу следующих API-функций:
s7_event
s7ag_bub_cycl_read_create
s7ag_bub_read_var
s7ag_bub_write_var
s7ag_link_in
s7ag_read_szl
s7ag_test
s7blk_delete
s7blk_findfirst
s7blk_findnext
s7blk_read
s7blk_write
s7db_close
s7db_open
s7ag_bub_read_var_seg
s7ag_bub_write_var_seg
собирая различные данные о работе системы.
- Выполнение SQL запросов. Вредонос получает список компьютеров в локальной сети и проверяет запущен ли на каком-либо из них Microsoft SQL сервер, который обслуживает систему визуализации производственных процессов Siemens WinCC. Если сервер обнаружен, вредонос пытается подключиться к базе данных, используя имя пользователя и пароль WinCCConnect/2WSXcder (CVE-2010-2772) после чего пытается получить данные таблиц, таких как:
MCPTPROJECT
MCPTVARIABLEDESC
MCPVREADVARPERCON
- Собирает информацию из файлов со следующими расширениями:
*.S7P
*.MCP
*.LDF
Которые созданы при помощи системы Siemens Step7. Поиск файлов ведется на всем жестком диске компьютера.
- Отправляет собранные данные в интернет на сервера злоумышленников в зашифрованном виде.
Рекомендации по удалению
Если ваш компьютер не был защищен антивирусом и оказался заражен данной вредоносной программой, то для её удаления необходимо выполнить следующие действия:
- Удалить оригинальный файл вредоноса (его расположение на зараженном компьютере зависит от способа, которым программа попала на компьютер).
- Удалить ключи системного реестра:
[HKLM/SYSTEM/CurrentControlSet/Enum/Root/LEGACY_MRXCLS]
[HKLM/SYSTEM/CurrentControlSet/Enum/Root/LEGACY_MRXCLS/0000]
[HKLM/SYSTEM/CurrentControlSet/Enum/Root/LEGACY_MRXCLS/0000/Control]
[HKLM/SYSTEM/CurrentControlSet/Enum/Root/LEGACY_MRXNET]
[HKLM/SYSTEM/CurrentControlSet/Enum/Root/LEGACY_MRXNET/0000]
[HKLM/SYSTEM/CurrentControlSet/Enum/Root/LEGACY_MRXNET/0000/Control]
[HKLM/SYSTEM/CurrentControlSet/Services/MRxCls]
[HKLM/SYSTEM/CurrentControlSet/Services/MRxCls/Enum]
[HKLM/SYSTEM/CurrentControlSet/Services/MRxNet]
[HKLM/SYSTEM/CurrentControlSet/Services/MRxNetEnum]
- Удалить следующие файлы:
%System%/winsta.exe
%System%/wbem/mof/good/sysnullevnt.mof
%WinDir%/inf/oem6C.PNF
%WinDir%/inf/oem7A.PNF
%System%/drivers/mrxcls.sys
%System%/drivers/mrxnet.sys
путь к проекту wincc/имя_проекта/GraCS/cc_alg.sav
путь к проекту wincc/имя_проекта/GraCS/cc_tlg7.sav
%WinDir%/inf/mdmcpq3.PNF
%WinDir%/inf/mdmeric3.PNF
путь к проекту wincc/имя_проекта/GraCS/cc_tag.sav
путь к проекту wincc/имя_проекта/GraCS/db_log.sav
- Перезагрузить компьютер
- Отключить отображение значков в файловом менеджере, что бы избежать повторного заражения.
- Удалить следующие файлы на сменных носителях, если такие имеются:
"Copy of Shortcut to.lnk"
"Copy of Copy of Shortcut to.lnk"
"Copy of Copy of Copy of Shortcut to.lnk"
"Copy of Copy of Copy of Copy of Shortcut to.lnk"
~wtr4132.tmp
~wtr4141.tmp
- Произвести полную проверку компьютера Антивирусом Касперского с обновленными антивирусными базами (скачать пробную версию).
Источник: securelist.com.
|