Осенью этого года мы обнаружили новый банковский троянец, который привлек наше внимание двумя фактами:
- во-первых, он интересен с технической точки зрения, поскольку в нем используется новый способ загрузки модулей;
- во-вторых, анализ конфигурационных файлов показал, что зловред нацелен на множество систем интернет-банкинга: более чем 150 различных банков и 20 платежных систем, расположенных в 15 странах. Среди его потенциальных мишеней больше всего банков в Великобритании, Испании, США, России, Японии и Италии.
Продуктами «Лаборатории Касперского» новый банковский зловред детектируется как Trojan-Banker.Win32.Chthonic.
Судя по всему, данный троянец является эволюцией ZeusVM, хотя он и претерпел ряд значительных изменений. В Chthonic применяется тот же криптор, что и у ботов Andromeda, шифрование, как в троянцах Zeus AES и Zeus V2, и виртуальная машина, подобная той, что используется в зловредах ZeusVM или KINS.
Заражение
Мы зафиксировали несколько путей заражения Trojan-Banker.Win32.Chthonic:
- рассылка писем с эксплойтами;
- загрузка ботом Andromeda (Backdoor.Win32.Androm по классификации «Лаборатории Касперского»).
В случае, когда рассылались письма с эксплойтами, злоумышленники прикрепляли к сообщению специально сформированный RTF документ, нацеленный на использование уязвимости CVE-2014-1761 в продуктах MS Office. Файлу присвоено расширение .DOC, чтобы не вызвать подозрений.
Пример письма с эксплоитом CVE-2014-1761
Если эксплуатация уязвимости проходила успешно, то на атакуемый компьютер скачивался файл – загрузчик троянца. В приведенном примере скачивание происходит со взломанного сайта hxxp://valtex-guma.com.ua/docs/tasklost.exe.
Бот Andromeda скачивал загрузчик по адресу hxxp://globalblinds.org/BATH/lider.exe.
Загрузка троянца
Скачанный загрузчик внедряет свой код в процесс msiexec.exe. Этот загрузчик, похоже, основан на исходных кодах бота Andromeda, однако протокол общения у них отличается.
Пример общего функционала загрузчиков Andromeda и Chthonic
Различия в протоколах общения с C&C у Andromeda и Chthonic
Загрузчик Chthonic содержит зашифрованный конфигурационный файл (подобное шифрование с использованием виртуальной машины применялось в KINS и ZeusVM). Основные данные в конфигурационном файле: список С&С серверов, 16-байтный ключ для RC4 шифрования, UserAgent, botnet id.
Основной цикл вызова функций виртуальной машины
После расшифровки конфигурационного файла отдельные его части сохраняются в куче (heap – выделенный блок памяти) в следующем формате:
Указатели при этом никуда не передаются. Бот находит нужные значения, перебирая все элементы кучи с помощью функции RtlWalkHeap и сравнивая первые 4 байта с нужным MAGIC VALUE.
Загрузчик формирует типичный для ZeuS-троянцев пакет с данными о системе (local_ip, bot_id, botnet_id, os_info, lang_info, bot_uptime и некоторые другие) и шифрует его сначала с помощью XorWithNextByte, а затем с помощью RC4. Далее пакет отправляется на один из записанных в конфигурационном файле адресов командных центров.
В ответ зловред получает расширенный загрузчик – модуль в формате данных, типичном для ZeuS, т.е. не стандартный PE-файл, а именно набор секций, которые отображаются в память самим загрузчиком: исполняемый код, таблица релокаций, точка входа, экспортируемые функции, таблица импорта.
Код с идентификаторами секций, соответствующих структурам модулей
Следует отметить, что секция импорта представлена лишь хешами от имен API функций. Сама таблица импорта настраивается с применением метода Stolen Bytes, для чего в загрузчике есть встроенный дизассемблер. Похожую настройку импорта мы ранее видели в Andromeda.
Часть кода функции настройки импорта в Andromeda и Chthonic
Заголовок структуры с модулем
Расширенный загрузчик также содержит конфигурационный файл, зашифрованный с помощью виртуальной машины. Он загружает главный модуль троянца, который, в свою очередь, скачивает остальные. Однако в качестве шифрования расширенный загрузчик использует AES, а некоторые секции упакованы с помощью UCL. Главный модуль загружает дополнительные модули и настраивает таблицы импорта практически так же, как это делает исходный загрузчик Chthonic, т.е. данный вариант ZeuS вобрал в себя часть функционала Andromeda.
Вот полная последовательность загрузки зловреда, включая модули, о которых мы расскажем далее:
Модули
Троянец Trojan-Banker.Win32.Chthonic имеет модульную структуру, и на сегодняшний день мы обнаружили следующие модули:
Название | Описание | Наличие 64-битной версии |
main | Основной модуль (v4.6.15.0 — v4.7.0.0) | Да |
info | Сбор информации о системе | Да |
pony | Модуль для кражи сохраненных паролей | Нет |
klog | Кейлоггер | Да |
http | Модуль вебинжектов и formgrabber | Да |
vnc | Удаленный доступ | Да |
socks | Прокси | Да |
cam_recorder | Запись видео с вебкамеры | Да |
Внушительный список функций позволяет различными способами воровать данные для доступа к системам онлайн-банкинга. Помимо этого, модули VNC и cam recorder позволяют злоумышленникам удаленно подключаться и совершать транзакции с зараженного ПК, а также записывать видео и звук, если на компьютере есть вебкамера и микрофон.
Инъекции
Главным оружием троянца Chthonic являются веб-инъекции: возможность вставить в код загружаемой в браузере страницы свой код и картинки. Благодаря этому злоумышленники не только получают введенные жертвой логин и пароль, но и могут выудить у нее номер телефона, одноразовые пароли и PIN-коды.
Например, для одного из японских банков троянец скрывает предупреждения банка и внедряет скрипт, позволяющий злоумышленникам проводить различные операции с аккаунтом жертвы:
Скриншот страницы интернет-банкинга до и после инжекта
Интересные функции в инжектируемом скрипте
Также скрипт может показывать различные поддельные окна с целью получить нужную злоумышленникам информацию. Ниже пример окна, в котором пользователю сообщается о якобы имеющихся проблемах с идентификацией и предлагается ввести его TAN:
Поддельное окно для получения TAN
Анализируя атаки на клиентов российских банков, мы увидели нетипичный сценарий использования веб-инъекций. При заходе на страницу интернет-банка в браузере происходит полная подмена содержимого веб-страницы, а не ее частей, как при обычной атаке. С технической точки зрения троянец создает iframe c фишинговой копией сайта на все окно.
Вот как это выглядит в коде инъекции, которая заменяет всё между закрывающими тегами title и body на следующий текст:
И сам скрипт:
Кроме того, бот получает команду на установку backconnect-соединения при успешном инжекте:
Охват
Существует несколько ботнетов, имеющих разные конфигурационные файлы. Суммарно во всех известных нам ботсетях целями злоумышленников являются системы интернет-банкинга более чем 150 различных банков и 20 платежных систем, расположенных в 15 странах. Наибольшее внимание злоумышленников привлекли банки в Великобритании, Испании, США, России, Японии и Италии.
Распределение целей по странам
Стоит отметить, что несмотря на большое количество целей в списке, многие фрагменты кода, используемые троянцем для инъекции уже не работоспособны, т.к. банки сменили структуру своих страниц, а в некоторых случаях и сам домен. Кроме того, многие из этих фрагментов мы видели в конфигурационных файлах других ботов (например, Zeus V2) еще несколько лет назад.
Заключение
Мы видим, что троянец ZeuS не перестает активно развиваться, и в его новых реализациях используются передовые достижения создателей вредоносных программ. Во многом этому способствует утечка исходных кодов ZeuS. Таким образом, в мире создателей вредоносных программ он стал чем-то вроде фреймворка, который доступен всем желающим и легко может быть адаптирован под новые потребности злоумышленников. Новый троянец Chthonic представляет собой очередной этап эволюции ZeuS: он использует шифрование Zeus AES, виртуальную машину, подобную той, что была в ZeusVM и KINS, и загрузчик Andromeda.
Все это говорит о том, что мы, определенно, еще увидим новые варианты ZeuS.
Некоторые md5:
12b6717d2b16e24c5bd3c5f55e59528c
148563b1ca625bbdbb60673db2edb74a
6db7ecc5c90c90b6077d5aef59435e02
5a1b8c82479d003aa37dd7b1dd877493
2ab73f2d1966cd5820512fbe86986618
329d62ee33bec5c17c2eb5e701b28639
615e46c2ff5f81a11e73794efee96b38
77b42fb633369de146785c83270bb289
78575db9f70374f4bf2f5a401f70d8ac
97d010a31ba0ddc0febbd87190dc6078
b670dceef9bc29b49f7415c31ffb776a
bafcf2476bea39b338abfb524c451836
c15d1caccab5462e090555bcbec58bde
ceb9d5c20280579f316141569d2335ca
d0c017fef12095c45fe01b7773a48d13
d438a17c15ce6cec4b60d25dbc5421cd
Chthonic: новая модификация ZeuS