Zeus

Intro

Бот Zeus, пожалуй, один из самых известных представителей вредоносного программного обеспечения. Zeus ведет свою историю с 2007 (или даже 2006) года. Многие ошибочно полагают, что Zeus — просто очередной троян, однако это не так. В действительности, Zeus представляет собой образец так называемого crimeware — программного обеспечения, предназначенного для совершения противоправных действий. В данном случае основное предназначение crimeware Zeus — кража учетных данных, используемых для проведения финансовых операций. По информации аналитиков, он отвечает за 90 % случаев банковского мошенничества в мире.

Другим заблуждением является утверждение о существовании одного огромного ботнета Zeus. На самом же деле Zeus лежит в основе очень большого числа – вероятно, нескольких сотен – различных ботнетов, и все они контролируются разными группировками киберпреступников. Создатели Zeus просто продают его заинтересованным лицам, а они уже с его помощью формируют собственные ботнеты. Таким образом, правильно говорить не о ботнете Zeus, а о ботнетах, созданных при помощи Zeus. Для отслеживания информации о командных серверах Zeus в феврале 2009 года Роман Хюсси (Roman Hussy), швейцарский специалист по компьютерной безопасности, создал сайт ZeusTracker.

Zeus, version 1

Разработчик ZeuS известен под никами Slavik и Monstr, именно он до 2010 года единолично производил сбыт и поддержку своего продукта.

Структурно Zeus состоит из нескольких частей — билдера (builder) бота и административной панели.

Основной модуль бота Zeus и билдер написан в среде Visual Studio на языке C и частично С++. Конечный исполняемый код бота Zeus создавался билдером и содержал в себе собственно основной модуль и файл конфигурации. Файл конфигурации содержит в себе адрес управляющего центра, пути к скриптам и другие данные, необходимые для работы. Билдер имеет аппаратную привязку к компьютеру покупателя, то есть мог запускаться только при наличии определенной конфигурации.

Исследователи отмечают, что в семействе Zeus не используются какие-либо техники сокрытия (rootkit) или использование эксплоитов для повышения своих привилегий в системе. Основной упор делался на стабильность функционирования, в том числе при работе с ограниченными пользовательскими правами.

Возможности Zeus первого поколения на примере версии 1.3.4.x, март 2010 года (источник):

  • кража учетных данных, вводимых в браузере;
  • кража учетных данных, хранимых в Windows Protected Storage;
  • кража клиентских сертификатов X.509;
  • кража учетных данных FTP и POP;
  • кража и удаление HTTP и Flash cookies;
  • модификация запрашиваемых HTML страниц для последующей кражи учетных данных (Web Injects);
  • перенаправление запросов пользователя на другие сайты;
  • создание снимков экрана;
  • поиск и загрузка файлов на удаленный сервер;
  • модифицирование файла hosts;
  • загрузка и последующий запуск файла с удаленного сервера;
  • удаление критически важных веток реестра для невозможности загрузки операционной системы.

Начиная с версии 1.4, появился функционал внедрения Web Injects в Firefox. Web Injects — набор HTML и JavaScript кода, обеспечивающий отображение форм ввода учетных данных систем ДБО (дистанционного банковского обслуживания), имитирующих настоящие. При попытке посещении сайта какой-либо системы ДБО через браузер, троян перехватывает запрос и отображает поддельную форму. Украденные таким образом учетные данные отправляются на командный центр злоумышленников. Для затруднения обнаружения антивирусным ПО, Zeus стал использовать полиморфное шифрование и механизм изменения размера своего файла. При этом файл Zeus на каждой зараженной системе шифровал себя заново с новыми параметрами, так что один и тот же билд на разных компьютерах выглядел совсем по-другому.

Расценки на компоненты версии Zeus 1.3.4.x:

  • билдер и админпанель — от 3000$ до 4000$;
  • модуль Back Connect (любой порт, позволяет например подключиться по RDP) — 1500$;
  • модуль кражи учетных данных из браузера Firefox (form grabber) — 2000$;
  • модуль уведомления и отправки украденной информации через Jabber — 500$;
  • приватный (сделанный на заказ) модуль VNC (удаленного управления, аналог RDP) — 10000$;
  • поддержка работы в ОС Windows Vista/Seven — 2000$.

