Информационная безопасностьНовости

Троян BackSwap использует новые способы кражи средств с банковских счетов

Специалисты ESET обнаружили новое семейство троянов, использующее новый способ кражи средств с банковских счетов. BackSwap работает с элементами графического интерфейса Windows и имитирует нажатия клавиш, чтобы избежать обнаружения и обойти защиту браузера.

Эксперты впервые заметили кибергруппу, разработавшую BackSwap, в январе 2018 года, когда она еще распространяла свои ранние разработки, например, программу для кражи криптовалюты путем подмены адреса кошелька в буфере обмена. Группировка занималась криптовалютой несколько месяцев, после чего выпустила первую версию банкера: с 13 марта 2018 антивирусные продукты ESET детектируют его как Win32/BackSwap.A.

Троян BackSwap использует новые способы кражи средств с банковских счетов

Эксперты сообщают, что BackSwap распространяется посредством спама. В письмах содержатся вложения с обфусцированным JavaScript-загрузчиком из семейства Nemucod. В настоящее время эти рассылки ориентированы на пользователей из Польши. Кроме того, исследователи ESET неоднократно обнаруживали на машинах жертв еще один известный загрузчик: Win32/TrojanDownloader.Nymaim. Предполагается, что он, возможно, распространяется тем же способом. В настоящее время специалисты не установили, является это простым совпадением или семейства малвари каким-то образом связаны друг с другом.

Полезная нагрузка BackSwap доставляется в систему в виде модифицированной версии легитимного приложения, частично переписанного вредоносным компонентом. Приложение, используемое для модификации, регулярно меняется. Так, эксперты наблюдали в этом качестве TPVCGateway, SQLMon, DbgView, WinRAR Uninstaller, 7Zip, OllyDbg и FileZilla Server.

Исследователи рассказывают, что обычные трояны внедряют в процессы браузера вредоносный код, пытаясь получить доступ к счету своей жертвы. С его помощью малварь отслеживает посещение сайтов интернет-банков, а затем изменяет НТТР-трафик или перенаправляет жертву на фишинговый сайт. Однако это сложная для реализации задача, поскольку современные антивирусные продукты и защитные механизмы браузеров распознают такое внедрение кода. Также вирусописатели вынуждены адаптировать свою схему атак для каждой версии браузера и менять тактику с выходом обновлений. Кроме того, разрядность внедряемого модуля малвари должна совпасть с разрядностью браузера. Так, 32-битный модуль не внедрить в 64-битный процесс и наоборот. В результате для атаки необходимы две версии одного и того же модуля.

Авторы BackSwap избавились от этой проблемы тривиальным, но весьма эффективным способом. Троян не внедряет код в процессы браузера. Вместо этого он «узнает», когда пользователь заходит в онлайн-банк, с помощью событий Windows в цикле ожидания сообщений. Обнаружив работу с интернет-банком, малварь внедряет вредоносный код в веб-страницу через консоль разработчика в браузере или в адресную строку.

Метод может показаться тривиальным, но он эффективен, поскольку позволяет решить известные проблемы традиционного инжекта. Во-первых, малварь не взаимодействует с браузером на уровне процесса. Благодаря этому отсутствует необходимость в специальных привилегиях и обходе антивирусов, защищающих от обычного инжекта. Второе преимущество для атакующих – банкер не зависит ни от архитектуры браузера, ни от его версии; работает один код для всех.

Малварь отслеживает URL посещаемой страницы, устанавливая перехватчики событий (event hooks) для определенного диапазона релевантных событий доступных через цикл ожидания сообщений Windows, таких как EVENT_OBJECT_FOCUS, EVENT_OBJECT_SELECTION, EVENT_OBJECT_NAMECHANGE и нескольких других. Обработчик ищет значения URL с помощью поиска по объектам строк, которые начинаются с НТТРS, получаемых вызовом метода get_accValue из интерфейса события IAccessible.

