В настоящее время файлы веб-инжектов взяты на вооружение во многих банковских вредоносных программах и используются как средство для осуществления финансового мошенничества. Этот механизм работы вредоносных программ изначально был распространен в единичных экземплярах и находился в зависимости от того или иного семейства вредоносных программ. За последние несколько лет веб-инжекты стали использоваться как часть целой киберпреступной экосистемы, в которой независимые их разработчики продают свои изделия операторам ботнетов.
Такой рынок продажи подобных услуг можно наблюдать на многочисленных подпольных форумах, где мы видим все большее количество предложений от киберпреступников по продаже комплектов веб-инжектов. Они включают в себя все необходимые возможности для проведения банковского мошенничества, включая, механизмы обхода специальных мер безопасности, которые банки используют для обеспечения безопасности счетов пользователей.
Наше исследование посвящено исследованию самой природы веб-инжектов и их растущего рынка. Мы оглянемся назад и посмотрим, как веб-инжекты развивались с течением времени с самого начала, когда они были похожи на систему обычного фишинга и заканчивая автоматическими системами ATS, которые могут использоваться для обхода двухфакторной 2FA аутентификации.
На сегодняшний день оператор ботнета, для зарабатывания средств на мошеннических операциях, нуждается только во вредоносной программе, которая умеет внедрять вредоносное HTML-содержимое в легитимные веб-страницы браузера. Таким образом, ему, фактически, безразлично, каким образом будет реализован этот вредоносный механизм, ему важна только его эффективность. Поэтому для реализации этого алгоритма и его механизмов он может прибегнуть к услугам других киберпреступников, которые знают эту область гораздо лучше чем он и которые могут предложить для проведения мошеннических схем наилучшие услуги.
Введение
По сути веб-инжекты представляют из себя один из самых передовых инструментов, которые используют банковские троянские программы для проведения мошеннических операций с банковскими счетами пользователей. В последнее время банки стали использовать специальные механизмы безопасности, которые призваны защитить аккаунт или счет пользователя от несанкционированного доступа. Веб-инжекты также не стоят на месте, и их авторы адаптируют свои киберпреступные инструменты для нужд обхода этих механизмов безопасности. Продажа комплектов веб-инжектов на подпольных форумах наблюдается уже на протяжении нескольких лет.
Как мы знаем, последние несколько лет, пользователи все больше обращаются к услугам интернет-банкинга для проведения различных банковских операций. Киберпреступники также не стоят на месте и создают специальные вредоносные инструменты для компрометации компьютеров пользователей и их мобильных устройств. В самом начале своей эволюции, злоумышленники полагались на банковские трояны, которые содержали функции по компрометации нескольких финансовых учреждений и представляли из себя известные кейлоггеры (клавиатурные шпионы) и грабберы/похитители веб-форм. Оба этих средства использовались для кражи конфиденциальных данных аккаунтов интернет-банкинга.
Клавиатурные шпионы являются менее полезным, поскольку генерируют общий поток набранных пользователем с клавиатуры символов, из которых потом еще нужно будет вычленить искомые логин и пароль для доступа к аккаунту онлайн-банкинга. Эта задача ложилась на плечи операторов ботнета. Граббер форм стал очевидным выходом из этой ситуации, поскольку мог получать только интересующие злоумышленников данные, которые пользователь вводил в поддельную форму входа в аккаунт онлайн-банкинга. Далее захваченные данные отправлялись на удаленный сервер злоумышленников.
С точки зрения сегодняшнего дня, грабберы форм представляют из себя довольно устаревший способ захвата GET и POST запросов HTTP-протокола, с помощью которых данные форм отправляются на удаленный сервер. Хорошо известные и уже изученные банковские трояны Zeus и SpyEye были первыми, кто использовал механизм граббинга форм на основе перехватов API-функций в контексте процесса веб-браузера. Некоторые вредоносные программы использовали механизм граббинга форм на основе отслеживания сетевого потока трафика, который генерировался браузером. Использование механизма перехвата API-функций является для злоумышленников более предпочтительным вариантом, поскольку таким образом данные форм перехватываются еще до их непосредственного шифрования для последующей передачи на веб-сервер. Такой метод не лишен недостатков, поскольку является зависимым от конкретного браузера или его версии.
Современные вредоносные программы все реже используют эти устаревшие приемы, вместо этого они прибегают к услугам веб-инжектов, которые позволяют им более тонко настраивать и использовать вредоносную схему компрометации веб-страниц и похищения средств. Кроме этого, сами веб-инжекты позволяют модифицировать содержимое веб-страниц сайтов онлайн-банкинга, причем в зависимости от конкретного банка. Веб-инжекты позволяют злоумышленникам выполнять широкий спектр действий на скомпрометированной веб-странице, которую видит пользователь. Существует несколько комплектов веб-инжектов, выставленных на продажу на подпольных форумах, которые используют библиотеку JavaScript под названием jQuery.
Популярные банковские трояны Zeus и SpyEye были одними из первых, кто стал использовать веб-инжекты для компрометации конкретных банковских сайтов и модификации их содержимого. Содержимое веб-страницы можно модифицировать с использованием механизма перехвата API-вызовов. Это тот же способ, который используется вредоносными программами для организации граббинга форм. Банковский троян может инспектировать получаемое с сервера содержимое и модифицировать его на лету, перед непосредственным отображением этого содержимого в браузере. Подобная техника используется для обмана пользователя, который доверяет тому содержимому, которое отображает веб-браузер, при посещении им веб-страницы онлайн-банкинга. Такой метод известен как атака на пользователя под названием Man-in-the-Browser (MitB). Ниже на Рис. 1 показан пример реального действия веб-инжекта, результатом которого стало удаление текста с предупреждениями о финансовых мошенничествах.
Рис. 1. Вредоносная программа с использованием веб-инжекта удалила с веб-страницы служебную информацию (предупреждение системы онлайн-банкинга). Наверху вид оригинальной веб-страницу, внизу скомпрометированная веб-страница с удаленным текстом предупреждения.
Вредоносное содержимое, которое будет добавлено в веб-страницу, располагается в файле конфигурации веб-инжектов. Этот файл обычно скачивается зараженным компьютером с удаленного C&C-сервера. Такой способ передачи конфигурационного файла является очень удобным для злоумышленников, поскольку они могут модифицировать содержимое такого файла один раз на сервере и зараженные компьютеры в следующий раз получат уже модернизированную версию этого файла. Существуют различные форматы файлов конфигурации веб-инжектов, но один из них получил наибольшую популярность. Он использовался в банковском трояне SpyEye и со временем стал стандартом де-факто. На Рис. 2 показан пример конфигурационного файла веб-инжектов.
Рис. 2. Стандартный формат файла конфигурации веб-инжектов.
Как можно увидеть выше, первым параметром задается целевой URL-адрес, на котором должен сработать конкретный веб-инжект. Символы в строке после URL-адреса указывают банковскому трояну какое действие он должен предпринять при открытии пользователем этого адреса в браузере. В таблице 1 приведены значения этих служебных символов, а в таблице 2 указаны различные параметры (тэги) конфигурационного файла. Некоторые веб-инжекты являются довольно простыми и содержат функции подобные простому механизму фишинга, т. е. они внедряют в тело веб-страницы специальные поля, в которые пользователю предлагается ввести свои персональные и конфиденциальные данные. Пример такого веб-инжекта приведен на Рис. 3.
Таблица 1. Наиболее распространенные флаги параметра set_url.
Таблица 2. Наиболее распространенные тэги конфигурационного файла веб-инжектов.
Рис. 3. Пример вредоносного содержимого веб-страницы, которое специализируется на сборе персональной и конфиденциальной информации пользователя.
Automatic Transfer System (ATS)
С течением времени веб-инжекты становились все более специализированными и многофункциональными. Некоторые из них содержат специальные расширенные функции, которые помогают злоумышленникам выполнять мошеннические операции со счетом пользователя. Специальные скрипты, которые реализуют подобные операции, рассчитаны на обход защитных механизмов заданных веб-сайтов онлайн-банкинга. По мере развития веб-инжектов, системы безопасности сайтов банков также совершенствовались и в них добавлялись все новые функции для обнаружения вредоносной активности. На Рис. 4. можно увидеть пример веб-инжекта, в котором злоумышленники предусмотрели временные промежутки между вредоносными действиями для имитации человеческого поведения.
Рис. 4. Функция веб-инжекта, которая определяет логику использования временных задержек.
Как только мошеннический перевод со счета пользователя был совершен, веб-инжект скрывает проведенную операцию путем использования специальных механизмов. Под сокрытием понимается незаметная корректировка денежного баланса банковского счета. Таким образом пользователь остается в неведении того факта, что с его счета были похищены средства.
Популярность ATS атак снизилась в последнее время, поскольку снизился уровень соотношения сложности к успеху реализации (success-rate-to-complexity ratio). Мы все еще можем наблюдать использование ATS методов атак in-the-wild, но некоторые киберпреступники отказались от их использования в пользу тех атак, в которых используется «ручное управление». В таком случае злоумышленники просто берут скомпрометированный компьютер под свой контроль и выполняют мошеннические действия вручную.
Обход механизма Transaction Authorization Number (TAN)
С появлением банковских вредоносных программ, специалисты по безопасности банков начали внедрять в банковские ресурсы специальные дополнительные функции безопасности. Одной из наиболее популярных таких функций стала двухфакторная аутентификация, которая усиливала безопасность проведения транзакций.
Двухфакторная аутентификация повышает планку безопасности при проведении банковских операций за счет использования специальных кодов подтверждения. Такие коды могут быть получены пользователем в своем банке просто в форме списка, т. н. Transaction Authorization Numbers (TAN), либо в форме SMS-сообщения от банка, т. н. мобильные коды (mTAN). Если двухфакторная аутентификация включена, пользователь будет использовать полученные mTAN коды для подтверждения проводимой транзакции на веб-сайте онлайн-банкинга.
Для обхода механизма mTAN, злоумышленники могут заманить пользователя на установку специальной вредоносной программы на мобильное устройство, которая будет перехватывать SMS-сообщения, полученные от банка. Это может быть выполнено через методы социальной инженерии. Например, как только пользователь зайдет в аккаунт своего онлайн-банкинга через скомпрометированный веб-браузер, вредоносный код выполнит внедрение специального вредоносного содержимого на свою веб-страницу. Содержимое представляет из себя текст с просьбой предоставить информацию об используемом пользователем мобильном устройстве (Рис. 5.).
Для обхода механизма mTAN, злоумышленники могут заманить пользователя на установку специальной вредоносной программы для мобильного устройства, которая будет перехватывать SMS-сообщения, полученные от банка. Это может быть выполнено через методы социальной инженерии. Например, как только пользователь зайдет в аккаунт своего онлайн-банкинга через скомпрометированный веб-браузер, вредоносный код выполнит внедрение специального вредоносного содержимого на веб-страницу. Содержимое представляет из себя текст с просьбой предоставить информацию об используемом пользователем мобильном устройстве (Рис. 5.).
Рис. 5. Вредоносное содержимое веб-страницы, которое запрашивает информацию о мобильном устройстве.
После того как пользователь предоставит такую информацию, он получит на свое мобильное устройство SMS-сообщение со ссылкой на скачивание вредоносного приложения. Он может также воспользоваться QR-кодом для получения ссылки. После ее открытия, вредоносное ПО будет скачано на устройство, далее пользователь должен будет вручную запустить его установку. Эта процедура может состоять из нескольких этапов, например, злоумышленники могут внедрить в веб-страницу онлайн-банкинга такое содержимое, которое будет выступать как справочник по установке вредоносного ПО, шаг за шагом инструктируя пользователя. Как только вредоносное ПО будет установлено на мобильное устройство, оно сможет перенаправлять все полученные SMS-сообщения на телефон злоумышленников, предоставляя им возможность обхода mTAN кодов при проведении мошеннических действий со счетом пользователя. Банковские трояны Perkele и iBanking являются хорошо известными представителями вредоносного ПО с такими возможностями.
Так как банки стали использовать механизмы двухфакторной аутентификации, разработчики веб-инжектов были вынуждены адаптировать свои вредоносные инструменты для их обхода. Как было показано ниже, злоумышленники используют одну из форм социального инжиниринга для обмана пользователя и выманивания у него нужной информации, которая будет использоваться для обхода этих защитных мер.
Информация, которая стала нам доступна после отслеживания деятельности ботнетов вредоносных программ, предоставила нам картину тех методов, которыми пользуются злоумышленники для обхода схемы mTAN. Все они сводятся к одному общему принципу: отображение пользователю специального сообщения с вымышленной историей, которая привлечет его внимание. Злоумышленники отображают ее пользователю именно в тот момент, когда он входит в свой аккаунт онлайн-банкинга и полагает, что использует защищенное с сервером соединение и что все отображаемые браузером данные являются достоверными. Одна из таких историй основана на информации о том, что пользователю ошибочно была переведена определенная сумма денежных средств и он должен вернуть ее обратно. Такая схема становится возможной по той причине, что вредоносный код веб-инжекта может скорректировать отображаемый пользователю баланс денежных средств, введя его таким образом в заблуждение. Другая история строилась на том, что пользователю предлагалось «откалибровать» его мобильное устройство, выполнив тестовую денежную транзакцию.
На Рис. 6. показано поддельное сообщение вредоносной программы с просьбой ввести в текстовое поле код TAN из списка, который был выдан пользователю в банке. Как мы знаем, коды в таком списке пронумерованы, поэтому злоумышленники спрашивают код за определенным номером. Злоумышленники просят пользователя передать им код TAN в том случае, когда им нужно украсть со счета пользователя определенную сумму денег и подтвердить эту операцию механизмом 2FA. Фишинговое сообщение составляется как можно более убедительно для соответствующего воздействия на пользователя.
Нужно отметить, что существуют и другие веб-инжекты, которые нацелены не на компрометацию веб-сайтов финансовых учреждений и банков, а на компрометацию известных сервисов, например, Facebook, Twitter, Google, Yahoo. Такие веб-инжекты специализируются на краже у пользователей конфиденциальной или частной информации, например, номер кредитной карты или номер телефона. На Рис. 7 показан веб-инжект, который ориентирован на сервис известный сервис Twitter.
Рис. 7. Веб-инжект для сервиса Twitter.
Шифрование конфигурационных файлов веб-инжектов
Так как файлы конфигурации веб-инжектов содержат ключевую информацию для исследователей по безопасности и организаций CERT по всему миру, злоумышленники прямо заинтересованы в том, чтобы содержимое этих файлов не попало в их руки. Для этого к файлам применяются алгоритмы шифрования и обфускации.
На начальном этапе развития файлов веб-инжектов, злоумышленники не использовали шифрование и эти файлы передавались с удаленного сервера боту в открытом виде. После того как антивирусные компании обратили на банковские трояны более пристальное внимание и начали отслеживать появление этих конфигурационных файлов, злоумышленники начали использовать шифрование, делая процесс расшифровки содержимого сложнее с каждым шагом. Банковские трояны типа Zeus и его модификации, в настоящее время, используют несколько уровней шифрования, а сам расшифрованный файл хранят в памяти частями, а не целиком.
Компрессия или сжатие кода JavaScript может быть выполнена злоумышленника с помощью т. н. механизма /packer/, но в таком случае он может быть довольно быстро преобразован в оригинальный вид. Операция получения оригинального содержимого может быть выполнена с помощью простых перестановок функции «eval» и услуг сервиса JS beautifier. Этот метод компрессии является удобным, поскольку уменьшает размер содержимого веб-инжекта, но его очевидным недостатком является слабая защищенность содержимого. На Рис. 8. Показан фрагмент скрипта, который был сжат с использованием /packer/.
Рис. 8. Пример сжатого по механизму /packer/ скрипта.
Используемые злоумышленниками алгоритмы обфускации содержимого веб-инжектов могут значительно осложнить их анализ, поскольку деобфускация содержимого может представлять из себя нетривиальную задачу. На Рис. 9. показан пример такого обфусцированного содержимого.
Рис. 9. Пример обфусцированного веб-инжекта.
Рост количества банковских троянов, а также их сложности, неминуемо приведет к спросу на качественные веб-инжекты. Такой спрос уже обеспечен соответствующими предложениями на подпольных форумах кибепреступников.
Автор: esetnod32