- PVSM.RU - https://www.pvsm.ru -

Эволюция Zeus. Part II

Файловый инфектор

Идея заражения файлов получила свое развитие во вредоносной программе PE_LICAT (Murofet по классификации Kaspersky Lab), обнаруженной Trend Micro в октябре 2010 года. PE_LICAT представляет собой продвинутый дроппер Zeus, его основная функция — загрузка и запуск новых файлов Zeus с удаленных серверов. В исполняемые файлы внедряется 1771 байт вредоносного кода. PE_LICAT использует те же механизмы, что и в Zeus 2.1.0.10 — DGA с идентичным алгоритмом и процедуру проверки подписи загружаемого файла. Подробное описание DGA приведено в отчете Trend Micro «File-Patching ZBOT Variants» [1] pdf, eng). Вкратце — В DGA используется функция создания хэша из Windows Crypto API. Список доменов формировался при запуске по специальному алгоритму путем хэширования текущей даты и минуты (час не использовался). Кстати, во многих источниках ошибочно пишут то 800, то 1020 уникальных доменов (эти константы действительно используются в алгоритме). На самом деле их было всего 60 в день (по количеству минут). Хэши переводились в ASCII коды и к ним добавлялись префиксы доменов верхнего уровня .biz, .info, .org, .com, .net, а также строка /forum. Следует отметить, что PE_LICAT не является вирусом в прямом смысле этого слова (как его классифицирует Kaspersky Lab) — он не способен самостоятельно заражать файлы. Запуск процедуры заражения файлов инициирует Zeus из семейства 2.1, получивший название TSPY_ZBOT.BYZ в классификации Trend Micro.

Полный цикл распространения выглядел следующим образом:
TSPY_ZBOT.BYZ запускается (автоматически путем при посещении сайта или в результате обновления предыдущей версией Zeus);
TSPY_ZBOT.BYZ извлекает из себя PE_LICAT;
TSPY_ZBOT.BYZ инфицирует при помощи PE_LICAT исполняемые файлы (в том числе на съемных носителях).
В дальнейшем TSPY_ZBOT.BYZ и PE_LICAT производили загрузку файла Zeus версии TSPY_ZBOT.SMEQ (по классификации Trend Micro) с доменов, созданных DGA.

Последователи дела Zeus