Троян BackSwap использует новые способы кражи средств с банковских счетов

Затем Win32/BackSwap.A ищет адреса, относящиеся к банкам, и заголовки окон в браузере, указывающие на то, что пользователь готовит денежный перевод.

Троян BackSwap использует новые способы кражи средств с банковских счетов

Обнаружив искомое, банкер загружает вредоносный JavaScript, соответствующий определенному банку, и внедряет его в браузер. Инжект производится простым, но эффективным способом.

В старых образцах BackSwap вставлял вредоносный скрипт в буфер обмена и имитировал нажатие комбинации клавиш, чтобы открыть консоль разработчика (CTRL+SHIFT+J в Google Chrome, CTRL+SHIFT+K в Mozilla Firefox), затем вставлял содержимое буфера (CTRL+V) и «нажимал» ENTER для выполнения содержимого консоли. Затем троян повторял комбинацию клавиш, чтобы закрыть консоль. На это время окно браузера становится невидимым – обычный пользователь, скорее всего, подумает, что браузер на несколько секунд завис.

В новых вариантах малвари данная схема была усовершенствована. Вместо взаимодействия с консолью разработчика вредоносный скрипт выполняется напрямую из адресной строки через специальный протокол JavaScript, малоиспользуемую функцию, которую поддерживает большинство браузеров. Банкер имитирует нажатие CTRL+L для выбора адресной строки, DELETE – для очистки поля, «вводит» символы на «javascript» через вызов SendMessageA в цикле, после чего вставляет вредоносный скрипт с помощью комбинации CTRL+V. Скрипт выполняется после «нажатия» ENTER. В конце процесса адресная строка очищается, чтобы убрать следы компрометации.

«BackSwap доказывает, что в противостоянии между индустрией безопасности и вирусописателями не всегда нужна новая сложная техника и тактика, – комментирует Михал Послушны, вирусный аналитик ESET. – Браузеры усиливают защиту от внедрения кода, поэтому авторы малвари переходят к другим схемам атак, и в BackSwap реализована только одна из них».

Исследователи пишут, что в настоящее время BackSwap поддерживает атаки на Google Chrome и Mozilla Firefox, а в последних версиях появилась и поддержка Internet Explorer. Метод злоумышленников подходит для большинства браузеров с консолью разработчика или возможностью выполнения кода JavaScript из адресной строки.

При этом все три браузера, подверженные компрометации, имеют интересную функцию защиты, разработанную для предотвращения атак Self-XSS: когда пользователь пробует вставить скопированный текст, начинающийся с «javascript:» в адресную строку, префикс протокола удаляется, и его нужно снова вводить вручную для исполнения скрипта. BackSwap обходит это препятствие через имитацию посимвольного ввода префикса в адресную строку перед вставкой скопированного вредоносного скрипта.

Еще один инструмент защиты реализован в Mozilla Firefox. Браузер запрещает копировать скрипты в консоль по умолчанию; вместо этого он отображает уведомление о возможных рисках и заставляет пользователя сначала вводить вручную фразу «allow pasting», чтобы разрешить вставку скопированных символов. Для обхода этой меры безопасности троян предусматривает исполнение шелл-команды, которая вносит изменения в файл конфигурации prefs.js и удаляет эту защиту.

Троян BackSwap использует новые способы кражи средств с банковских счетов

Специалисты ESET предупреждают, что в настоящее время BackSwap используется в атаках на пользователей пяти польских банков: PKO Bank Polski, Bank Zachodni WBK S.A., mBank, ING и Pekao. Малварь интересуют только переводы крупных сумм – от 10 000 до 20 000 польских злотых (168 000–337 000 рублей). Скрипт злоумышленников не только подменяет номер счета получателя, но и заменяет поле ввода на фейковое, то есть пользователь видит корректный номер и не подозревает об атаке.

Специалисты уже уведомили разработчикам браузеров, подверженных компрометации, о новом методе атак.