Pro Вирусы - Валентин Холмогоров
Шрифт:
Интервал:
Закладка:
Рис. 9. Схема сложной комбинированной P2P-сети на примере банковского троянца Zeus Ботнеты с использованием TOR и «облаков»
В последнее время в связи со стремительным развитием антивирусных технологий злоумышленники начали размещать управляющие серверы ботнетов в сети TOR, а также активно использовать облачные технологии.
TOR (от англ. The Onion Router —«луковый маршрутизатор») — система так называемой «луковой маршрутизации», состоящая из многослойной структуры прокси-серверов, и позволяющая устанавливать анонимное соединение, защищенное от стороннего прослушивания и слежения. TOR реализует модель анонимных виртуальных тоннелей с использованием шифрования и благодаря распределенной сети узлов связи позволяет пользователю сохранять приватность, препятствуя работе всевозможных механизмов перехвата и анализа трафика.
Структура сети TOR позволяет создавать скрытые веб-сервисы в псевдодоменной зоне .onion, к которой имеют доступ только пользователи TOR-сети и в которой невозможно отследить реальное физическое местоположение сервера. Этим и пользуются злоумышленники, размещая в сети TOR управляющие серверы ботнетов. В случае отсутствия на инфицированной машине TOR-клиента вирусописатели используют для обмена данными с командным центром соответствующие шлюзы, например сервис TOR2WEB.
В частности, управляющий сервер в сети TOR использовал ботнет Mevade (альтернативное наименование — Sefnit), а также довольно крупный ботнет Skynet, предназначенный для проведения массированных DDoS-атак и добычи (майнинга) криптовалют. По данным различных источников, в 2012 году в эту бот-сеть входило порядка 12–15 тыс. зараженных компьютеров.
Активно используют управляющие серверы в TOR и различные троянцы-энкодеры, осуществляющие через «скрытую сеть» обмен ключами шифрования и принимающие оплату за расшифровку файлов в Bitcoin с помощью сайта, размещенного в TOR-сети на домене .onion. К таким энкодерам относится, например, широко распространенный Critroni (альтернативное название — CTB-Locker, Trojan.Encoder.686).
Для затруднения обнаружения и фильтрации вредоносного трафика ботнета вирусописатели все чаще стали использовать в своих целях облачные технологии и социальные сети. Так, еще в 2008 году были выявлены троянцы, получающие команды с определенной учетной записи в социальной сети Twitter и в специально созданной вирусописателями ветке открытых дискуссионных форумов Google Groups.
Для хранения компонентов вредоносных программ, которые могут быть загружены и установлены на инфицированной машине, киберпреступники нередко используют облачные сервисы Google Docs и Google Drive. Кроме того, известны случаи задействования публичных облачных сервисов для организации коммуникации вредоносной программы с ее командным центром. Например, обнаруженная в 2012 году вредоносная программа-бэкдор BackDoor.Makadoc использовала для обмена данными со своим управляющим сервером облачный сервис Google Docs. Встроенное в этот сервис веб-приложение Google Docs Viewer обрабатывает все входящие запросы как обычный открытый прокси-сервер, при этом такие запросы не вызывают «подозрений» у встроенного брандмауэра Windows, чем и воспользовались злоумышленники. В процессе обработки запросов Google Docs Viewer даже не требует у клиента обязательной авторизации в сервисе Google Docs, просто перенаправляя их на командный сервер, что еще более облегчило задачу киберпреступникам.
Нетрадиционные схемы
Помимо описанных выше «традиционных» способов организации взаимосвязи зараженного компьютера и управляющего сервера, злоумышленники порой изобретают более замысловатые схемы, проявляя недюжинную фантазию. Одним из примеров может служить ботнет, в который на конец сентября 2014 года входило порядка 18,5 тыс. инфицированных компьютеров Apple с уникальными IP-адресами, работающих под управлением операционной системы Mac OS X. Причиной заражения стал троянец Mac.BackDoor.iWorm, активно использующий в своей работе различные криптографические алгоритмы.
Для получения списка адресов управляющих серверов Mac.BackDoor.iWorm обращался с запросом к встроенной поисковой системе популярного публичного новостного сайта reddit.com, в котором зарегистрированные пользователи могут оставлять различные ссылки и краткие сообщения. Поисковая строка включала в себя шестнадцатеричные значения первых 8 байт хэш-функции MD5 от текущей даты. В ответ поисковая система Reddit выдавала троянцу ссылки на оставленные злоумышленниками комментарии со списком управляющих серверов ботнета и портов для установки соединения.
Mac.BackDoor.iWorm последовательно перебирал полученный список, отправляя запросы в случайном порядке на первые 29 адресов из этого перечня, и обменивался с удаленными узлами пакетами данных, проверяя с помощью сложного математического алгоритма подлинность каждого сервера. Если проверка завершалась успешно, троянец сообщал на удаленный узел свои идентификационные данные и ожидал от него поступления управляющих команд.
Еще один бэкдор, известный под именем BackDoor.Zetbo.1, на сей раз — угрожающий пользователям Windows, использовал не менее оригинальный способ получения конфигурационных данных, необходимых ему для осуществления вредоносной деятельности. Управляющий сервер, с которого загружала свои параметры эта поделка турецких вирусописателей, внешне выглядел вполне безобидно: на нем размещалось несколько веб-страниц, содержащих графические кнопки с различными гиперссылками. Анализируя HTML-код этих кнопок, троянец вычленял из него значения определенных атрибутов HTML-тегов и путем ряда преобразований получал из них всю интересующую информацию, то есть осуществлял парсинг (синтаксический разбор) кода веб-страницы. Для стороннего же наблюдателя данный сайт не представлял никакой угрозы и не вызывал подозрений — внешне он выглядел, как самая обычная веб-страничка, которых в Интернете сотни миллионов.
Схожим образом действовал один из троянцев-загрузчиков, активно распространявшихся осенью 2012 года, — с его помощью, в частности, на компьютеры пользователей попадали банковские троянцы семейства Zeus (Zbot, Trojan.PWS.Panda). Заразив атакуемый компьютер, загрузчик расшифровывал из своего тела список адресов удаленных веб-сайтов и обращался к каждому из них по протоколу HTTPS. В ответ троянец получал хранящуюся в корневой папке каждого сайта веб-страницу и осуществлял ее парсинг в поисках тега вставки изображения: <img src=”data:image/jpeg;base64…>. В качестве аргумента этого тега веб-страница содержала зашифрованный исполняемый код вредоносной программы, который загрузчик извлекал, расшифровывал и запускал на исполнение на инфицированной машине.
Другая троянская программа, Linux.Sshdkit, предназначенная для заражения работающих под управлением Linux серверов, использовала следующий алгоритм получения имени командного сервера. Троянец по специальному алгоритму генерировал два IP-адреса, которые являлись адресами принадлежащих злоумышленникам DNS-севреров. Если оба этих DNS-севрера при обращении к ним ссылались на один IP-адрес, этот адрес с помощью специального математического алгоритма преобразовывался в другой IP-адрес. Он-то и являлся истинным адресом командного центра, на который вредоносная программа загружала всю похищенную на зараженном сервере информацию.
Рис. 10. Алгоритм генерации имени командного сервера троянцем Linux.Sshdkit Командная система ботнетов
Как уже упоминалось ранее, некоторые боты, фактически совмещающие в себе функции бэкдоров, могут транслировать поступающие извне директивы встроенному командному интерпретатору операционной системы, другие используют собственный набор команд, при этом весь передаваемый в бот-сети трафик обычно шифруется.
Наиболее часто административный интерфейс управляющего сервера ботнета реализован в виде набора сценариев на языке PHP или с использованием другого скриптового языка, и в целом напоминает административный раздел стандартных систем управления контентом (CMS, Content Management Systems). Авторизовавшись на сервере, злоумышленник получает доступ к статистике ботнета — на специальной страничке, как правило, отображается общее количество установленных и активных ботов, перечень последних выполненных ботами команд, данные об успешности/провале завершения этих операций, в некоторых случаях (если ботнет связан с какой-либо «партнерской программой») — полученный злоумышленниками совокупный доход. В отдельном разделе «админки» киберпреступник может отдать ботам соответствующие команды, просто набрав их в специальной экранной форме.
Однако способ трансляции команд ботнету может значительно различаться в зависимости от используемого бот-сетью для передачи данных протокола. Все команды можно условно разделить на две категории: