Russian
Интернет находится в нормальном состоянии, крупных эпидемий и других серьезных инцидентов службой мониторинга «Лаборатории Касперского» не зафиксировано. Уровень опасности: 1

Flame: Bunny, Frog, Munch и BeetleJuice…

Александр Гостев
Эксперт «Лаборатории Касперского»
опубликовано 31 май 2012, 13:25  MSK
Сюжеты: Flame, Кибертерроризм
0.4
 

Как уже упоминалось в прошлом блогпосте про Flame, его объем кода и функциональность настолько обширны, что их полный анализ займёт несколько месяцев. Мы планируем по мере обнаружения публиковать наиболее важные и интересные подробности, связанные с его функционалом.

В данный момент мы получаем множество запросов о том, как проверить компьютеры на наличие заражения Flame. Естественно, самый простой ответ (для нас) — это посоветовать использовать Анитвирус Касперского или Kaspersky Internet Security. Наши продукты успешно детектируют и удаляют все возможные модификации главного модуля и дополнительных компонентов Flame.

Однако для тех, кто хочет сам провести тщательную проверку, в конце статьи мы даем необходимые рекомендации и советы.

MSSECMGR.OCX

Основной модуль Flame — это DLL-файл под названием mssecmgr.ocx. Мы обнаружили две модификации этого модуля. На большинстве заражённых машин содержалась «большАя» версия — 6 Мбайт, которая содержит в себе и развёртывает дополнительные модули. «Малая» версия весит всего 900 Кбайт и не содержит дополнительных модулей. После установки малый модуль соединяется к одному из C&C-серверов и пытается загрузить оттуда и установить оставшиеся компоненты.

Mssecmgr может по-разному называться на каждой конкретной заражённой машине в зависимости от метода заражения и текущего состояния зловреда (установка, распространение, обновление). Например, wavesup3.drv, ~zff042.ocx, msdclr64.ocx, etc.

Полный анализ модуля mssecmgr будет представлен в одном из последующих блогпостов.

Первичная активация файла запускается одним из способов извне: либо через инструменты WMI, с использованием MOF-файла, если задействован эксплойт к уязвимости MS10-061, либо с использованием BAT-файла:

s1 = new ActiveXObject("Wscript.Shell");
s1.Run("%SYSTEMROOT%\\system32\\rundll32.exe msdclr64.ocx,DDEnumCallback");

(исходный код MOF-файла — svchostevt.mof)

После активации mssecmgr регистрирует себя в реестре Windows:

HKLM_SYSTEM\CurrentControlSet\Control\Lsa

Authentication Packages = mssecmgr.ocx [добавляется к существующим записям]

При следующей загрузке системы модуль автоматически загружается операционной системой.

После обновления реестра Windows mssecmgr разархивирует все дополнительные модули, которые присутствуют в зашифрованном и сжатом ресурсном разделе (ресурс «146») и устанавливает их. Ресурс — это словарь, содержащий параметры конфигурации для mssecmgr и других модулей, сами модули (DLL-файлы) и параметры, которые нужно передать этим модулям, чтобы их корректно загрузить, например ключи расшифровки.

Мы анализируем дополнительные модули; в ближайших блогпостах мы опубликуем дополнительную информацию об их функционале.

После завершения установки mssecmgr загружает доступные модули и запускает несколько потоков выполнения, которые устанавливают канал связи с C&C-серверами и хостом Lua-интерпретатора, и выполняет другие функции в зависимости от конфигурации. Функционал модуля делится на разные «блоки», которые имеют разные пространства имен в конфигурационном ресурсе и разные имена в журнале событий, которые широко используются по всему коду.

Ниже приведено краткое описание доступных модулей. Их имена извлечены из бинарного файла и ресурса 146.

Beetlejuice Bluetooth: составляет список устройств, находящихся вблизи зараженной машины. Может выполнять функцию «радиомаяка» — включает возможность обнаружения компьютера в настройках Bluetooth и шифрует с помощью base64 статус вредоносной программы для его отображения в информации об устройстве.
Microbe Записывает аудиосигнал с имеющихся аппаратных источников. Составляет перечень всех устройств мультимедиа, записывает полную информацию о конфигурации устройств, пытается выбрать подходящее устройство для записи звука.
Infectmedia Выбирает один из методов заражения внешних устройств, т.е. USB-носителей. Доступные методы: Autorun_infector, Euphoria.
Autorun_infector Создает файл autorun.inf, содержащий вредоносное ПО, и запускает его с помощью специально сформированной команды open. Этот же метод использовался Stuxnet, прежде чем был задействован LNK-эксплойт.
Euphoria Создает директорию с файлами desktop.ini и target.lnk, взятыми из записей LINK1 и LINK2 ресурса146 (отсутствовали в ресурсном файле). Директория используется как ярлык для запуска Flame.
Limbo Создает на других машинах в сетевом домене бэкдор-аккаунты с именем пользователя HelpAssistant, если имеются необходимые права.
Frog Заражает другие компьютеры, используя предварительно созданные учетные записи пользователей. Единственная учетная запись, указанная в конфигурационном ресурсе, — HelpAssistant. Этот аккаунт создается атакой Limbo.
Munch HTTP-сервер, отвечающий на запросы /view.php и /wpad.dat.
Snack Прослушивает сетевые интерфейсы, получает пакеты NBNS и сохраняет их в лог-файле. Имеет опцию, при включении которой стартует только при старте блока Munch. Собранные данные затем используются для распространения вредоносной программы по сети.
Boot_dll_loader Конфигурационный раздел, содержащий список всех дополнительных модулей, которые должны быть загружены и запущены.
Weasel Создает список папок на зараженном компьютере.
Boost Создает список «интересных» файлов по нескольким маскам имен файлов.
Telemetry Функции ведения журнала.
Gator При появлении доступа в интернет устанавливает соединение с командными серверами, загружает новые модули и выгружает на сервер собранные данные.
Security Выявляет программы, которые могут помешать работе Flame, т.е. антивирусы и сетевые экраны.
Bunny Dbquery Driller Headache Gadget Назначение этих модулей на данный момент неизвестно.