Распространение ботов Zeus производилось различными способами. Например, осенью 2009 года он распространялся в спамерских сообщениях, рассылаемых от имени налоговой службы США. В другом случае в письме сообщалось о проведении всеобщей вакцинации от свиного гриппа H1N1. Ссылки в письмах вели на поддельные сайты, созданные злоумышленниками. На сайтах предлагалось скачать и запустить исполняемый файл формата exe, якобы содержащий определенные инструкции. На самом деле файл был ботом Zeus. Для рассылки спама использовались «мощности» ботнета Cutwail (также известного как Pushdo и Oficla). Позднее тактика была изменена и в письмах стали присылаться ссылки на сайты, содержащего в себе iframe или jscript, ведущий на какой-либо эксплоит пак. Это позволяло производить заражение без каких-либо действий пользователя — ему достаточно было перейти по ссылке, и Zeus устанавливался автоматически, конечно, если браузер был подвержен уязвимости (не имел соответствующего обновления безопасности). В процессе написания писем широко использовались методы социальной инженерии.

Некоторые администраторские панели Zeus имели функцию проверки FTP аккаунтов «на лету» — как только присылалась новая порция украденных учетных данных, производилась проверка на наличие аккаунтов FTP и такие аккаунты сразу проверялись. Если в результате проверки выяснялось, что доступ есть, отдельный скрипт производил поиск файлов на удаленном FTP сервере с расширениями .htm, .html и .php (так как сервис FTP часто используется для заливки контента на сайт) и в эти файлы вставлялся iframe или jscript, ведущий на какой-либо эксплоит пак. Таким образом, происходило заражение сайтов в автоматическом режиме.

В апреле 2010 года Zeus получил дополнительный функционал внедрения своего дроппера в исполняемые файлы (источник), 512 байт внедряемого кода производили следующие действия:

  • загрузка удаленного файла, URL которого был задан внутри;
  • запуск загруженного файла на исполнение;
  • запуск оригинального кода зараженной программы.

Этот функционал чем-то напоминает вирусный. Однако если антивирус лечил зараженный файл, у вируса не было больше возможности запуститься. В данном же случае, сохранялся шанс, что антивирус удалит основной модуль Zeus и не тронет дроппер, что позволяет заразить компьютер повторно, возможно новой версией Zeus.

Конкурент

Приблизительно в декабре 2009 года на «черном рынке» появился конкурент Zeus — SpyEye, функционал и состав (билдер и админпанель) которого были очень схожи с Zeus, однако цена была ниже, для базовых модулей она составляла около 500$. В дальнейшем конкурентная борьба привела к появлению в SpyEye версии 1.0.7 от февраля 2010 года функции «Zeus Killer», предназначенной для удаления Zeus. Для завершения работы всех копий Zeus, SpyEye посылал команду через именованный канал, открываемый каждой копией Zeus для своих нужд. SpyEye обнаруживал Zeus по специфическому имени мьютекса, который использовался Zeus для обнаружения своей копии и предотвращения повторного запуска. Кроме того, SpyEye мог перехватывать отчеты, отправляемые Zeus, и таким образом не делать двойную работу. Еще одна новинка — модуль, созданный для обхода системы безопасности Rapport компании Trusteer, направленной на блокирование возможности внедрения в браузер вредоносных программ, которая была создана, в том числе, для противодействия Zeus. Билдер SpyEye, как и билдер Zeus, содержал в себе систему лицензирования, основанную на привязке к заданной аппаратной конфигурации. Она реализовывалась при помощи навесной защиты VMProtect.

По информации с форума, в октябре 2010 года создатель Zeus Slavik передал исходные коды своему конкуренту — разработчику SpyEye, и прекратил дальнейшую разработку. Код был передан человеку с ником Harderman, известным также как Gribodemon. По словам Harderman, исходные коды он получил на безвозмездной основе и брал на себя обслуживание всех бывших клиентов Slavik, в дальнейшем предполагалось некое слияние исходных кодов Zeus и SpyEye. И действительно, с января 2011 года исследователи антивирусных компаний начали обнаруживать новые гибридные версии SpyEye, их нумерация началась с версии 1.3.

Расценки на компоненты версии SpyEye 1.3.45, август 2011:

  • билдер и админпанель — 2000$;
  • модуль Web Injects для браузера Firefox — 2000$;
  • модуль обхода защиты Rapport — 500$;
  • модуль прокси Socks5 — 1000$;
  • модуль доступа по протоколу RDP — 3000$;
  • модуль FTP Back Connect — 300$;
  • модуль кражи сертификатов из браузера Mozilla Firefox — 300$;
  • модуль кражи учетных данных кредитных карт — 200$;
  • модуль кражи учетных данных из браузеров Opera & Chrome (form grabber) — 1000$.

