Компания
473,54
рейтинг
14 марта 2013 в 11:33

Разное → Банковский троян Caphaw атакует европейские банки с использованием плагина веб-инжектов

Банковское вредоносное ПО Win32/Caphaw (также известен как Shylock) использовался злоумышленниками при осуществлении атак на крупные европейские банки, которые продолжались более года. Эта угроза начала распространяться с осени 2011 г. Наш коллега Александр Матросов осуществил детальный анализ этого банковского трояна, и мы хотим представить наиболее интересные находки, сделанные в процессе этого анализа. Win32/Caphaw отличает от других подобных угроз тот факт, что это один из немногих троянов, который может автоматически похитить деньги с банковского счета, когда пользователь активно работает с этим счетом.



География распространения показывает, что Win32/Caphaw преобладает в Англии, Италии, Дании и Турции. Согласно нашей статистике ESET Virus Radar, периодом времени, на который приходится наибольшая активность этого трояна, является декабрь 2012 г. На следующем скриншоте приводится география распространения Win32/Caphaw за последнюю неделю (на момент исследования).


Рис. География распространенности Caphaw.

Бот

Win32/Caphaw обладает возможностями типичного банковского вредоносного ПО, а также имеет возможности по проверке среды, в которой его пытаются запустить. Такие проверки, очевидно, направлены на то, чтобы не допустить запуска дроппера в системе, предназначенной для автоматического анализа семплов. Мы обнаружили, что Caphaw внедряет свой код во все запущенные процессы, и имеет многопоточную архитектуру для исполнения задач, присылаемых от C&C. Этот код может использовать механизм межпроцессного взаимодействия (IPC) с использованием именованных каналов.


Рис. Создание потока, в котором будет осуществляться IPC взаимодействие.

Caphaw устанавливает множество перехватов для системных функций. Особенно интересной является функция-перехват для advapi32!InitiateSystemShutdownEx. Она может контролировать процесс перезагрузки и выключения системы, а также дает возможность вредоносному коду произвести свою повторную установку в системе.


Рис. Перехват функции advapi32!InitiateSystemShutdownEx. Производится повторная установка троянской программы в систему.

Все строки в теле Caphaw зашифрованы с использованием простого алгоритма.


Рис. Код расшифровки строк.

Caphaw осуществляет проверку окружения ОС на предмет того, пытаются ли его запустить в среде виртуальной машины (VMware, VirtualBox и VirtualPC). Вредоносный код проверяет имена запущенных процессов и драйверов в системе. Проверка имен производится с помощью заранее подсчитанного хэша.


Рис. Функция, которая рассчитывает хэш строки при проверке имен.

Например, проверка на окружение VMware выглядит следующим образом.


Рис. Код проверки на предмет окружения VMware; по заранее подсчитанному хэшу проверяются имена запущенных процессов и драйверов

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


Рис. Ссылки, ведущие к установке дропперов Caphaw.

Формат таких URL:

hxxps://[random subdomain].[domain]/[DIR]/[DIR-random string]/[dropper file]?r=[random number]

Для генерации случайных чисел Caphaw использует такой алгоритм:


Рис. Алгоритм генерации случайных чисел в Caphaw.

Caphaw использует C&C для загрузки дополнительных модулей, веб-инжектов, конфигурационных файлов и получения инструкций. При этом ссылки URL для работы с C&C имеют вид:


Рис. Ссылки URL, которые Caphaw использует для взаимодействия с C&C.

Такие URL, которые используются для обращения к C&C, формируются по специальному шаблону.

hxxp://[URL format]/[key]&id=[bot id]&inst=[master or slave]&net[botnet id] &cmd=cfg

Ответ от C&C сервера имеет вид:



В таком случае также используется специальный шаблон:

hxxp:// [random subdomain].[domain]/[DIR]/[file_name.jpg]?r=[random number]

Конфигурационный файл бота зашифрован с использованием RC4 и Base64. Схема шифрования имеет вид: Base64(RC4(cfg_data)). После расшифровки конфигурационный файл имеет вид:


