Главная » Статьи » Мои статьи |
Банковский троян Win32/Corkow
Злоумышленники использовали типичный метод распространения вредоносного кода через drive-by download. Мы указывали его в нашем отчете за 2013 г. и упоминали, что он является самым распространенным способом доставки вредоносного кода, который используется злоумышленниками на сегодняшний день. Случай с Win32/Corkow лишь подтверждает эти данные. В этом посте мы опубликуем технические подробности анализа этой вредоносной программы, укажем банки, на которые нацелен Win32/Corkow, а также опишем другие его возможности, которые не упоминались в первом посте. Общие сведения Как и в случае с другими банковскими троянскими программами, например, Win32/Spy.Hesperbot, Win32/Corkow состоит из основного модуля и нескольких плагинов, которые реализуют соответствующие возможности. Каждый такой плагин или модуль выполнен в виде DLL-библиотеки. На самом деле большинство других плагинов внедрены в основную DLL, другие же загружаются с управляющего C&C-сервера. В любом случае, эта основная DLL будет инжектировать другие модули в процессы, работающие в системе. Ниже в таблице представлены различные модули, которые мы видели во всех проанализированных образцах Win32/Corkow. Обратите внимание, что не все семплы вредоносной программы содержат каждый из этих модулей. Несмотря на то, что основной модуль «Core DLL» отвечает за запуск других модулей на исполнение и загрузку конфигурационных данных с C&C, каждый из таких модулей содержит свой список C&C-серверов для загрузки туда данных напрямую. Как можно увидеть в таблице выше, вредоносный код Win32/Corkow содержит возможности, которые являются типичными для банковских троянских программ, в том числе, кейлоггер, модуль снятия скриншотов и граббер данных веб-форм для кражи аутентификационных данных онлайн-банкинга. Тем не менее три последних модуля реализуют функции, которые можно не часто встретить в банковских троянских программах. Win32/Corkow использует два отдельных модуля для компрометации приложения ДБО iBank2 и приложения Сбербанка, которое используется для доступа к своему счету корпоративными пользователями. Последний модуль DC используется для поиска индикаторов активности пользователя по отношению к следующим типам информации:
Инсталляция Win32/Corkow имеет интересную и относительно сложную процедуру установки. Троян обычно поставляется жертве в виде исполняемого файла дроппера, который содержит основную Core DLL в секции ресурсов. Рис. Установка дроппера в систему. Когда дроппер запускается на исполнение, он устанавливает себя в систему используя следующие шаги:
Возможные пути установки вредоносного кода. Существует множество способов загрузки DLL библиотеки в ОС и Win32/Corkow может использовать один из трех способов, описанных выше. Каждый из этих способов загружает DLL через вызов экспорта с разными именами. Все эти имена принадлежат функции, которая расшифровывает основное тело вредоносного кода из секции ресурсов. Как мы указали выше, основная DLL Corkow записывается в секцию ресурсов оригинальной системной DLL в зашифрованном виде, кроме этого к ней применяется сжатие aPLib. Для шифрования используется XOR с ключом, который формируется из данных Volume Serial Number диска C: с использованием алгоритма multiply-with-carry. После установки зараженная Corkow библиотека привязывается к зараженному компьютеру и не может быть запущена на другом компьютере. Таким образом вредоносный код защищает себя от анализа со стороны вирусных аналитиков. Core DLL и работа с C&C Основной модуль Win32/Corkow отвечает за извлечение других своих модулей и внедрение их в соответствующие процессы, а также работу с C&C-сервером. Вредоносный код содержит список URL-адресов, с которыми он пытается связаться. Начальный HTTP-запрос, который отправляется на сервер, содержит основную информацию о системе, версии определенных модулей и идентификатор бота Bot ID. На этом же этапе выбирается ключ для шифрования последующих сообщений с сервером, который основан на доменном имени C&C и Bot ID. Затем сервер отвечает с использованием одной или нескольких команд. Ниже перечислены такие команды.
Последние две команды указывают на то, что помимо кражи данных, Win32/Corkow может вызвать серьезные повреждения в ОС. Когда сервер посылает боту команду на удаление себя из системы, он может передать специальный параметр, который укажет боту, что в системе нужно удалить критический системный файл и перезаписать MBR или NTFS MFT произвольными данными. После таких операций система становится незагружаемой. Core DLL также содержит возможности по захвату скриншотов рабочего стола, блокированию запуска определенных приложений и перечисление установленных в системе смарт-карт. Политика блокирования запуска приложений определяется конфигурацией бота. Вредоносный код в бесконечном цикле выполняет перечисление запущенных в системе процессов черезCreateToolhelp32Snapshot, а затем пытается завершить процессы, указанные в конфигурации. Подобное завершение процессов происходит из пользовательского режима, поэтому шансы на успешное завершение ограничены. Такая практика, вероятно, используется вредоносным кодом для предотвращения запуска банковских приложений пользователем, например, с целью проверки баланса своего счета. В отличие от других, более сложных троянских программ, Corkow не умеет взаимодействовать со смарт-картами, а только перечисляет их. Интересно, что для получения информации о смарт-картах вредоносный код не использует Windows API, а вместо этого перечисляет физические устройства карт (используя для этого SetupDi API), далее осуществляя поиск заданных имен устройств. Компрометация отдельных банковских приложений Мы уже писали, что Corkow нацелен на компрометацию системы ДБО iBank2. iBank2 представляет из себя приложение на Java, в свою очередь, вредоносный код пытается получить доступ к данным системы этой системы онлайн-банкинга через внедрение собственного вредоносного Java-класса в виртуальную машину Java, в контексте которой работает iBank2. Для выполнения этой задачи, Corkow внедряет модуль IB2 (см. выше) в каждый созданный процесс Java (java.exe или javaw.exe). Рис. Вредоносный код Corkow, который выполняет внедрение себя в созданные процессы виртуальной машины Java (JVM). Внедренный код, в дальнейшем, использует функции Java Native Interface (JNI) для выполнения необходимых операций: получение указателя на работающую JVM, внедрение в нее и загрузку вредоносного Java-класса. На рисунке ниже показана часть декомпилированного Java класса. Этот класс содержит методы для получения текущего баланса банковского счета жертвы, код снятия скриншотов рабочего стола и код копирования файлов ключа, который используется для аутентификации пользователя в системе онлайн-банкинга. Рис. Вредоносный класс Java, используемый для атаки на iBank2. Видно, что код поддерживает английские, российские и украинские версии приложения iBank2. Описанный метод внедрения кода Java не опирается на какую-либо уязвимость в приложении iBank2. Мы наблюдали и другие банковские трояны, которые нацелены на компрометацию этой ДБО, например, Win32/Spy.Ranbyus и Win32/Carberp, оба используют различные методы для достижения своей цели. Модуль SBRF используется для компрометации банковского приложения Сбербанка (платформа Win32). Как и модуль, ориентированный на IBank2, код SBRF умеет создавать скриншоты и красть файлы ключа, которые используются для аутентификации клиента. Модуль DC Данный модуль опознает активность пользователя через поиск следующей информации.
Интересен тот факт, что вредоносный код не посылает полные результаты поиска на удаленный сервер. Вместо этого он анализирует полученные данные и пытается найти определенные строки, которые могли бы идентифицировать приложение для работы с финансами. Проанализированный образец Corkow содержит строки, относящиеся к банковской и трейдинговой платформам, а также к цифровым валютам (включая веб-сайты и ПО, относящееся к Bitcoin), различным платежным системам и идентификация возможной активности разработчика для Google Play (Google Play developer activity). Рис. Различные финансовые приложения и веб-сайты, на которые нацелен DC модуль Corkow. Можно увидеть, что кроме ПО и веб-сайтов, ориентированных на российские и украинские банки, в списке присутствует широкий спектр банков из Швейцарии, Сингапура, Латвии, Литвы, Эстонии, Дании, Хорватии, Великобритании, Австрии и Кипра (включая некоторые банки, которые уже не работают). Заключение Вредоносная программа Win32/Corkow является примером того, как злоумышленники могут использовать в своих целях утекшие исходные тексты Carberp. В ходе анализа Corkow довольно легко обнаружить различные стили программирования, в частности, те части кода, которые были написаны самими авторами вредоносной программы или те, которые были скопированы из других вредоносных программ. Несмотря на то, что Corkow может быть технически менее сложным, чем некоторые другие вредоносные программы, которые мы анализировали прежде, он содержит все необходимые возможности для кражи конфиденциальных данных пользователя. Преступники, которые оперируют ботнетом Corkow, по-видимому, имеют хорошо продуманный план действий, уделяя при этом особое внимание пользователям систем онлайн-банкинга. Мы можем подтвердить, что жертвами этого вредоносного кода уже стали несколько тысяч пользователей в России и Украине в 2013 г. Предотвращение заражения Зачастую пользователи интересуются каким образом можно защититься от заражения подобными вредоносными программами, поэтому здесь мы дадим несколько рекомендаций.
| |
Категория: Мои статьи | Добавил: Admin (20.07.2014) | |
Просмотров: 830
| Теги: |
Всего комментариев: 0 | |
Канал Youtube
Меню сайта
ПОДЕЛИТСЯ В SKYPE
Share
Категории Видео
Медсестру заказывали?
- Просмотры:
- Всего комментариев: 0
- Рейтинг: 0.0
Issey Miyake
- Просмотры:
- Всего комментариев: 0
- Рейтинг: 0.0
Сказки дедушки Ай-по
- Просмотры:
- Всего комментариев: 0
- Рейтинг: 0.0
Калькулятор