Руководство пользователя к этой версии доступно в персональном блоге XyliBox.

Zeus, version 2.1

В тоже время исследователи из компании RSA обнаружили некоторые факты, позволяющие усомниться в словах Slavik о выходе из бизнеса. В августе 2010 года, то есть за два месяца до «официального» объявления о прекращении работы над Zeus, был обнаружен ботнет, созданный при помощи бота Zeus, имевшего версию 2.1.0.10. Расследование показало, что комплект указанной версии не продавался на «черном рынке». Последующие обнаружения бота такого типа уверили экспертов RSA в том, что данной модификацией владел один человек (или группа лиц) — в противовес прошлым инцидентам конфигурационный файл бота версии 2.1.0.10 не претерпевал значительных изменений в течение длительного времени (ранее каждый оператор какого-либо ботнета на базе Zeus использовал свой уникальный конфигурационный файл).

Ключевой особенностью Zeus 2.1.0.10 стало изменение схемы связи с управляющими серверами. Теперь адреса серверов не были жестко заданы в конфигурационном файле. Список адресов формировался с помощью DGA (Domain Generation Algorithm — алгоритм генерации доменных имен). Ранее подобная техника неоднократно применялась в таких образцах ВПО, как Bobax, Kraken, Sinowal (a.k.a. Torpig), Srizbi и Conficker. По сформированным адресам Zeus искал свои командные сервера. Для защиты от перехвата управления производилась проверка цифровой подписи загружаемого файла в ходе своего обновления (так же при помощи Windows Crypto API). Для этого в коде Zeus присутствовал открытый ключ RSA длинной 1024 бит.

Исследователи из RSA в 2011 году смогли получить доступ к одному из серверов Zeus версии 2.1.0.10. Они обнаружили, что между августом 2010 и августом 2011, более 210 000 компьютеров связывались с этим сервером, на который было передано порядка 200 гигабайт данных с инфицированных компьютеров. Около 42% зараженных компьютеров находились в США. Удалось также выяснить, что один из логинов для авторизации доступа к этому командному серверу был «Slavik». Поэтому эксперты RSA предполагают, что Slavik на самом деле занялся созданием собственного ботнета (возможно, не один).

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

Идея заражения файлов получила свое развитие во вредоносной программе PE_LICAT, обнаруженной Trend Micro в октябре 2010 года. PE_LICAT представляет собой продвинутый дроппер Zeus, его основная функция — загрузка и запуск новых файлов Zeus с удаленных серверов. В исполняемые файлы внедряется 1771 байт вредоносного кода. PE_LICAT использует те же механизмы, что и в Zeus 2.1.0.10 — DGA с идентичным алгоритмом и процедуру проверки подписи загружаемого файла. Подробное описание DGA приведено в отчете Trend Micro «File-Patching ZBOT Variants» pdf, eng).