Дополнительные модули устанавливаются в директорию %windir%\system32\:

mssecmgr.ocx
advnetcfg.ocx
msglu32.ocx
nteps32.ocx
soapr32.ocx
ccalc32.sys
boot32drv.sys

Дополнительные модули, загруженные с командных серверов, устанавливаются в ту же папку.

Модули Flame создают множество файлов данных, содержащих подробные журналы выполнения программы, а также собранную информацию: снимки экрана, списки процессов, списки аппаратных ресурсов и т.д.

Эти файлы сохраняются в директории %windir%\temp под следующими именами:

~DEB93D.tmp
~8C5FF6C.tmp
~DF05AC8.tmp
~DFD85D3.tmp
~DFL*.tmp
~dra*.tmp
~fghz.tmp
~HLV*.tmp
~KWI988.tmp
~KWI989.tmp
~rei524.tmp
~rei525.tmp
~rf288.tmp
~rft374.tmp
~TFL848.tmp
~TFL849.tmp
~mso2a0.tmp
~mso2a1.tmp
~mso2a2.tmp
sstab*.dat

В директории %windir%\system32 могут также присутствовать следующие необязательные файлы:

Advpck.dat
ntaps.dat
Rpcnc.dat

Кроме того, в папке %windir%\ может присутствовать следующий файл:

Ef_trace.log

Flame хранит свои постоянные данные в файлах различных форматов. Все данные шифруются с применением нескольких алгоритмов и ключей. Некоторые файлы представляют собой базы данных, построенные с помощью встроенной библиотеки SQLite3. Эти базы содержат данные, полученные как в результате кражи, так и в результате распространения программы. Мы представим более подробную информацию об этих файлах в будущих публикациях.

Имена директории, используемые дополнительными компонентами Flame, могут слегка различаться в зависимости от типа установки и конфигурационных опций, содержащихся в ресурсе 146:

C:\Program Files\Common Files\Microsoft Shared\MSSecurityMgr
C:\Program Files\Common Files\Microsoft Shared\MSAudio
C:\Program Files\Common Files\Microsoft Shared\MSAuthCtrl
C:\Program Files\Common Files\Microsoft Shared\MSAPackages
C:\Program Files\Common Files\Microsoft Shared\MSSndMix

Эти директории могут содержать следующие файлы:

dstrlog.dat lmcache.dat mscrypt.dat (or wpgfilter.dat) ntcache.dat rccache.dat (or audfilter.dat) ssitable (or audache) secindex.dat wavesup3.drv
(a copy of the main module, mssecmgr.ocx, in the MSAudio directory)

Flame может также создавать или загружать файлы со следующими именами:

svchost1ex.mof
Svchostevt.mof
frog.bat
netcfgi.ocx
authpack.ocx
~a29.tmp
rdcvlt32.exe
to961.tmp
authcfg.dat
Wpab32.bat
ctrllist.dat
winrt32.ocx
winrt32.dll
scsec32.exe
grb9m2.bat
winconf32.ocx
watchxb.sys
sdclt32.exe
scaud32.exe
pcldrvx.ocx
mssvc32.ocx
mssui.drv
modevga.com
indsvc32.ocx
comspol32.ocx
comspol32.dll
browse32.ocx

В результате мы можем предложить метод быстрой «ручной» проверки вашей системы на наличие заражения Flame:

  1. Выполните поиск файла ~DEB93D.tmp. Его присутствие в системе означает, что компьютер заражен или был заражен Flame.
  2. Проверьте ключ реестра HKLM_SYSTEM\CurrentControlSet\Control\Lsa\ Authentication Packages. Если вы найдете в нем mssecmgr.ocx или authpack.ocx, значит, ваш компьютер заражен Flame.
  3. Проверьте наличие следующих папок. Если они есть — вы заражены.
    C:\Program Files\Common Files\Microsoft Shared\MSSecurityMgr
    C:\Program Files\Common Files\Microsoft Shared\MSAudio
    C:\Program Files\Common Files\Microsoft Shared\MSAuthCtrl
    C:\Program Files\Common Files\Microsoft Shared\MSAPackages
    C:\Program Files\Common Files\Microsoft Shared\MSSndMix
  4. Запустите поиск по остальным именам файлов, данным выше. Они все уникальны, и их наличие будет означать весьма высокую вероятность зараженности вашего компьютера Flame.

1 комментариев

rkhunter

31 май 2012, 23:21
0
 

hash

MD5: bdc9e04388bda8527b398a8c34667e 18
SHA1: a592d49ff32fe130591ecfde006ffa 4fb34140d5
File size: 6166528 bytes
File name: mssecmgr.ocx

Для добавления комментариев необходимо


Bookmark and Share
Закладки

Также в аналитике

В блоге