Описание вредоносного ПО

Анатомия Flashfake. Часть II

В первой части нашего исследования мы рассмотрели механизмы распространения и заражения вредоносной программы Flashfake, в марте 2012 года заразившей более 700 000 компьютеров под управлением операционной системы Mас OS X. Здесь мы рассмотрим остальные функции данной программы и попробуем понять, как именно злоумышленники монетизируют созданный ими ботнет.

Динамическая библиотека

Flashback является многомодульной вредоносной программой, в которую входит, помимо уже описанных в первой части модулей, и динамическая библиотека, внедряемая в процессы выполнения браузеров. Эта библиотека представляется в виде модуля внедрения вредоносного кода — см.картинку ниже.


Схема работы Flashfake

В нашей коллекции на текущий момент насчитывается 2 различные модификации данной библиотеки, чаще всего имеющей имя libmbot.dylib. Данная библиотека представляется собой стандартный набор Mach-O для 32- и 64-битных систем, имеющий суммарный размер около 400КБ.

Работа данной библиотеки начинается со стандартной функции _dylibmain, принимающей на вход число, которое для активации основного функционала должно быть по умолчанию равным 7.


Псевдокод начальной функции библиотеки

После проверки входного параметра библиотека начинает расшифровку конфигурационного блока, в котором описан весь вредоносный функционал данной библиотеки. Расшифровка производится алгоритмом RC4 со снятием кодировки base64. Конфигурационный блок представляется собой таблицу, каждая запись которой состоит из идентификатора, типа записи и непосредственного значения записи. Вся дальнейшая работа библиотеки происходит с относительным указанием идентификатора записи в данном блоке.


Пример конфигурационного блока вредоносной библиотеки flashback

Данный блок содержит в себе следующие типы записей, описывающие функционал:

  1. функции обновления и заражения браузеров, через DYLD_INSERT_LIBRARIES, описанные в первой части данного исследования;
  2. первоначальный список доменов, выступающих в роли серверов управления данной библиотеки;
  3. функция генерации доменных имен в зонах org ,com, co.uk, cn, in для поиска серверов управления;
  4. функция генерации доменов 3-го уровня для доменов .PassingGas.net, .MyRedirect.us, .rr.nu, .Kwik.To, .myfw.us, .OnTheWeb.nu и т.д.;
  5. функция поиска серверов управления через генерацию поисковых запросов для мобильной версии Twitter’a (см. наш мартовский отчет о развитии вредоносных программ)
  6. функция внедрения стороннего кода в контекст посещаемых пользователем сайтов.

Механизм внедрения

По умолчанию данная библиотека, находясь в контексте выполнения процесса браузера, следит за всеми пользовательскими запросами через перехват функций send, recv, CFReadStreamRead и CFWriteStreamWrite. При обнаружении перехода на сайт, прописанный злоумышленниками в конфигурационном блоке, библиотека загружает с сервера и передает браузеру следующий JavaScript:


JavaScript, внедряемый в контекст выполнения браузеров

Значение поля {DOMAIN} берётся из списка первоначальных серверов управления, например:

googlesindication.com, gotredirect.com, dotheredirect.com, adfreefeed.com, googlesindications.cn, googlesindications.in, instasearchmod.com, jsseachupdates.cn.

По умолчанию данный JavaScript всегда выполняется в процессе работы с google.com. Однако в конфигурационном блоке содержится список из 321 домена: при упоминании этих доменов в поисковых запросах выполнение данного JavaScript запрещено. Данный список доменов помимо поисковых систем содержит в себе имена социальных сетей, новостных сайтов, онлайн-магазинов и онлайн-банков. Данный список доменов, вероятно, внесён в список исключений для минимизации трафика на сервера злоумышленников.


Список доменов-исключений при внедрении JavaScript’a

Ревизия версий