Вкратце — в DGA используется функция создания хэша из Windows Crypto API. Список доменов формировался при запуске по специальному алгоритму путем хэширования текущей даты и минуты (час не использовался). Кстати, во многих источниках ошибочно пишут то 800, то 1020 уникальных доменов (эти константы действительно используются в алгоритме). На самом деле их было всего 60 в день (минуты умножались на 17 и брался остаток от деления на 1020, 1020/17=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 о передаче всего кода, исходный код Zeus 2.0.8.9, начиная с февраля 2011 года, стал предлагаться на продажу. В конечном итоге в мае 2011 года произошла утечка исходных кодов данной версии в свободный доступ. В архиве с исходниками отсутствовали некоторые файлы:

  • peinfector.cpp;
  • peinfector.h;
  • peloader32.asm;
  • worm.cpp;
  • worm.h.

Предполагается, что это и есть модуль PE_LICAT (Murofet).

Естественно, сразу появились люди, желающие продолжить начатое на базе этих исходников. Для примера можно упомянуть проект «ICE IX» (назван как вирус из фильма «Рекрут»?), который не предлагал ничего нового и являлся попыткой заработать денег на известном имени. Но «достойный» последователь нашелся, это — проект 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, из него можно узнать подробности о возможностях, нововведениях, установке и конфигурированию отдельных модулей. Цена базового комплекта последней версии составляет $3391, что на 41% больше первоначальной цены годичной давности. Как и прежде, ежемесячная аренда и модули оплачиваются отдельно.

Из последних «громких» событий можно отметить обнаружение в августе 2012 года специалистами компании Trusteer бота Citadel, модифицированного для атак на инфраструктуру аэропорта. При помощи Citadel злоумышленники могут получить контроль над защищенным VPN-соединением между ПК сотрудника аэропорта, работающим в удаленном режиме, и интерфейсами компьютерных систем, предназначенных для обеспечения работы аэропорта. Какой именно аэропорт стал целью атаки, не сообщается. Атака осуществляется следующим образом — сначала перехватывается пароль и имя пользователя, вводимое в форму подключения к VPN. Далее задействуется упрощенный однофакторный режим аутентификации вместо двухфакторного (нажатием на кнопку «Get Image»). В результате этого вместо подтверждения по SMS пользователю будет демонстрироваться картинка (проверочный код) с десятью цифрами. Пользователь затем сопоставляет свой пароль со строкой цифр в изображении для создания «одноразового» пароля. Таким образом, получив цифры с проверочной картинки (путем снимков экрана) и пароль, а также зная алгоритм генерации «одноразового» пароля, можно легко его вычислить и войти в систему.

Интересный факт, что если на атакованном компьютере используется русская или украинская раскладка, Citadel самостоятельно деактивируется. Ранее уже отмечалось, что семейство Zeus разрабатывается русскоязычными программистами. Что на самом деле движет создателями — то ли некий «патриотизм», то ли из-за нежелания попадать в поле зрения отечественных правоохранительных органов (как известно к преступникам применяются правовые нормы страны, где произошло преступление). С другой стороны, в России распространение Интернет банкинга и системы электронных платежей через Интернет запаздывает по сравнению со странами Запада, так что распространение банковских троянских программ не имело бы большой финансовой отдачи.

Zeus, version 3 — Gameover

В версии Zeus 2.1 была сделана попытка уйти от жестко заданного командного центра и перехода к более защищенной от действий антивирусных компаний системе управления (использование DGA). Как выяснилось позже, создатели Zeus продолжили свои изыскания в данной области.

В октябре 2011 года Роман Хюсси, создатель ZeusTracker, исследуя последний полученный вариант Zeus, заметил наличие странного UDP-трафика. Дальнейший анализ показал, что новый вариант Zeus имел несколько IP-адресов в конфигурационном блоке, и компьютеры с этими IP отвечали инфицированной системе. В течении 24 часов было выявлено около 100 тысяч уникальных IP адресов, с которыми связывалась новая модификация. Большая часть зараженных компьютеров была расположена в Индии, Италии и США. Так было установлено, что Zeus перешел на использование P2P механизма обновления себя и своих блоков данных конфигурации. Из-за использования названия скрипта gameover.php при обращении командного центра, для этой версии употребляется название Gameover 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 (источник). DGA использовался в качестве «страховочного» варианта, если связь не могла быть установлена посредством ZP2P. В конечном итоге блоки данных конфигурации распространялись только через ZP2P, что затрудняло выявление управляющих центров. Кстати, управляющие центры теперь больше представляли собой хранилище украденной информации и сбора статистики, чем панель для отдачи ботам команд.

В феврале 2012 года исследователи компании Symantec обнаружили очередной вариант Zeus, использующий ZP2P. Данная модификация содержала в себе встроенный web-сервер на базе Nginx. Протоколы связи в ZP2P стали использовать только UDP, для затруднения отслеживания потоков данных Zeus. Теперь бот получил возможность загрузки исполняемых файлов через протокол HTTP от других ботов. Таким образом, каждый бот мог выступать в качестве своеобразного командного центра или выступать в качестве посредника (прокси) в цепочке управления. Такая же техника использовалась в ботнете Waledac/Kelihos версии С, возродившемся в начале 2012 года — через два года после закрытия при содействии Microsoft и ряда антивирусных компаний в 2010 году.

Интересно, что ботсеть ZP2P использовалась для распространения двух вредоносных программ сторонних разработчиков — фальшивого антивируса и прокси-сервера, чего ранее за Zeus не замечалось. С целью оценки распространения этой версии Zeus, специалисты Symantec произвели мониторинг работы сети 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).