Несмотря на заявление Slavik о передаче всего кода [2], исходный код Zeus 2.0.8.9, начиная с февраля 2011 года, стал предлагаться на продажу. В конечном итоге в мае 2011 года произошла утечка исходных кодов данной версии в свободный доступ. В архиве с исходниками отсутствовали некоторые файлы:
peinfector.cpp;
peinfector.h;
peloader32.asm;
worm.cpp;
worm.h.
Предполагается, что это и есть модуль PE_LICAT (Murofet).
Естественно, сразу появились люди, желающие продолжить начатое на базе этих исходников. Для примера можно упомянуть проект «ICE IX» [3] (назван как вирус из фильма «Рекрут»?), который не предлагал ничего нового и являлся попыткой заработать денег на известном имени. Но «достойный» последователь нашелся, это — проект Citadel. Его ключевой особенностью стало создание онлайн-платформы, организованной по принципу социальной сети. Здесь заказчики могут запрашивать новые функции, сообщать об ошибках и добавлять собственные модули, что превращает процесс разработки в некое подобие opensource-проекта. Также организуется система технической поддержки покупателей, выражающаяся в постоянной поддержке Citadel в актуальном состоянии. Так, авторы сообщают, что они стремятся сделать цикл обновления Citadel меньше цикла выпуска новых антивирусных баз, что позволяет долгое время не обнаруживаться на зараженном компьютере. Как заявляют разработчики, в Citadel исправлены все имеющиеся в ранних версиях Zeus изъяны, включая модуль по сбору данных при работе в Google Chrome. Помимо этого была добавлена возможность записи и передачи видео.
Впервые ботнет на базе Citadel был обнаружен в декабре 2011 года исследователи компании Securlet, сейчас количество ботнетов на базе Citadel исчисляется десятками.
Тогда базовый пакет Citadel продавался за 2399$, цена «аренды» составляла 125$ в месяц, дополнительные модули покупаются отдельно. Например, 395$ стоит модуль, который позволяет боту обновляться автоматически. Апдейты распространяются посредством Jabber, каждый апдейт стоит 15$.
В октябре 2012 года Citadel версии 1.3.4.5 (конструктор бота и панель управления) была замечена в открытом доступе. Возможно, эта утечка версии является своеобразной рекламной кампанией, так как в этом же месяце вышла новая версии Citadel 1.3.5.1 «Rain Edition». Руководство пользователя к этой версии доступно в персональном блоге XyliBox [4], из него можно узнать подробности о возможностях, нововведениях, установке и конфигурированию отдельных модулей. Цена базового комплекта последней версии составляет $3391, что на 41% больше первоначальной цены годичной давности. Как и прежде, ежемесячная аренда и модули оплачиваются отдельно.
Из последних «громких» событий можно отметить обнаружение в августе 2012 года специалистами компании Trusteer бота Citadel, модифицированного для атак на инфраструктуру аэропорта. При помощи Citadel злоумышленники могут получить контроль над защищенным VPN-соединением между ПК сотрудника аэропорта, работающим в удаленном режиме, и интерфейсами компьютерных систем, предназначенных для обеспечения работы аэропорта. Какой именно аэропорт стал целью атаки, не сообщается. Атака осуществляется следующим образом — сначала перехватывается пароль и имя пользователя, вводимое в форму подключения к VPN. Далее задействуется упрощенный однофакторный режим аутентификации вместо двухфакторного (нажатием на кнопку «Get Image»). В результате этого вместо подтверждения по SMS пользователю будет демонстрироваться картинка (проверочный код) с десятью цифрами. Пользователь затем сопоставляет свой пароль со строкой цифр в изображении для создания «одноразового» пароля. Таким образом, получив цифры с проверочной картинки (путем снимков экрана) и пароль, а также зная алгоритм генерации «одноразового» пароля, можно легко его вычислить и войти в систему.
Интересный факт, что если на атакованном компьютере используется русская или украинская раскладка, Citadel самостоятельно деактивируется. Ранее уже отмечалось, что семейство Zeus разрабатывается русскоязычными программистами. Что на самом деле движет создателями — то ли некий «патриотизм», то ли из-за нежелания попадать в поле зрения отечественных правоохранительных органов (как известно к преступникам применяются правовые нормы страны, где произошло преступление). С другой стороны, в России распространение Интернет банкинга и системы электронных платежей через Интернет запаздывает по сравнению со странами Запада, так что распространение банковских троянских программ не имело бы большой финансовой отдачи.

Zeus, version 3 — Gameover

В версии Zeus 2.1 была сделана попытка уйти от жестко заданного командного центра и перехода к более защищенной от действий антивирусных компаний системе управления (использование DGA). Как выяснилось позже, создатели Zeus продолжили свои изыскания в данной области.
В октябре 2011 года Роман Хюсси, создатель ZeusTracker [5], исследуя последний полученный вариант Zeus, заметил наличие странного UDP-трафика. Дальнейший анализ показал [6], что новый вариант Zeus имел несколько IP-адресов в конфигурационном блоке, и компьютеры с этими IP отвечали инфицированной системе. В течении 24 часов было выявлено около 100 тысяч уникальных IP адресов, с которыми связывалась новая модификация. Большая часть зараженных компьютеров была расположена в Индии, Италии и США. Так было установлено, что Zeus перешел на использование P2P механизма обновления себя и своих блоков данных конфигурации. Из-за использования названия скрипта gameover.php при обращении командного центра, для этой версии употребляется название Gamover Zeus. Это достаточно символично — как видно, «игры» c Zeus давно закончились.
Механизм Zeus P2P (ZP2P) основывался на протоколе Kademlia. Компьютер (узел) в сети ZP2P идентифицировался уникальным идентификатором (UID), который создавался во время первого запуска. Каждый экземпляр Zeus в ZP2P имел «таблицу соседей», хранящуюся в памяти. Этот массив содержит список около 30 соседних узлов в сети ZP2P — их UID, IP-адрес и номер порта UDP. В ZP2P сети использовалось несколько типов соединений:

  • для обмена информацией о версии блока данных конфигурации (UDP);
  • для обмена информацией об узлах в «таблице соседей» (UDP);
  • для обмена двоичными данными — основного модуля и блоков данных конфигурации (с использованием протокола TCP).