В функционал данной вредоносной библиотеки входит механизм самообновления. При этом злоумышленниками был заложен механизм верификации серверов управления и подписи обновлений с использованием алгоритма RSA. На текущий момент можно выделить две основных версии данной вредоносной библиотеки. К сожалению, во всех вредоносных файлах время линковки выставлено как 1 января 1970 года, что не позволяет нам выстроить точный график релиза данных библиотек. Тем не менее разный функционал библиотек может помочь нам восстановить историю их появления.

Таким образом, версия 1.0 (MD5 0x8ACFEBD614C5A9D4FBC65EDDB1444C58), активная до марта 2012 года, характеризуется случайным именем библиотеки, перехватом функций CFReadStreamRead, CFWriteStreamWrite и установкой в /Users/Shared/.svcdmp. Вредоносный JavaScript при этом указан в теле самой вредоносной программы. Версия 1.1 характеризуется при этом только изменением первоначального списка серверов управления и алгоритмом генерации их новых доменных имён.

В версии 2.0 (MD5 434C675B67AB088C87C27C7B0BC8ECC2), активной в марте 2012 года, злоумышленниками был добавлен алгоритм поиска серверов управления через twitter.com, в конфигурационный блок был вынесен вредоносный JavaScript, и добавлена работа с функциями send и recv при перехвате и подмене трафика. В версии 2.0 также появилось постоянное имя вредоносной библиотеки libmbot.dylib, дополнительный загрузчик и дополнительная проверка входного параметра для активации основного тела вредоносной программы. Версия 2.1 характеризуется введением нового алгоритма поиска серверов управления через twitter. Последняя известная на текущий момент версия данной библиотеки — 2.2 — интересна в первую очередь появлением дополнения для браузера Firefox.

Дополнение к Firefox

По умолчанию в данной вредоносной библиотеке вся махинация с пользовательскими запросами в Google ведётся через перехват функций send, recv, CFReadStreamRead, CFWriteStreamWrite. Такой подход универсален для всех браузеров в Mac OS X, однако требует дополнительных усилий для разработки кода для раскодирования пользовательского трафика. Таким образом, видимо, для минимизации разработки в версии 2.2 в конфигурационном блоке появилось дополнение к Firefox c именем Adobe Flash Player 11.1.


Вредоносное дополнение к Firefox, маскирующееся под Adobe Flash Player


Подлинное дополнение Adobe Flash

В функционал данного дополнения входит точно такой же перехват пользовательских данных с Google, а также подмена трафика данными с серверов управления.

Заключение

Вредоносная программа flashback является на текущий момент самой распространённой для компьютеров, работающих под управлением Mac OS X. Данный факт обусловлен халатным отношением компании Apple к обновлению своей ОС и способностью злоумышленников задействовать все новейшие технологии вредоносных программ. Уязвимости нулевого дня, проверка рабочего окружения на наличие антивирусов, средств защиты и разработки, криптостойкие алгоритмы для работы с серверами управления, использование публичных сервисов для управления ботнетом применимы не только во вредоносных программах для Mac, но и в программах для Windows-систем. Авторы flashback, занимаясь махинациями с пользовательскими действиями в сервисах Google, могут обеспечивать себе постоянный доход минимум в несколько тысяч долларов США ежедневно. При этом пока остаётся неизвестным, какая именно партнерская программа обеспечивает поток ссылок для подставных пользовательских переходов и кто именно помогает злоумышленникам в распространении данной программы.

Таким образом, это еще не конец…

Анатомия Flashfake. Часть II

Ваш e-mail не будет опубликован. Обязательные поля помечены *

 

Отчеты

CloudSorcerer: новая APT-угроза, нацеленная на российские государственные организации

«Лаборатория Касперского» обнаружила новую APT-угрозу CloudSorcerer, нацеленную на российские государственные организации и использующую облачные службы в качестве командных серверов аналогично APT CloudWizard.

StripedFly: двуликий и незаметный

Разбираем фреймворк StripedFly для целевых атак, использовавший собственную версию эксплойта EternalBlue и успешно прикрывавшийся майнером.

Подпишитесь на еженедельную рассылку

Самая актуальная аналитика – в вашем почтовом ящике