Смартфоны тоже под ударом

Мобильные устройства переживают свой бум. Рост использования смартфонов, естественно, не мог не повлиять на развитие вредоносного программного обеспечения (ВПО) для этих устройств. По сравнению с персональными компьютерами, планка пользовательской грамотности относительно вопросов информационной безопасности здесь еще ниже. Это открывает для злоумышленников большое поле для преступной деятельности. Простейшим способом увода денег являются вредоносные приложения, отправляющие SMS сообщения на платные номера. Но разработчики Zeus и SpyEye не сидят, сложа руки, и в 2010-2011 годах из-под их «пера» выходят модификации, поражающие своей изощренностью.

Многие, наверное, знают, что одним из популярных способов защиты проведения финансовых операций с использованием Интернета является mTan (mobile transaction authentication number — мобильный код аутентификации транзакций) — специальная последовательность цифр, которая присылается на ваш телефон в SMS при проведении какой-либо операции (транзакции), например, при оплате через WebMoney. Распространение смартфонов тут играет на руку злоумышленникам, разработавшим механизм обхода технологии mTan посредством вредоносных приложений для широко распространенных мобильных платформ.

И Zeus, и SpyEye имеют функционал подмены настоящей страницы HTML какой-либо системы электронных платежей, для отправки учетных данных пользователя (логинов и паролей), на командный центр. Для получения mTan, в формы внедряются дополнительные поля, одно из них которое — номер телефона. В конечном итоге на смартфон устанавливается ВПО для перехвата SMS. Эта технология получила название Man-in-the-Mobile (по аналогии c Man-in-the-Middle при перехвате данных в сети, проходящих между двумя компьютерами). Подробности перехвата для разного ВПО описаны далее.

ZeuS-in-the-Mobile

Появившийся в конце сентября 2010 года ZeuS-in-the-Mobile (ZitMo), стал первой вредоносной программой, нацеленной на кражу mTan. На модифицированной странице авторизации в системе онлайн-банкинга помимо логина и пароля пользователя просили указать также модель используемого им мобильного устройства и ввести его номер — якобы для обновления сертификатов. Пользователи, которые предоставили такую информацию, через некоторое время получали на указанные номера SMS ссылку на новый «сертификат безопасности» с просьбой установить его. На самом деле «сертификат» был приложением ZitMo. Версии ZitMo существуют для нескольких платформ: Symbian, Windows Mobile, Blackberry и Android. Основной функционал для первых трех платформ заключается в пересылке SMS-сообщений на номера телефонов злоумышленников, указанных в коде ZitMo. Интересно, что номера этих мобильных телефонов зарегистрированы в Англии. Для Android версии отправка данных на сервер злоумышленников осуществляется по протоколу HTTP.

SpyEye-in-the-Mobile

В апреле 2011 года экспертами Kaspersky Lab обнаружена очередная атака вида Man-in-the-Mobile с участием модификации SpyEye. Вредоносное приложение для платформы Symbian получило название SpyEye-in-the-Mobile (SpitMo). В форму ввода пароля и логина внедряется два дополнительных поля для ввода номера телефона и IMEI, якобы для обновления сертификатов для смартфона. IMEI использовался для формирования злоумышленниками цифровой подписи вредоносной программы. Ссылка на очередной «сертификат безопасности» приходила спустя несколько дней в SMS на указанный в фальшивой форме ввода номер телефона. Вредоносная программа подписывается сертификатом для беспроблемной установки и отвода подозрений. Судя по всему, заказ сертификата для подписи оформлялся через сайт ассоциации китайских дилеров OPDA, на его получение уходило 2-3 дня. На смартфоне ВПО перехватывает входящие SMS сообщения, отбирает из них те, которые содержат mTan, и отправляет их по протоколу HTTP на сервер злоумышленников, не демонстрируя пользователю.

Carberp-in-the-Mobile

По состоянию на декабрь 2012 года специалистами Kaspersky Lab зафиксировано появление еще одного игрока на поле Man-in-the-Mobile — Carberp-in-the-Mobile (CitMo) для платформы Android. Carberp – это еще один представитель crimeware, конкурент Zeus и SpyEye. По сравнению с ними, была выявлена ориентация преступников, использующих Carberp, на российских пользователей (Zeus и SpyEye обычно используются за рубежом, преимущественно в США). В марте 2012 года, при содействии компании ESET, была арестована одна из многочисленных кибергруппировок, использовавших Carberp в своей преступной деятельности. После этого разработчики Carberp «залегли на дно». Далее разработка и продажа Carberp были возобновлены, подробности, цены и функционал тут.