Рис. Конфигурационный файл после расшифровки.

Плагины

Win32/Caphaw имеет возможности по загрузке и исполнению дополнительных плагинов. Плагины, которые мы наблюдали за время отслеживания ботнета, приведены в таблице.



Плагин, который используется для распространения Caphaw через Skype, был описан нашими коллегами из CSIS. Еще один интересный плагин – это модуль MBR-буткита (определяется ESET как Win32/Wolcape.A), который загружается на зараженные машины по специальному запросу от C&C. Буткит основан на модификации MBR и обеспечивает загрузку неподписанного драйвера. Функция-перехват для прерывания int13 (прерывание используется для чтения секторов с жесткого диска) для этого буткита выглядит следующим образом:


Рис. Перехват на int13.

Расположение вредоносного драйвера:



Драйвер зашифрован с помощью RC4 с длиной ключа 256 байт. Граф вызовов функции, которая загружает драйвер, имеет вид:


Рис. Граф работы функции, которая загружает драйвер в систему.

Драйвер перехватывает типичные системные функции в ядре для сокрытия файлов и процессов. Наиболее интересные из них перехватывают функции у объектов \Driver\nsiproxy и \Device\Tcp для получения контроля за проходящим сетевым трафиком. Конфигурационный файл буткита зашифрован по аналогичной схеме, как и в случае с уже вышеописанным. В нем также используется похожая XML структура:


Рис. Конфигурационный файл буткита.

Веб-инжекты и схема похищения средств

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



Ниже приведен список банков из последних конфигурационных файлов веб-инжектов:



Одной из наиболее интересных деталей в коде, внедряемом в веб-страницу при посещении онлайн-банка, является подстановка всех телефонных номеров на поддельные номера, принадлежащие злоумышленникам (Merchant of Malice: Trojan.Shylock Injects Phone Numbers into Online Banking Websites). Эта подстановка основана на специальной конфигурации веб-инжектов и имеет уникальную структуру для каждого отдельно взятого банка.



Заключение

Win32/Caphaw представляет из себя интересное семейство банковских троянов. Этот вредоносный код является одним из немногих, кто имеет функционал по автоматическому похищению денежных средств, когда пользователь работает с его банковским аккаунтом. Фактически, зараженному пользователю очень сложно распознать факт кражи денежных средств, т. к. он видит поддельные формы на странице онлайн-банкинга. Аналогичная функциональность отслеживалась нами ранее в таких семействах банковских троянов, как Carberp (Carberp Gang Evolution), Gataka (Win32/Gataka banking Trojan – Detailed analysis), Win32/Spy.Ranbyus (Win32/Spy.Ranbyus нацелен на модификацию Java-кода систем удаленного банкинга Украины) и Tinba.
Автор: @esetnod32
ESET NOD32
рейтинг 473,54

Комментарии (23)

  • +4
    Меня порой поражает высокий уровень квалификации инженеров-зловредов. Эх, вот бы их труды да во благо пустить.
    • +11
      Эти инженеры скорее всего работали во благо. Но получали мало или тут что-то личное. Ненависть к банкам например =))
  • –9
    Обычно в конце таких вот обзоров принято писать нечто типа «но пользователям нашего антивируса боятся нечего, т.к мы успешно обнаруживаем и лечим все модификации этого зловреда ... и всех его модификаций на три года вперед».

    Но тут ничего подобного нет. Все также как и в случае с Carberp? Изучить изучили, а вот лечение сделать не смогли, но так как себя похвалить надо и попиариться статью все же написали…

    Отдельно хочется послать «привет» товарищу Матросову за его обзор Carberp, который он с небольшими изменениями запостил где мог (и на хабре, и в своем блоге, и в твиттере, и на сайте есета, и на новостных сайтах… и даже в журнале Хакер) — за то, что подробно описал его метод инжекта в процесс, который еще не все антивирусы прикрыли. Именно из-за Матросова сейчас наблюдается всплеск троянов с этой технологией — именно он ее разжевал публично и объяснил, после чего по его описанию такие сорцы появились даже на гитхабе…

    Никакого уважения к человеку, которому важен лишь пиар у меня нет. Главное правило малварекопателя — не раскрывать инфу, которую могут использовать во вред. Все остальные молчали. Матросов — нет.
    • +8
      Вы меня настолько развесили, что я пожалуй вам даже отвечу :))
      Знаете ли, уже годами доказано исследователями практиками, что принцип «security through obscurity» ну никак не работает и даже приносит существенный вред. Находя интересный новый трюк или способ обхода средств защиты я не вижу смысла его скрывать, чем больше о нем будет известно, тем в более выгодной позиции находятся все разработчики защитного ПО.
      Хорошего вам дня и приятного чтения моих статей ;)
      • –7
        Можете веселиться дальше, а все вирусные аналитики, которые придерживаются каких-то понятий чести, а не пиара и принципа «не навреди» посмеются над вами… только это не смешно, а грустно. Грустно, что среди нас есть такие как вЫ.

        Касперский этот ижнект закрыл, но ничего про это, к примеру, не написал. Почему? Именно потому, что сказал я.

        А про то, что умолчание приносит вред можете пиарить и дальше в своих статейках в мурзилке (хакере), а антивирусное сообщество так не думает.
        Факты говорят за себя — всплеск зловредов с этой технологии начался после ваших публикаций. Код на гитхабе появился также со ссылкой на тов.Матросова — там прямо написано, что писалось по вашему описанию.

        Да, товарищ, Матросов. Стыдно должно быть.

        Такие товарищи нам совсем не товарищи.
        • –3
          Виталеги минусуют :)
          Путь минусуют дальше — от технологии инжекта Gapz им не уйти — NOD32 не имеет технологий закрыть этот инжект. Печально, но факт.
          Кто-то оспорит?
          • +5
            Если антивирус не имеет технологий и не ловит что-то, и не сможет ловить, то это еще один аргумент в пользу что об этом надо рассказать.

            Это позволит мне остерегаться левых сайтов, браузеров, и не верить запугивающей рекламе антивирусов, которые ловят 99.9%, но оставшийся миллион гадости не ловят.

            • –1
              То, что там нет технологий для борьбы с таким инжектом опять-таки вам сообщил я. Из статьи Матросова вы бы это не поняли.
              А про 99% это и так вы должны знать. А вот ТЕХНИЧЕСКИЕ подробности раскрывать не нужно было.
              Можно было написать «есть новый метод инжекта» и все. Вот персонально ВАМ elite7 какая польза с технических подробностей? имен api-функций и т.д Никакой. Только вред от хакеров, для которых это дало ключ к понимаю как это сделать самим.
              • 0
                Если с моего компа стырят деньги, а антивирусы опять ничего не найдут, то я бы хотел бы примерно узнать, как это могло произойти.

                Я также возмущен тем, что все банки и элекронные кошельки насильно переводят меня на смс-подтверждения.

                Такой способ «защиты» меня не устраивает.

                Получается, что в моем компе копаются, а я даже не знаю про это.
                Или не копаются, но и этого я не знаю.

                Поэтому мне очень интересно, что могут сегодняшние трояны, а чего — не могут. Если могут — то как. То есть с техническими подробностями.

                • –1
                  Как? через инжект. Инжект в процесс и дальнейший выход в сеть из его контекста. Зачем вам больше инфы нужно? зачем знать какую функцию они с какими параметрами для этого используют?
                  • +1
                    Если бы это было описание термоядерной бомбы, то я бы с вами согласился.

                    Но если это описание отмычки, которая позволит входить в подъезд каждого дома или в каждую квартиру, то пусть публикуют, и если обычный школьник по этому описанию сможет сделать такую отмычку, то будет неправ создатель замка, а не ребенок, создавший отмычку.

                    Замки надо менять, но сделать массовую замену можно только когда дети покажут взрослым, что здесь всё плохо.

                    Замок плохой.
                    • –1
                      Дело в том, что ВСЕ антивирусные компании про этот инжект знали. Они занимаются этой проблемой, кто-то закрыл уже, кто-то вообще не может и не собирается, кто-то тестирует заплатку.

                      Непонятно чего вы упираетесь? Подробная техническая информация об уязвимости до ее закрытия не несет никакой пользы. (польза только хакерам). Это ведь тут на хабре есть традиция чтобы не публиковали подробности уязвимости какого-то сайта до того как закрыли эту уязвимость. А тут еще страшнее. При публикации подробностей — под удар попадают миллионы людей.
                      • 0
                        Под удар попали миллионы людей в тот момент, когда начали пользоваться небезопасным продуктом.

                        Широкая информация об уязвимости спустя год-два (2011) вряд ли может навредить беззащитным людям, так как стимулирует их менять небезопасный замок и менять небезопасный продукт, в том числе отказываться от антивирусов, которые лишь создают иллюзию безопасности вашего компьютера.

                        Вы же сами сказали, что технологий может не быть? А если технология вообще не появится? Так зачем ждать?
                        • 0
                          Т.е вам сам Матросов сообщил что они не могут закрыть этот инжект пока или это вам сообщил я, а Матросов лишь раструбил, что такой инжект есть со всеми тех.подробностями?))
    • 0
      Я бы вот предпочел знать, что такие трояны существуют, особенно в том случае, если антивирусы что-то там не прикрыли (спустя месяцы)

      Спасибо автору.
      • 0
        То, что антивирусы что-то не прикрыли вы узнали от меня, а не от Матросова, из его статей это никак нельзя понять, если сами не долбите днями малварь… (или если сами ее не пишете...)
    • +3
      О да, с теми супер методами, которые сии поделки пользуются, можете смело подать в суд на Microsoft и их супер опасный сайт msdn.com, там ведь столько открытой информации о том, как писать малварь!

      «Новые» методы инжекта тоже пахнут чем-то протухшим, с легким ароматом одного известного форума.
      • –1
        Это так. Но большинство малвареписателей это скрипткиддисы и неспособны самостоятельно до чего-то додуматься. Вот им и помогает Матросов.

        Думаю, что нет смысла меряться тем, кто раньше узнал о таком способе инжекта, суть не в этом. Суть лишь в распространенности и доступности его использования скрипткиддисам.
  • 0
    Сорри за вопрос не в тему, но как называется шрифт на скриншотах вроде этого?

    • 0
      Fixedsys, идёт вместе с Windows.
  • +2
    Драйвер зашифрован с помощью RC4 с длиной ключа 256 байт

    Думаю всё же 256Бит.

    Интересным решением выглядит сервис полиморфного криптора — раньше таких не встречал.
    Хотя тут кроется и минус такого подхода.

    Но читаешь и поражаешься — насколько нетривиально надо мыслить, сколько сил вкладывалось… Жаль, когда по тем или иным причинам таланты пускаются не во благо, а совсем в другую стезю.
    Вот научились бы банковские вирусописатели ещё фильтровать — ворованные деньги — значит можно стырить. А если пенсия бабушки — то оставить.
    Памятник бы таким поставили.
    • 0
      … а есть зловреды, которые при запуске проверяют дефолтную раскладку клавиатуры и/или язык системы — если русская, то ничего зловредного не делают (просто самоудалятся) :)
  • 0
    Всегда очень интересно читать такие статьи.
    В подобных обзорах наглядно показывается невидимая «жизнь», которой насыщена Сеть :)
    Читая, ловишь себя на мысли, что немного завидуешь ребятам, написавшим зловреда. Вот где простор для нестандартных идей и решений.

    Надо поискать проекты на гитхабе с кодом ;)

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

Самое читаемое Разное