Главная » Статьи » Аналитика, тесты |
Ботнет Artro, боты которого детектируются антивирусными средствами
«Лаборатории Касперского» как Trojan-Downloader.Win32.CodecPack,
известен как минимум с 2008 года. Однако до сих пор у экспертов и
аналитиков отсутствует полное описание его функционала. Чтобы восполнить
этот пробел, эксперты из «Лаборатории Касперского» решили
представить вниманию читателей результаты проведенного исследования.
Известно, что формированием ботнета Artro занимается загрузчик. Один из
таких загрузчиков детектируется в ЛК как
Trojan-Downloader.Win32.CodecPack. Троянец защищен упаковщиком, код
которого сильно обфусцирован. В своих статьях мы уже писали, что как
правило, упаковщики используются для
того, чтобы максимально усложнить детектирование упакованной вредоносной
программы, а не для защиты кода от анализа. Данный случай исключением
не является — программа распаковывается достаточно легко. После
распаковки функция WinMain разных вариантов троянца выглядит примерно
одинаково. Но злоумышленники все-таки попытались защитить свой код от
анализа с помощью обфускации, разбавив его большим количеством мусорных
инструкций.
Мусорный код является полиморфным и состоит из блоков кода, совершающего разнообразные операции над глобальными переменными, не используемыми основным кодом, а также включает в себя вызовы API-функций, результаты выполнения которых не влияют на ход исполнения программы.
В результате обфускации получается код, весьма запутанный для простого загрузчика. Среди интересных особенностей Trojan-Downloader.Win32.CodecPack можно отметить, что троянец проверяет, не запущен ли он в виртуальной машине или под отладчиком. Однако в отличие от стандартной ситуации, когда при обнаружении отладчика или виртуальной машины вредоносная программа завершает свое исполнение, чтобы затруднить динамический анализ, CodecPack просто отправляет результаты проверки на управляющий сервер. Все строки внутри троянца содержатся в зашифрованном с помощью алгоритма RC4 виде и при необходимости их использования каждый раз расшифровываются. При этом первый байт или два байта начала строки содержат ключ расшифровки. Длина строки вычисляется добавлением к значению ключа константы, которая встроена в код троянца и уникальна для каждого сампла. После запуска Trojan-Downloader.Win32.CodecPack первым делом проверяет соединение с интернетом, отсылая несколько DNS-запросов на популярные сайты, например на wordpress.com, walmart.com, photobucket.com, которые с большой вероятностью доступны в любое время суток. В случае если соединение с интернетом отсутствует, CodecPack завершает свой процесс. Если зараженный компьютер находится в Сети, загрузчик собирает информацию об инфицированной машине: серийный номер тома, на котором находится папка Windows; версия операционной системы; имеет ли текущий пользователь права администратора системы; выполняется ли троянец в виртуальной машине или под отладчиком. После этого формируется запрос к C&C, содержащий полученную информацию. Кстати, домены, на которые отправляются запросы загрузчика, не являются настоящими C&C. Серверы, обслуживающие эти домены, — всего лишь обратные прокси и нужны для того, чтобы скрывать истинный центр управления ботнетом.
Сразу отметим, что все запросы троянца к управляющим серверам передаются в зашифрованном виде. Шифрование осуществляется следующим образом: сначала данные зашифровываются с помощью алгоритма RC4, после чего кодируются с помощью алгоритма Base64. Ответы C&C также приходят в шифрованном виде. Расшифровка ответов происходит в обратном порядке: сначала ответ декодируется с помощью алгоритма Base64 и затем расшифровывается алгоритмом RC4. Ключ, которым зашифровываются и расшифровываются данные, одинаковый для всех самплов и находится в теле троянца. Запрос к C&C представляет собой POST-запрос, параметр ini которого содержит последовательность символов v22MnmDnHYfxCWI06FcUQOE5OLPvIYg4OtcPHid3L0oHCw7U2 под которой скрывается строка a1=4ded23cdfec1eb7b512840cadb Она содержит уникальный идентификатор троянца (параметр a1), идентификатор партнера, через которого была осуществлена загрузка CodecPack на машину пользователя (параметр a2), и временную метку, содержащуюся в файле в виде строки (параметр cd). В параметре data содержится строка qSrTzGL0RMCyDnY9+xJEQe5nNLundsMqfdgBGzUoJ0xVTU/DzQ которая до того, как была зашифрована, выглядела так: wvbffv=updpov&admin=yes&wloapl=gcpxsp&os=Microsoft В этой строке на C&C передается следующая информация:
Смысл этого запроса состоит в том, чтобы получить от управляющего сервера конфигурационный файл, который приходит в ответе от управляющего сервера в виде бессмысленного набора символов 4i7exXC8c4mxHmcg+QoZUPFieuWsasB4N5MJEyNjOltZTkONmky и после расшифровки превращается в конфигурационный файл, имеющий формат XML: <root> <start><url crypt='gif' <start><url crypt='gif' <start><url crypt='gif' <start><url crypt='gif' </root> Конфигурационный файл имеет довольно простую структуру. Корневой элемент root содержит элементы start. Каждый элемент start соответствует файлу, который нужно загрузить и исполнить. Элемент start в свою очередь содержит элементы url, задающие адреса для загрузок. Этих элементов внутри start может быть несколько, и тогда в случае если вредоносной программе не удалось загрузить файл по ссылке из первого элемента url, она попытается загрузить его же по следующей ссылке. Файлы на компьютер пользователя загружаются в зашифрованном виде. Способ шифрования задается атрибутом crypt элемента url, который может принимать два значения: gif или rc4. Последний способ, как нетрудно догадаться, состоит в шифровании файла с помощью алгоритма RC4. Значение же gif означает, что будет загружена картинка в формате gif, например, такого вида: Картинка, естественно, будет непростой, внутри, кроме собственно графических данных, будет лежать зашифрованный алгоритмом RC4 исполняемый файл. Расшифрованные файлы сохраняются на диск и запускаются на исполнение, после чего загрузчик удаляет свой файл с диска и завершает свой процесс. Таким образом, задача загрузчика состоит в том, чтобы по ссылкам из конфигурационного файла загрузить вредоносные файлы и запустить их на машине пользователя. В ходе исследования ботнета выяснилось, что конфигурационный файл загрузчика скачивается пользователям не всех стран. Например, по сей день вообще не происходят загрузки на компьютеры пользователей России, Белоруссии и Казахстана — им возвращается ошибка 404 Not Found. Теперь поговорим о рекламных программах или так называемых "кликерах". В конфигурационном файле загрузчика содержатся ссылки, как правило, на 3-4 программы. Ссылки могут вести на вредоносные файлы, которые загружаются владельцами ботнета по заказу «коллег по цеху». Список таких файлов может быть свой для каждой страны, а может и вообще отсутствовать в задании на загрузку в определенных странах. Но есть программы, которые загрузчик скачивает всегда, — это программы-боты, показывающие рекламу (Adware) и совершающие клики по ссылкам, рекламным баннерам и всплывающим окнам. В отличие от файлов, загружаемых на зараженный компьютер по заказу, эти программы — дело рук тех же авторов, которые создали загрузчик. Это следует из двух фактов: во-первых, ссылки на эти файлы всегда присутствуют в конфигурационном файле загрузчика: т.е. это минимальный набор загружаемых вредоносных программ, которые являются главным источником дохода для владельцев ботнета; во-вторых, код данной категории программ очень напоминает код загрузчика: использованы те же методы обфускации, тот же алгоритм шифрования строк (но с другими ключами), файлы упакованы тем же упаковщиком, протокол общения с сервером идентичен протоколу загрузчика.
Каждый бот периодически запрашивает от управляющего сервера зашифрованный config-файл с указанием специфичных для себя параметров. Домены управляющих серверов, с которыми взаимодействуют боты, отличаются от набора доменов загрузчика и меняются относительно редко. На данный момент известно пять основных программ, которые загрузчик скачивает на зараженные компьютеры пользователей. BannerBot. В файле конфигурации получает прямые ссылки на баннеры рекламных сервисов, по которым совершает клик с последующим переходом на какой-либо веб-сайт, или ссылки на веб-сайты, на странице которых по заданному тегу <div> находит определенный баннер и кликает по нему. Часть баннеров бот показывает пользователю. Среди параметров в конфигурационном файле присутствует поле referer, содержащее ссылку на источник запроса (откуда на рекламируемый сайт пришел пользователь).
New_bb. Имеет похожий на BannerBot функционал, но посылает серверу некоторые дополнительные статистические параметры о своей работе и может взаимодействовать с сервером, не получая конфигурационный файл. В этом случае сервер, которому бот отправляет POST-запрос, перенаправляет его на другой сервер, используя код ответа 302. Из HTTP-поля Set-Cookie в полученном ответе бот извлекает необходимые параметры, такие как поле referer для запрашиваемых ссылок на баннеры и число кликов по баннерам до следующего обращения к первому серверу.
Второй сервер, в свою очередь, возвращает JavaScript со ссылкой на баннер, который исполняется в браузере.
PopupBot. Получает в файле конфигурации ссылки на скрипты, открывающие всплывающие окна, по которым совершает клик с последующим переходом на какой-либо веб-сайт. Часть всплывающих окон бот показывает пользователю. На скриншоте ниже можно увидеть пример задания для данного бота с указанием поля referer для ссылки на скрипты.
HitBot — кликер, получает от сервера задание на периодическое запрашивание сетевых ресурсов с заданным полем referer и с заданным интервалом времени.
В случае если параметр ref в конфигурационном файле пуст, HitBot осуществляет просто накрутку посещаемости сайта, указанного в параметре url. Oms. Единственный бот, который реализован в виде динамической библиотеки и устанавливается в системе как сервис. Имеет поддержку регулярных выражений, перехватывает запросы браузеров к поисковым системам google, bing, yahoo, извлекая запрос, который ввел пользователь.
После извлечения запроса пользователя oms посылает на сервер параметры в зашифрованном виде. Среди этих параметров пользовательский запрос к поисковой системе и адрес сайта поисковой системы.
В зависимости от запроса пользователя в ответе от сервера может прийти конфигурационный файл с указанием ссылки, по которой пользователь перенаправляется при клике на любой сайт из выданного поисковиком результата, и поля referer для нее.
Например, ссылка, пришедшая в конфигурационном файле, может перенаправлять пользователей на страницу, имитирующую окно explorer.exe с проверкой компьютера на вредоносные программы и последующим предложением скачать поддельный антивирус.
Веб-сайты, открываемые и ботом oms, и другими ботами CodecPack, характеризуются самым разнообразным контентом. Один из примеров — на скриншоте ниже.
Теперь поговорим о финансовой стороне вопроса и мотивации. Как уже было сказано, владельцы ботнета зарабатывают на загрузках сторонних вредоносных программ, а также на накрутке кликов, трафика и показе пользователям веб-страниц различного содержания. Мы не можем оценить, сколько злоумышленники могут зарабатывать на загрузках, но можем приблизительно посчитать их доход от накрутки трафика и кликов. Каким же образом зарабатывают владельцы «рекламного» ботнета?
Владельцы многих сайтов, заинтересованные в увеличении посещаемости своих ресурсов, пользуются услугами рекламных сетей. Для того чтобы увеличить приток посетителей на рекламируемый веб-ресурс, ссылки на сайт рекламодателя размещаются на сайтах, принадлежащих участникам рекламной сети. Рекламодатель платит владельцам сети за каждого привлеченного пользователя. Владельцы сайтов, разместивших ссылки на рекламируемый ресурс, получают деньги за каждого пользователя, перешедшего с их сайта на сайт рекламодателя. Многие рекламные сервисы используют партнерские программы для увеличения количества сайтов, на которых можно размещать рекламные ссылки. Желая увеличить доход от перенаправления посетителей на ресурс рекламодателя, некоторые владельцы сайтов, размещающих у себя рекламные ссылки, пользуются услугами владельцев ботнета. Боты эмулируют переход пользователей с сайтов, содержащих рекламные ссылки, на рекламируемые ресурсы. Для этого в HTTP-запросе к рекламному сервису (для получения ссылки на целевой ресурс) бот подставляет в параметр referer адрес сайта заказчика услуг ботнета или ID-партнера рекламной сети. При такой схеме мошенничества зарабатывают владельцы ботнета, недобросовестные партнеры и владельцы сайтов, размещающие рекламные ссылки. Увеличивается и доход рекламных сетей. В минусе остается лишь рекламодатель: вложив деньги в рекламу, он не получит посетителей сайта, которые могли бы воспользоваться рекламируемыми услугами. Эксперты полагают, что многие из владельцев сайтов и партнеров рекламных сетей не знают о том, что заработать им помогает ботнет. В ходе мониторинга ботнета было выявлено множество систем по покупке и продаже трафика, с которыми взаимодействуют различные боты CodecPack. Вот лишь часть таких сервисов (информация из конфигурационных файлов):
В этом списке присутствуют и весьма известные и широко используемые рекламные сервисы, и сервисы с сомнительной репутацией. Ссылки, содержащие указанные домены, были получены ботами с многочисленными значениями поля referer или идентификаторами партнера. Ниже показаны некоторые сайты, которые являлись заказчиками сервиса по накрутке трафика, предоставляемого владельцами ботнета, и использовались в качестве referer в феврале 2011 года: Например, адрес сайта businessite.net подставляется в поле referer для бота oms. Вот как оценивается этот сайт в одном из сервисов, предоставляющих информацию о выручке и стоимости сайтов:
В ходе исследования эксперты выяснили, сколько в среднем за сутки каждый модуль совершает кликов по полученным в конфигурационном файле ссылкам. Зная эту цифру и такие параметры как средняя оплата рекламных сервисов за клик, минимальное количество ботов в зомби-сети и вероятная доля владельцев ботнета от продажи трафика, можно подсчитать предполагаемый доход злоумышленников. По предварительным оценкам, он составляет 1-2 тысячи долларов США в сутки. Следует отметить, что в расчете не учитывался бот oms, клики которого целиком зависят от действий пользователя по производимым запросам к поисковым системам. Также важно принимать во внимание, что со стороны злоумышленников имеется гибкая настройка частоты кликов для ботов. Она позволяет имитировать поведение настоящих пользователей: клики совершаются не с постоянной частотой, а в течение определенного времени с последующими продолжительными паузами. К счастью, некоторые рекламные сервисы уже имеют технологии распознавания накрутки трафика. А рекламодатели, в свою очередь, должны более серьезно относиться к выбору сервисов, через которые будут привлекать на свой сайт посетителей. Как это всё распространяется. Например CodecPack попадает на компьютеры разными путями, что свидетельствует о том, что владельцы Artro для распространения своего загрузчика пользуются услугами своих коллег, предоставляющих сервисы по установке вредоносного ПО на компьютеры пользователей. Загрузчик CodecPack распространяется через ботнеты, в этом случае его установка происходит на уже зараженный ранее троянцем-загрузчиком компьютер. Он может распространяться и через наборы эксплойтов: пользователю достаточно посетить зараженный сайт, чтобы находящийся на нем эксплойт автоматически загрузил и запустил CodecPack. Довольно ярким примером распространения загрузчика через эксплойты была рассылка спама, зафиксированная «Лабораторией Касперского» в марте 2011 после случившегося в Японии землетрясения. Спам содержал ссылку на вредоносный сайт, использующий эксплойты для установки Trojan-Downloader.Win32.CodecPack на компьютеры пользователей. Основной же метод заражения пользовательских машин CodecPack банален: пользователи сами скачивают и запускают вредоносный исполняемый файл. Естественно, в наше время редкий пользователь запустит на своем компьютере неизвестный файл «просто так», из праздного любопытства. Злоумышленники этот факт учитывают и выдают троянца за кодек, легальную программу, генератор ключей или программу для взлома программного обеспечения («кряк») на так называемых «варезных сайтах». CodecPack распространяется и через сайты поддельных видеохостингов, порносайты, созданные специально для заражения пользователей, и поддельные блоги. Учитывая специфику этих сайтов, можно предопложить, что на удочку злоумышленников попадаются в основном любители халявы и клубнички и просто невнимательные пользователи. Как это происходит? Предположим, пользователь зашел на сайт поддельного видеохостинга посмотреть видео.
Надпись рядом с окном плеера предупреждает о том, что для просмотра видеоролика, возможно, потребуется скачать кодек. Поэтому когда при попытке посмотреть ролик всплывает стандартное диалоговое окно, предлагающее сохранить или запустить исполняемый файл с внушающим доверие именем (например, DivXcodec.exe), пользователь без колебаний его запускает, полагая, что это и есть необходимый для просмотра кодек. На самом деле он запускает вредоносную программу Trojan-Downloader.Win32.CodecPack, название которой, кстати, отражает данный способ установки вредоносного ПО на компьютеры пользователей. Сходным образом происходит заражение пользователей, решивших посмотреть порно на поддельных порносайтах или посты на поддельных блогах.
При попытке пользователя посмотреть опубликованное в блоге видео открывается веб-страница с изображением видеоплеера.
На самом деле это не видеоплеер, а всего лишь картинка со ссылкой на вредоносный файл вида: <A href="http://mo***ilite.in/vimeoHDRviewer.40014.exe"><IMG src= "xplayer.gif" border=0></A> Дальше, как уже было описано, пользователь кликает по изображению видеоплеера, после чего ему предлагается загрузить «кодек». Не стоит говорить, что после его загрузки и запуска никакого видео пользователю так и не покажут, а его компьютер будет заражен. При попытке пользователя скачать ПО, генератор ключей или программу для взлома ПО с «варезных» сайтов все выглядит еще убедительнее — ведь пользователь пришел на сайт именно для того, чтобы скачать программу. Только вот загружаемое ПО не содержит ничего, кроме троянца. Сайт, распространяющий загрузчик Trojan-Downloader. Win32.CodecPack под видом взломанного лицензионного ПО
Теперь о том, как пользователи попадают на сайты со ссылками на вредоносные файлы. Для того чтобы обеспечить приток посетителей на такие сайты, используются методы черной поисковой оптимизации (Black SEO). Например, приведенный выше поддельный блог появлялся уже на второй странице выдачи поисковой системы bing.com по некоторым ключевым словам. Кроме того, ссылки на сайты с вредоносными ссылками размещаются в комментариях к постам на различных популярных блогах и новостных порталах. Вредоносные ссылки на многих сайтах ведут на один и тот же домен. Домены в ссылках меняются несколько раз в сутки. Количество доменов, с которых загружался CodecPack в течение суток
Теперь о масштабах существующей проблемы. Первый сампл CodecPack был обнаружен «Лабораторией Касперского» летом 2008 года. За два с половиной года ботнет Artro разросся до огромных масштабов: в январе 2011 года CodecPack был задетектирован хотя бы один раз примерно у 140 тыс. наших пользователей.
Интересно сопоставить эту цифру с данными, полученными с серверов самих злоумышленников. В нашем распоряжении оказались лог-файлы с одного из back-end серверов ботнета, содержащие такую информацию как IP-адрес компьютера, от которого поступил запрос на C&C; дата и время запроса; страна, в которой находится зараженный компьютер. На графике ниже показано количество уникальных IP-адресов, с которых в период с 24 апреля по 7 августа 2010 г. поступали запросы на C&C ботнета (по дням). На графике видно, что количество уникальных IP-адресов в некоторые дни достигало 150 тысяч Отметим, что лог-файлы были получены только с одного back-end сервера, всего же таких серверов у ботнета как минимум три. При этом непонятно, хранятся ли лог-файлы централизованно на одном из этих серверов, или каждый сервер имеет свои лог-файлы. Во втором случае может оказаться, что реальные цифры гораздо больше приведенных выше. Согласно данным из лог-файлов, вредоносной программой Trojan-Downloader.Win32.CodecPack были заражены компьютеры пользователей в 235 странах мира. В таблице ниже представлена двадцатка наиболее пострадавших стран.
Распределение по странам зараженных Trojan-Downloader. Win32.CodecPack компьютеров (по информации из лог-файлов)
Этот список неплохо коррелирует с аналогичными данными, полученными с помощью KSN: состав стран в двадцатке почти не изменился, изменились лишь их позиции в рейтинге.
Распределение детектирований Trojan-Downloader.Win32. CodecPack на компьютерах пользователей по странам (по статистике KSN)
Теперь собственно сам упаковщик. Увеличению размеров ботнета способствует, в частности, то, что для противодействия детектированию антивирусами вирусописатели защищают загрузчик CodecPack упаковщиком. Как уже было сказано выше, рекламные файлы, которые загружает Trojan-Downloader.Win32.CodecPack, также упакованы тем же упаковщиком, что и загрузчик. Упаковщик является полиморфным и использует методы антиэмуляции. Перепаковка загрузчика и загружаемых им файлов осуществляется довольно часто, минимум раз в день, что делает задачу детектирования данного зловреда непростой.
В ходе небольшого эксперимента на сервис антивирусной проверки Virustotal был отправлен загрузчик Trojan-Downloader.Win32.CodecPack, распространявшийся злоумышленниками двумя днями ранее. Результат проверки оказался очень даже неплохой: 40 антивирусов из 43 определили файл как вредоносный.
Те же самые действия были выполнены для сампла, распространяемого злоумышленниками в день проверки. Результаты проверки были, мягко говоря, не очень хорошими: всего 11 антивирусных продуктов из 43 задетектировали файл как вредоносный:
Как выяснилось, злоумышленники проводят активный мониторинг детектирования перепакованных программ. Так, на одном из компьютеров был установлен наш продукт с включенным Kaspersky Security Network. В течение определенного времени мы получали нотификации о том, что perl-приложение на этом компьютере пытается скачать с определенных ссылок файлы, детектируемые нами как CodecPack. Эти ссылки имеют весьма интересный вид: они разоблачают названия ботов, присвоенные самими авторами, и показывают структуру папок на веб-сервере, раскрывая предназначение этого сервера.
Таким образом был выявлен сервер, на котором производится проверка детектирования новых перепакованных ботов и загрузчика CodecPack антивирусами. ЗаключениеБотнет Artro существует уже более двух лет и за это время вырос до весьма внушительных размеров. Ключевая программа для формирования ботнета — загрузчик Trojan-Downloader.Win32.CodecPack, защищенный полиморфным упаковщиком, которым он перепаковывается несколько раз в день. Основной специализацией владельцев ботнета является бизнес по накрутке трафика. Большое количество зараженных компьютеров и тщательно продуманная организация дела позволяют злоумышленникам успешно обманывать рекламодателей и зарабатывать на этом обмане немалые деньги. В дополнение к такому виду бизнеса киберпреступники могут зарабатывать и на загрузках сторонних вредоносных программ. Количество зараженных машин в сочетании с трудностями, возникающими при детектировании загрузчика, превращает ботнет CodecPack/Artro в очень опасный инструмент в руках злоумышленников. Kaspersky Lab.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Просмотров: 1241 | | |
Всего комментариев: 0 | |