среда, 9 марта 2011 г.

Описание работы вируса Worm.Win32. Stuxnet.m

Вредоносная программа, предназначенная для атаки на компьютеры под управлением системы визуализации производственных процессов 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.....
<.c.>`......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
и таким образом получает контроль над файловой системой зараженного компьютера. Руткит скрывает файлы, имеющие имена вида:
~WTR<rnd>.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. Поиск файлов ведется на всем жестком диске компьютера.
  • Отправляет собранные данные в интернет на сервера злоумышленников в зашифрованном виде.

0 коммент.:

Отправить комментарий