Поддельная форма онлайн-банкинга, внедряемая Carberp, предлагает пользователю скачать и установить программу, якобы необходимую для входа в систему. Причем пользователь может получить ссылку в SMS-сообщении, указав свой номер телефона, либо самостоятельно отсканировать QR-код и получить ссылку. Алгоритм работы CitMo идентичен SpitMo, данные SMS отправляются через HTTP.

Крестовый поход

В конце марта 2012 Microsoft провела комплекс мероприятий под кодовым названием Operation b71, направленных на вывод из строя некоторых элементов инфраструктуры Zeus, а также SpyEye и Ice IX (проект, базирующийся на исходниках Zeus). В результате была прекращена работа командных серверов на двух хостингах: в городах Скрэнтон (Пенсильвания) и Ломбард (Иллинойс). Также из управляющей структуры ботнетов были изъяты два IP-адреса и около 800 доменов.

Эта операция подверглась резкой критике со стороны комьюнити специалистов в сфере безопасности IT. В частности, специалисты компании Fox-IT отметили, что Microsoft в своих отчетных документах не только раскрыла информацию о подозреваемых, включая авторов и индивидуальных пользователей, но и совершенно не связанных с ними лиц. При этом все эти данные были достоянием IT security сообщества и не подлежали разглашению в связи с проведением оперативно-розыскных мероприятий. Кроме того, некоторые доменные имена принадлежали легальным, но взломанным ресурсам. Помимо всего прочего, было установлено, что, несмотря на заявление Microsoft, что для изъятых доменных имен просто происходил разрыв соединения, это было не так и процесс синкхолинга шел полным ходом, то есть в ходе него не только сохранялись IP адреса пострадавших, но также записывались HTTP запросы со всеми заголовками, которые, фактически, могли включать различную конфиденциальную информацию, в том числе имена пользователей, адреса электронной почты, пароли и т.д.

К тому же данная операция почти никак не отразилась на ботсети Zeus Gameover. Вот так и работает Microsoft, много пиара плюс подстава своих коллег по цеху ради минуты славы. В материалах фигурируют Slavik и Gribodemon, к личностям которых мы еще вернемся.

Тем не менее, раскручивая цепочку связей киберпреступников, специалисты также взяли под прицел троян Citadel и его разработчика AquaBox. Тот, явно заметив пристальное внимание к своей персоне, в конце 2012 года лег на дно и прекратил открытую продажу своего продукта.

Решающий удар по инфраструктуре Citadel был нанесен в мае-июне 2013 в ходе мероприятия Operation b54, проводимого совместно специалистами Microsoft и ФБР. Суть операции заключалась в том, чтобы изъять 4000 доменных имен, которые использовались Citadel. По факту было изъято 1462 доменных имен, для них было сделано перенаправление на сервера Microsoft для синкхола. По оценкам специалистов всего трояном Citadel были заражены порядка 5 млн компьютеров, преимущественно в США, Европе, Гонконге, Сингапуре, Индии и Австралии.

Но и тут Microsoft не могла не налажать. Как выяснилось, порядка 1000 доменных имен принадлежали другим security компаниям и использовались именно для наблюдения. На это обстоятельство обратил внимание владелец трекера abuse.ch Роман Хюсси, у которого одномоментно пропало порядка 300 доменных имен, используемых для синкхола.

Конечная цель перехвата управления — рассылка специально сформированных в Microsoft конфигурационных файлов для Citadel, в которых снималась блокировка сайтов антивирусных компаний. Эта фишка, перенаправление для сайтов из black list, была отличительной для Citadel, она появилась в версии 1.3.5.1 Rain Edition, в оригинальном Zeus ее не было. И тут возникает естественный вопрос этического характера, а какие еще команды могла потенциально отдать Microsoft через «свой» конфиг? А вообще странно, что разработчики Citadel не внедрили механизм цифровой подписи конфигурационного файла.

Между тем, разработчики Citadel продолжали закрытые продажи. В июне 2013 специалисты Trend Micro обнаружили версию Citadel 3.1.0.0, которая имела функцию распространения через USB устройства. А в июле в прессе появились сообщения, что банковские системы Японии атакованы как раз при помощи такой версии. Было выявлено 9 командных серверов, к которым шли обращения с около 20 тысяч уникальных IP адресов, при этом 96% инфицированных систем находились в Японии.

Шумиха и неразбериха

Пока безопасники боролись с многочисленными вариациями Zeus версии 2 (небольшое отступление — информация о x64 версии Zeus 2 c C&C в сети TOR от декабря 2013 года здесь), на андеграундной сцене появился KINS — Kasper Internet Non Security. По информации компании Fox-IT, приватная версия KINS, почти полностью основанная на исходных кодах Zeus, с декабря 2011 года использовалась для атак банковских систем Германии и Нидерландов. А дальше начинается некоторая путаница. Дело в том, что пристальное внимание к KINS было обращено много позднее, в 2013 году.

Как тут уже упоминалось, в 2012-2013 прошла волна операций против банковских троянов. Кроме Operation b71 и Operation b54, в 2012 году были произведены массовые аресты членов кибергруппировок, использовавших Carberp, которые закончились арестом разработчиков Carberp на Украине в марте 2013 года. Так, или иначе, андеграунд с 2012 года стал остро нуждаться в очередном инструменте с соответствующей поддержкой для банковских грабежей.

Судя по всему, название KINS впоследствии стали использовать в качестве своеобразной торговой марки, то есть в 2013 выпустили относительно новый продукт, который безопасники начали называть по старому — KINS. Однако правильнее эту версию все-таки называть PowerZeus или ZeusVM.

Отличительные особенности этой версии:

  • использование VMProtect для затруднения своего анализа (отсюда ZeusVM);
  • детект выполнения своего кода в среде виртуальных машин и песочниц;
  • использование SSL для связи с командным центром;
  • удаление своего ключа автозапуска при старте и восстановление перед перезагрузкой.

Кроме того, заметно, что базой для дроппера послужил PowerLoader 2 (отсюда PowerZeus). Фактически в нем используется исходный код грабберов Zeus и SpyEye в виде dll в качестве модулей. Французский исследователь Xylitol провел свое исследование KINS на основе исходных кодов, и пришел к выводу, что KINS = Zeus 2.0.8.9 + Power Loader 2.0 + SpyEye Plugins. Интересно, что в ходе своего исследования Xylitol вышел на разработчика KINS, его Jabber он получил из взломанной тестовой админки KINS. С разработчиком состоялся довольно-таки интересный диалог.

В ходе диалога выяснилось, что его наняли для разработки KINS, но потом «что-то пошло не так». Все его наработки были украдены в ходе взлома, и тот исходный код KINS, который слили в сеть, является очень сырой альфой конечного продукта. Так или иначе, разработка и закрытая продажа KINS ведется, а KINS и ZeusVM стали форками, разрабатываемыми разными командами.

ZeusVM, в частности, использовался в ходе атак Польских систем ДБО летом 2013 года. Отличительной особенностью атаки было то, что конфиг с веб-инжектами не подгружался из Интернета (хотя ссылка на URL конфига была), а целиком содержался внутри одной из секций PE файла.

В ходе разработки ZeusVM дополнительно были реализованы такие фишки, как использование стеганографии (ноябрь 2013), когда конфиг после обработки xor, rc4 и base64, внедрялся в изображение формата jpg, а так же изменение механизма установки хуков (май 2014), позаимствованное из Carberp. Последнее изменение многие поспешили проанонсировать, как очередной супер крутой гибрид Zeus и Carberp под названием Zberp, однако реально это очередная пугалка.

Текущее положение дел показывает, что, в большинстве своем, киберпреступники перешли с использования Citadel на ZeusVM.

Конец игры?

Как видно, несколько форков Zeus развиваются параллельно несколькими командами злоумышленников. Вернемся снова к «основной» ветке Zeus под названием GameOver (он же Murofet). Всего можно выделить три его версии:

  • версия 1, распространялась с сентября 2011, впервые реализована P2P функциональность, в качестве резервного канала используется DGA;
  • версия 2, обнаружена в феврале 2012, в этой версии были усовершенствованы как алгоритм DGA, так и механизм P2P;
  • версия 3, начала распространяться в июле 2014 года, отличительной особенностью ее является использование алгоритма Fast Flux для работы с командным сервером, при этом функциональность P2P была полностью удалена.