DGA претерпел некоторые изменения, в частности, доменов верхнего уровня стало 6 — ru, com, biz, info, org, net (источник [7]). DGA использовался в качестве «страховочного» варианта, если связь не могла быть установлена посредством ZP2P. В конечном итоге блоки данных конфигурации распространялись только через ZP2P, что затрудняло выявление управляющих центров. Кстати, управляющие центры теперь больше представляли собой хранилище украденной информации и сбора статистики, чем панель для отдачи ботам команд.
В феврале 2012 года исследователи компании Symantec обнаружили [8] очередной вариант Zeus, использующий ZP2P. Данная модификация содержала в себе встроенный web-сервер на базе Nginx. Протоколы связи в ZP2P стали использовать только UDP, для затруднения отслеживания потоков данных Zeus. Теперь бот получил возможность загрузки исполняемых файлов через протокол HTTP от других ботов. Таким образом, каждый бот мог выступать в качестве своеобразного командного центра или выступать в качестве посредника (прокси) в цепочке управления. Такая же техника использовалась в ботнете Waledac/Kelihos версии С, возродившемся в начале 2012 года — через два года после закрытия при содействии Microsoft и ряда антивирусных компаний в 2010 году. Интересно, что ботсеть ZP2P использовалась для распространения двух вредоносных программ сторонних разработчиков — фальшивого антивируса и прокси-сервера, чего ранее за Zeus не замечалось. С целью оценки распространения крайней версии Zeus, специалисты Symantec произвели мониторинг [9] работы сети ZP2P. В период с апреля по июль 2012 года было зафиксировано 678.205 уникальных UID и 1.570.871 уникальных IP. Не все из данных IP были доступны, что объясняется нахождением за firewall или nat. К тому же провайдеры Интернета используют пул динамических адресов, поэтому к одному UID могли относиться разные IP адреса из диапазона пула. Наибольшее количество заражений приходилось на США (29.2%). Как и прежде, основным источником заражения были письма, содержащие ссылки на вредоносные сайты, чаще всего перенаправлявший запросы браузера на эксплоит пак BlackHole. Благодаря этому установка вредоносных программ происходит без каких-либо действий пользователя (кроме просмотра зараженной страницы). Но на сей раз BlackHole загружал на компьютеры не сам P2P Zeus, а троянский загрузчик (trojan downloader) Pony. Pony представляет собой очередное crimeware, основная функция которого — загрузка и запуск вредоносных программ в обход средств антивирусной защиты. Pony имеет свою собственную админпанель, где отображается статистика успешных загрузок и запусков. Таким образом, установка P2P Zeus производилась следующим образом:

  • пользователь получает письмо с ссылкой на вредоносный сайт;
  • зайдя на этот сайт, BlackHole инициирует запуск загрузчика Pony на компьютере пользователя;
  • Pony связывается со своим командным серверов и получает от него инструкции на загрузку, собственно, файла Zeus (с трех разных серверов).

Как видно, разработчики Zeus проделали большую работу по совершенствованию управления своим «детищем». Механизмы управления прошли несколько стадий в своем развитии:

  • жестко заданные серверы (ver 1 и 2);
  • использование DGA для обращения к динамически создаваемым доменным именам (ver 2.1 или 2+);
  • DGA и гибридная схема P2P, где боты связывались между собой и сервером (version 3 или Gameover Zeus);
  • только P2P, командные центры больше не нужны (ver 3+).

Что же будет дальше? Скорее всего, опять что-нибудь интересное. В этом нет никаких сомнений.

Автор: nuklearlord

Источник [10]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/informatsionnaya-bezopasnost/22168

Ссылки в тексте:

[1] «File-Patching ZBOT Variants»: http://www.trendmicro.com/cloud-content/us/pdfs/security-intelligence/white-papers/wp__file-partching-zbot-varians-zeus-2-9.pdf

[2] передаче всего кода: http://habrahabr.ru/post/113356

[3] «ICE IX»: http://www.securelist.com/ru/blog?print_mode=1&weblogid=40696

[4] блоге XyliBox: http://www.xylibox.com/2012/10/citadel-1351-rain-edition.html

[5] ZeusTracker: http://zeustracker.abuse.ch

[6] показал: http://www.abuse.ch/?p=3499

[7] источник: http://www.cert.pl/news/4711/langswitch_lang/en

[8] обнаружили: http://www.symantec.com/connect/blogs/zeusbotspyeye-p2p-updated-fortifying-botnet

[9] мониторинг: http://www.secureworks.com/cyber-threat-intelligence/threats/The_Lifecycle_of_Peer_to_Peer_Gameover_ZeuS

[10] Источник: http://habrahabr.ru/post/161861/