В начале марта мы получили от независимого исследователя сообщение о массовых заражениях компьютеров в корпоративной сети после посещения пользователями ряда известных российских информационных ресурсов. Симптомы заражения были одинаковыми: компьютер посылал несколько сетевых запросов на посторонние ресурсы, после чего в некоторых случаях на диске появлялся ряд зашифрованных файлов.
Разобраться с механизмом заражения оказалось непросто. Сайты, с которых происходило заражение пользователей, расположены на разных площадках и имеют разную архитектуру, при этом все наши попытки воспроизвести заражения не увенчались успехом. Быстрый анализ KSN-статистики, на основе которой можно было бы выявить связь между взломанными ресурсами и распространяющимся вредоносным кодом, тоже не дал результатов. Но кое-что общее между новостными сайтами мы все-таки нашли.
Источники заражения
Для анализа мы выбрали два информационных ресурса, с которых, как нам было известно, распространялась вредоносная программа — сайт одного из крупнейших в России информационных агентств РИА Новости www.ria.ru и сайт известной онлайн-газеты www.gazeta.ru. Регулярное сохранение содержимого данных ресурсов не выявило на них периодически появляющихся сторонних JS скриптов, тегов «iframe», ошибок 302 или любых других формальных признаков взлома. Объединяло эти сайты лишь то, что на обоих ресурсах использовались коды системы управления рекламой AdFox, через которую был организован обмен тизерами-новостными анонсами.
Код главной страницы RIA.ru, использующийся для загрузки дополнительного контента с AdFox.ru
Нам удалось выяснить, что вредоносный код загружается именно через тизеры сети, организованной при помощи технологий AdFox.ru.
Как же происходило заражение? Вместе с одним из тизеров в JS скрипте на сайте загружался iframe, перенаправляющий пользователя на вредоносный сайт с Java эксплойтом, находящийся в зоне .EU.
Содержимое зараженного и чистого JS скрипта
Анализ JAR файла эксплойта показал, что он эксплуатирует уязвимость в Java (CVE-2011-3544). Данная уязвимость с ноября используется злоумышленниками для атаки и на пользователей MacOS, и на пользователей Windows. В настоящее время эксплойты для этой уязвимости являются, пожалуй, самыми эффективными и входят в состав распространенных эксплойт-паков.
Однако, в нашем случае, использованный эксплойт был уникальным и не встречался ранее ни в одном эксплойт-паке: злоумышленники использовали собственную полезную нагрузку для атаки.
Часть полезной нагрузки JAR файла
«Бестелесная» вредоносная программа
Как правило, в ходе работы подобных эксплойтов на жесткий диск устанавливается какой-либо вредоносный файл, чаще всего дроппер или загрузчик. Но в рассматриваемом инциденте нас поджидал сюрприз — файлы на диске не появлялись.
Получив все необходимые привилегии на компьютере жертвы, эксплойт не устанавливает на диск вредоносную программу средствами Java, а использует полезную нагрузку для загрузки зашифрованной динамической библиотеки dll из Сети прямо в память процесса javaw.exe. При этом адрес для загрузки данной библиотеки указан в зашифрованном виде в iframe в JS скрипте с AdFox.ru:
Наличие новой вредоносной RWE секции в процессе JAVAW.exe
После успешного инжекта и запуска вредоносного кода (dll) Java начинает отправлять на сторонние ресурсы запросы, имитирующие запросы к поисковой системе Google, вида «search?hl=us&source=hp&q=%s&aq=f&aqi=&aql=&oq=»…
В данных запросах содержатся данные об истории посещения сайтов из браузера пользователя и ряд дополнительной служебной информации с зараженной системы.
Таким образом, мы столкнулись с весьма редкой разновидностью зловредов — так называемыми «бестелесными» вредоносными программами, которые не существуют в виде файла на диске, а функционируют исключительно в оперативной памяти зараженного компьютера. Самые известные примеры таких угроз — черви CodeRed и Slammer, эпидемии которых произошли в начале прошлого десятилетия.
Подобные программы способны работать только до перезагрузки операционной системы, однако в данном случае это не является критической проблемой для авторов троянца.
Во-первых, «бестелесная» вредоносная программа функционирует как бот: после серии запросов к серверу управления и полученных с сервера ответов эксплойт отключает несколькими способами UAC (User Account Control), и бот может установить на зараженный компьютер троянскую программу Lurk. При этом решение, устанавливать ли в систему Lurk, принимается на стороне сервера злоумышленников.
Во-вторых, вероятность того, что пользователь после перезагрузки системы вновь попадет на зараженный новостной сайт, достаточно высока. А это приведет к повторному заражению, и бот вновь окажется в оперативной памяти.
Отсутствие файла на диске значительно осложняет возможности для обнаружения заражения при помощи антивирусных программ. При отсутствии детектирования эксплойта бот будет успешно загружен в память доверенного процесса и станет практически невидимым.
Lurk
Вредоносная программа Trojan-Spy.Win32.Lurk может быть установлена в систему или с помощью команд «regsrv32» и «netsh add helper dll», или через реестр, с помощью ветки ShellIconOverlayIdentifiers. Lurk устанавливает в систему свои дополнительные модули в виде зашифрованных dll файлов.
Часть кода вредоносной программы Lurk, отвечающего за загрузку дополнительных модулей
Анализ дополнительных модулей Lurk выявил главный функционал этой вредоносной программы: хищение конфиденциальной информации пользователей для доступа к системам онлайн-банкинга ряда крупных российских банков. ЛК детектирует данную программу c июля 2011 года. Анализируя протокол взаимодействия Lurk с серверами управления, мы выяснили, что в течение несколько месяцев данные сервера обслужили до 300 000 зараженных компьютеров.
Причины инцидента
Разобравшись в технической стороне проблемы, мы уведомили администрацию Adfox об обнаруженном инциденте. Оперативно принятые Adfox меры позволили обнаружить и удалить вредоносный код из содержимого баннера, через который он распространялся.
В ходе расследования было установлено, что с аккаунта одного из клиентов Adfox неизвестные злоумышленники внесли изменения в код баннера анонсов новостей, добавив к ним iframe на вредоносный сайт.
Изменив код одного из баннеров, они получили возможность атаковать не только посетителей одного новостного сайта, но и посетителей прочих ресурсов, на которых был размещен данный баннер. Тем самым количество атакованных пользователей может составить несколько десятков тысяч. При этом баннеры других клиентов системы AdFox не содержали вредоносного кода.
Итого
Данная атака является уникальной, поскольку злоумышленники использовали собственный загрузчик PE файлов (полезная нагрузка), способный функционировать без создания вредоносных файлов на зараженной системе, работая только в рамках доверенного процесса Java.
Использование злоумышленниками тизерной сети является одним из самых эффективных способов установки вредоносного кода ввиду наличия на него ссылок с большого количества популярных ресурсов.
Данная атака была нацелена на российских пользователей. Однако мы не исключаем, что тот же эксплойт и тот же «бестелесный» бот могут быть использованы и против жителей других стран — распространяться они могут при помощи аналогичных зарубежных баннерных или тизерных сетей. При этом вероятно использование других вредоносных программ, а не только Trojan-Spy.Win32.Lurk.
В качестве мер защиты от данной угрозы мы настоятельно рекомендуем всем пользователям установить патч, исправляющий уязвимость CVE-2011-3544 в Java. В настоящий момент это единственный гарантированный способ избежать заражения. Как мы уже отметили выше, эксплойты для CVE-2011-3544 являются самыми эффективными, и с их помощью происходит установка множества вредоносных программ.
Кроме того, необходимо постоянно использовать защитное решение с веб-антивирусом. Пользователям продуктов ЛК мы также рекомендуем включить функцию Geo Filter, позволяющую вручную регулировать доступ браузера к ресурсам в различных доменных зонах, и заблокировать соединения с сайтами в зоне .eu, если доступ к ним не является необходимым. В настоящее время мы фиксируем множество вредоносных ресурсов в этой зоне — включая и описанные выше, и сервера распространения троянской программы Hlux, о которых мы писали недавно.
PS. За помощь в подготовке данной публикации мы выражаем огромную благодарность независимому исследователю, который пожелал остаться неизвестным.
Уникальный «бестелесный» бот атакует посетителей новостных ресурсов