Версия 3 появилась после очередной операции с названием «Tovar», проведенной с апреля по июнь 2014 года совместными усилиями ФБР, Европола и ряда компаний, работающих в сфере информационной безопасности, таких как CrowdStrike, Dell SecureWorks, Symantec, Trend Micro и McAfee. В ходе расследования было установлено, что управление Zeus GameOver осуществлялось с помощью более чем десяти серверов, которые размещались на абузоустойчивой площадке одного из хостинг-провайдеров Одессы. Таким образом, главный управляющий центр был обезврежен.

В результате раскрытия хакерской группировки Zeus GameOver был назван один из предполагаемых организаторов — 30-летний житель России Евгений Богачёв, он объявлен ФБР в розыск. Ему предъявлены заочные обвинения на основании перехваченных переговоров в одном из чатов. В них Богачёв, пишущий под никами Lucky12345 и Slavik, признаётся собеседнику, что является создателем трояна Zeus.

Кстати, в 2013 году власти США заявили об аресте гражданина России Александра Панина, который был задержан 28 июня сотрудниками Интерпола и экстрадирован из Доминиканской Республики в США. 28 января 2014 года на суде в Атланте Панин признал, что он являлся одним из разработчиков SpyEye и его псевдоним — Gribodemon. Как знать, не через Панина ли правоохранительные органы вышли на Богачева?

По информации Интерпола, более 1 млн. компьютеров по всему миру были инфицированы Zeus GameOver, совокупный финансовый ущерб от кражи из систем ДБО оценивается в 75 миллионов евро. Кроме того, посредством Zeus GameOver на 234 тысячи компьютеров было установлено вредоносное ПО CryptoLocker, при помощи которого был собран «выкуп» в размере 27 миллионов долларов США. Для распространения Zeus GameOver использовались мощности ботнета Cutwail и загрузчик PonyLoader.

В августе 2013 года эксперты Dell SecureWorks Counter Threat Unit обнаружили, что в дополнение к PonyLoader для распространения Zeus GameOver киберпреступники используют новый загрузчик Upatre. Его файл имеет небольшой размер и является предельно простым. Upatre использует SSL-соединение для загрузки и запуска необходимого вредоносного файла, URL которого жестко задан внутри кода загрузчика. Также, как и Pony Loader, Upatre распространялся посредством спам-ботнета Cutwail в виде аттача, представляющего собой архив zip.

С конца января схема была несколько усовершенствована, исполняемый файл Zeus GameOver подвергался сжатию, шифровался операцией xor с использованием 32 разрядного ключа, а полученному файлу присваивалось расширение .enc. При расшифровке обновленная версия Upatre обращает этот процесс и получает исходный исполняемый файл.

С февраля 2014 года Zeus GameOver обзавелся руткитом Necurs для сокрытия своего присутствия. Дроппер содержал x86 и x64 версии драйвера режима ядра. Для поднятия привилегий, если нет прав администратора, необходимых для установки драйвера, используется эксплоит CVE-2010-4398. Драйвер x64 подписан, но поскольку сертификат не входит в перечень доверенных, для обхода PathGuard вызывается штатная утилита bcdedit.exe для установки опции загрузки TESTSIGNING.

Так или иначе, после операции «Tovar» Zeus GameOver никуда не исчез. Очередная его версия, без P2P, Necurs и с поддержкой Fast Flux продолжает распространяться киберпреступниками.

Новый виток спирали

В декабре 2014 года сотрудники Лаборатории Касперского сообщили об обнаружении новой версии Zeus, получившей название Chthonic. Эта версия представляет собой своеобразный гибрид загрузчика Andromeda и ZeusVM. Chthonic имеет модульную структуру, на сегодняшний день обнаружены следующие модули:

  • main — основной модуль (версия 4.6.15.0 — v4.7.0.0);
  • info — сбор информации о системе;
  • pony — модуль для кражи сохраненных паролей;
  • klog — кейлоггер;
  • http — модуль вебинжектов и formgrabber;
  • vnc — удаленный доступ;
  • socks — прокси;
  • cam_recorder — запись видео с вебкамеры.

По номеру версии видно, что эволюция Zeus идет полным ходом. Тем более, что летом 2014 на черном рынке появились новые игроки в сфере банковских троянов — Pandemiya и Kronos (небольшой технический анализ здесь), не использующие исходных кодов Zeus и Carberp.

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s