Киберпреступная группа Carberp была одной из первых групп, которые массивно использовали семейство вредоносных программ, нацеленных на компрометацию систем удаленного банковского обслуживания и проведение мошеннических операций против крупнейших банков России. Многие члены основной группы Carberp уже были арестованы, но это семейство вредоносных программ по-прежнему активно и продолжает развиваться. Наш коллега Александр Матросов произвел анализ последней модификации банковского трояна Carberp, который мы хотим представить ниже.
На скриншоте представлена статистика ESET Virus Radar, которая показывает регионы, наиболее пострадавшие от инфекции Carberp в течение последнего месяца.
Можно увидеть, что регионом, наиболее пострадавшим от Carberp, все еще является Россия. Если мы посмотрим историю обнаружений этого вредоносного кода, то увидим, что группа Carberp была наиболее активной весной и летом 2012 г. После массовых арестов летом 2012 года ботнет все еще был активен, хотя количество обнаружений стало снижаться.
Группа Carberp все еще занимает первую позицию среди аналогичных групп, которые занимаются банковскими мошенническими операциями в России и Украине. Далее мы рассмотрим последнюю, обновленную версию кода бота, а также дополнительные плагины, которые им используются.
Метод внедрения вредоносного кода
При анализе одного из последних дропперов Carberp мы обнаружили особенную технику внедрения вредоносного кода в доверенные процессы, основанную на Power Loader. На старте своего исполнения дроппер пытается открыть одну из общедоступных (shared) секций и дописать шелл-код в конец одной из секций, список которых представлен ниже:
Далее дроппер применяет аналогичные методы, которые использует Gapz, за исключением небольших изменений в коде.
На заключительном этапе осуществляется внедрение вредоносного кода в доверенный процесс explorer.exe для того, чтобы обойти антивирусное ПО и исполнить свои дальнейшие действия уже в качестве доверенного процесса.
Эта техника не является новой и использует метод внедрения Shell_TrayWnd, который уже был описан на некоторых андеграундных российских форумах несколько лет назад.
On-the-fly модификация банковского ПО, написанного на Java
Мы уже описывали метод модификации Java-кода для банковских клиентов в другом семействе троянских программ – Win32/Spy.Ranbyus. Ranbyus модифицирует JVM (Java Virtual Machine) в процессе своего исполнения для того, чтобы отслеживать выполнение кода банковского ПО. Carberp изменяет банковское ПО, написанное на Java, используя библиотеку с открытым исходным кодом Javassist. Эта библиотека позволяет осуществлять управление байт-кодом Java на лету (в процессе исполнения). Вредоносный код Carberp использует модификацию этого байт-кода в одной из самых популярных систем онлайн-банкинга, BIFIT’s iBank 2.
В процессе анализа последнего семпла Carberp были обнаружены следующие строки, которые присутствуют в клиентском ПО системы онлайн-банкинга iBank2, с интересной ссылкой на исправление кода Java.
После использования клиента iBank2 на зараженном компьютере, вредоносный код загружает дополнительный модуль AgentX.jar (детектируется ESET как Java/Spy.Banker.AB). Когда этот модуль успешно загружен, Carberp пытается загрузить библиотеку Javassist. Java/Spy.Banker представляет из себя специальный компонент Carberp, предназначенный для модификации платежных документов на лету.
Декомпилированный класс Java, который используется для модификации кода iBank2 клиента, выглядит следующим образом:
После внесения изменений в iBank2 злоумышленники могут контролировать все платежи, осуществленные с применением этого банковского ПО. Система BIFIT’s iBank2 не проверяет целостность своего кода, и после его модификации продолжает работать как ни в чем не бывало, т. е. может производить операции денежных транзакций. Но в этом случае денежные операции проходят через киберпреступную группу Carberp.
Модуль Java/Spy.Banker имеет функциональность для обхода системы двухфакторной аутентификации с использованием одноразовых паролей. Декомпилированный java-класс для обхода такой проверки представлен ниже.
Декомпилированный код для подтверждения платежа в таком случае выглядит следующим образом:
Модуль AgentX представляет собой не совсем обычный компонент вредоносного ПО, так как не изменяет саму систему Java, а использует легитимную библиотеку для модификации кода. Представляет определенную сложность распознать вредоносную активность в AgenX.jar без ручного анализа этого модуля. На момент написания этого анализа, модуль AgentX.jar имел очень низкий уровень обнаружения.
Использование легитимного ПО как компонентов вредоносного кода
Описанный нами вредоносный код, который использует легитимные библиотеки для выполнения своих функций, не одинок. На прошлой неделе появилась информация о таргетированной атаке, которой подверглись некоторые европейские страны. Атака осуществлялась с использованием специального вредоносного тулкита TeamSpy. TeamSpy использовал модифицированные компоненты всем известного ПО TeamViewer. ESET обнаруживал этот бэкдор, которое использует модули TeamViewer, уже начиная с 2010 года (Sheldor-Shocked). Вредоносный код Win32/Sheldor был использован киберпреступной группой Carberp для ручного перевода денег с зараженных систем, начиная с 2010 года. Группа Carberp использует и другое легитимное ПО для удаленного доступа к зараженным компьютерам; в таблице ниже мы приводим разновидности такого ПО, используемого группой Carberp.
Использование легальных программных инструментов киберпреступными группами является одним из способов получения удаленного доступа к зараженным системам. В таком случае это значительно усложняет обнаружение вредоносной активности. Такие семейства вредоносного кода, как Win32/Sheldor и Win32/RDPdoor вносят некоторые изменения в оригинальные компоненты. В то же время такое ПО, как Mipko и Ammyy используются без изменений. В некоторых случаях было бы неуместным обнаружение легитимного ПО как вредоносного, с точки зрения антивируса.
Заключение
В этом посте мы резюмировали последние изменения, которые были зафиксированы в активности киберпреступной группы Carberp. Наиболее интересные изменения относятся к компоненту Java/Spy.Banker (AgentX.jar) и наиболее популярному в России и Украине банковскому ПО, которое подвергается нападению через модификацию java-кода. Другим интересным наблюдением является все более широкое использование легального ПО в качестве компонентов вредоносного кода, для получения удаленного доступа. Довольно сложным, в таком случае, представляется механизм обнаружения такого ПО, который бы приводил к отсутствию ложных срабатываний (false positive), особенно если атакующие модифицируют это ПО каждые несколько месяцев.
Автор: esetnod32