Год назад специалисты ESET фиксировали наибольшую активность двух типов вредоносных программ в Бразилии — банковских троянов и их загрузчиков (даунлоадеров). Загрузчики представляют из себя исполняемые файлы компактного размера, специализирующиеся на загрузке в скомпрометированную систему основного исполняемого файла банковского трояна. На сегодняшний день ситуация остается прежней, но с некоторыми изменениями, в частности, в список наиболее активных угроз Бразилии попали вредоносные Java .jar файлы, а также скрипты Visual Basic Script и JavaScript.
Таким образом видно, что вредоносные файлы скриптов стали весьма популярны у злоумышленников в данном регионе. В этом посте мы рассмотрим несколько вредоносных скриптов, а также механизмы их работы. Подобные скрипты также используются злоумышленниками как загрузчики, но предоставляют злоумышленникам более гибкую схему распространения, поскольку могут просто интегрироваться в веб-страницы.
Если посмотреть на статистику распространения вредоносного ПО в Бразилии за первые пять месяцев 2016 г., мы увидим среди них вредоносные обфусцированные скрипты с общим (generic) типом обнаружения. Несмотря на то, что загружаемая ими полезная нагрузка может изменяться, мы увидим, что существует связь между обнаружениями подобного типа и банковскими троянами. Отметим, что прочие вредоносные программы из таблицы самых распространенных угроз Бразилии написаны на разнообразных языках программирования.
Специалисты нашей антивирусной лаборатории в Латинской Америке наблюдали использование легитимного сервиса MEO cloud service для размещения файлов вредоносных программ. В большинстве случаев они представляли из себя банковские троянские программы. В качестве вектора распространения были выбраны фишинговые электронные письма, в которых содержалась ссылка на загрузку вредоносной программы.
В качестве примера для рассмотрения возьмем вредоносный скрипт с названием Boleto_NFe_1405201421.PDF.js, который обнаруживается антивирусными продуктами ESET как VBS/Obfuscated.G.
Несмотря на то, что код скрипта обфусцирован, используемый для этого метод достаточно прост. Даже без расшифровки мы можем увидеть, что замаскированный под изображение файл загружается по указанному URL в директорию ProgramData с названием flashplayer.exe, а затем исполняется.
В свою очередь, файл flashplayer.exe представляет из себя загрузчик банковского трояна, который загружает и запускает на исполнение третий файл с названием Edge.exe. Этот третий файл обнаруживается нашими AV-продуктами как Win32/Spy.KeyLogger.NDW; несмотря на название этого обнаружения, кроме фиксирования нажатия клавиш, он также содержит в себе функции банковского трояна. Среди множества его функций, он также получает адреса посещаемых пользователем веб-сайтов и проверяет их со своим списком веб-сайтов онлайн-банкинга с использованием механизма Dynamic Data Exchange (DDE). Ранее мы уже фиксировали использование подобного метода троянами в предыдущих кампаниях. Отличие этого случая от предыдущих заключается в том, что в этот раз троян нацелен на компрометацию разнообразных веб-браузеров.
Строки в файле зашифрованы с использованием алгоритма, основанного на простой операции XOR. Некоторые из этих строк указаны ниже на рисунке. Из них видно, что троян специализируется на краже учетных данных бразильских сайтов онлайн-банкинга.
Статистика угроз выше показывает, что злоумышленники в Бразилии стали переключаться на новые платформы и языки программирования в попытке избежать обнаружения своего вредоносного кода со стороны антивирусных продуктов. Тем не менее, цели злоумышленников не стали другими и кража информации онлайн-банкинга по прежнему является наиболее выгодной формой атаки и, следовательно, наиболее распространенной.
Легитимные облачные сервисы хранения данных также использовались злоумышленниками для размещения вредоносного ПО на JavaScript, которое входит в рейтинг десяти наиболее активных угроз в Бразилии. В частности, мы обнаружили там множество вредоносных файлов, которые обнаруживаются AV-продуктами ESET как Java/TrojanDownloader.Banload.AK.
Эти файлы относятся к типу .jar с названиями типа Boleto_Cobranca, Pedido_Atualizacao, или Imprimir_Debitos. После декомпиляции кода, мы получаем его в обфусцированном виде с очень длинными названиями переменных и методов.
Несмотря на обфускацию, мы можем увидеть несколько названий импортируемых функций в файле. Последние пять импортируемых классов относятся к операциям шифрования, так как они используют симметричный алгоритм DES. Таким образом, если мы сможем определить используемые там методы расшифровки, а также заменить названия методов и переменных на более понятные, мы получим следующий код как на рисунке ниже.
Используемый для дешифрования строк ключ представляет из себя название класса Java. Поэтому, если мы адаптируем для себя код метода main вредоносной программы, мы сможем расшифровать строки в ее теле. Мы можем разобрать основной класс для поиска этих строк и дальше передать их нашему модифицированному коду для выполнения процесса расшифровки. Ниже представлены расшифрованные строки и их зашифрованные аналоги.
Мы подчеркнули на скриншоте выше IP-адрес сервера, по которому вредоносная программа связывается с ним. Обратите внимание, что адрес удаленного C&C-сервера изменяется в различных образцах вредоносной программы, которые мы проанализировали. Далее создается файл на Visual Basic Script, который исполняется интерпретатором cscript.exe.
Стоит отметить, что проанализированные нами файлы вредоносного ПО содержали больше возможностей, которые можно было определить по названиям импортируемых классов. Одной из наиболее интересных особенностей вредоносной программы является возможность обнаружения виртуализируемого окружения. В случае обнаружения такого окружения, исполнение вредоносного кода прекращается. Некоторые другие импортируемые функции специализируются на загрузке файлов из интернета, которые также можно увидеть в остальной части импортов.
Как мы уже отмечали выше, несмотря на то, что злоумышленники используют различные языки программирования, преследуемые ими цели не подверглись изменению. Два проанализированных нами загрузчика были размещены на португальском сервисе хранения данных. Однако, нами был обнаружен и еще один загрузчик, который был размещен на другом облачном сервисе. Этот последний загрузчик был написан на Visual Basic Script.
Все эти угрозы используют один и тот же метод распространения — мошеннические электронные письма, которые маскируются под легитимные письма, отправленные банками. После получения в свое распоряжение этого .vbs файла, мы видим, что он подвергнут обфускации.
Основная функция скрипта представлена в формате шестнадцатеричной кодировки и зашифрована с использованием операции XOR. Мы восстановили оригинальный вид этого Visual Basic Script кода. Он специализируется на загрузке архива, который снабжен паролем. Этот архив распаковывается другим скачиваемым скриптом приложением под названием 7za.exe. Это приложение не является вредоносным, а просто используется для извлечения исполняемого файла из загруженного .zip архива. После извлечения исполняемого файла, он запускается на исполнение.
Комментарий на португальском «link do seu do modulo» в фрагменте исходного кода можно перевести как «ссылка на ваш модуль». Этот комментарий наводит нас на мысль о том, что скрипт был создан с помощью специального генератора скриптов или о том, что код был скопирован из другого источника.
Извлекаемый и запускаемый на исполнение вредоносным скриптом файл обнаруживается AV-продуктами ESET как Win32/Packed.Autoit.R. Таким образом, мы можем увидеть разнообразие языков программирования, которые используются злоумышленниками. Этот Autoit скрипт загружает в память код банковского трояна. Сам процесс трояна запускается в режиме suspend и его образ заменяется в памяти вредоносной программой, после чего исполнение кода продолжается (эта техника известна под названием RunPE).
Внедряемый в память процесса исполняемый файл обнаруживается AV-продуктами ESET как Win32/Spy.Banker.ACSJ и представляет из себя банковский троян, написанный на Delphi (это мы обычно наблюдаем в Бразилии). В его теле также находятся зашифрованные строки, для чего используется собственный алгоритм расшифровки как в случае ранее указанного нами трояна, устанавливаемого загрузчиком на JavaScript.
Мы не будем обсуждать детали реализации этого банковского трояна, однако, укажем, что он не использует вышеуказанный метод DDE, как это делает троян, который устанавливается даунлоадером JavaScript. Вместо этого, он импортирует функции из библиотеки oleaut32.dll, что позволяет реализовать автоматическое выполнение вредоносных задач, когда он обнаруживает посещение жертвой определенных банковских веб-сайтов с использованием веб-браузера Internet Explorer. Когда жертва просматривает один из таких веб-сайтов, банковский троян загружает фальшивую форму с изображениями, которые очень похожи на используемые на веб-страницах легитимных сайтов, с целью получения учетных данных аккаунта онлайн-банкинга.
Нам удалось связать указанные выше угрозы, разработанные на нескольких языках программирования или платформах, с одной и той же кампанией. Остается только удивляться, как много различных методов и ресурсов киберпреступники используют для распространения своих угроз в Бразилии. Несмотря на то, что последней стадией этих атак является установка банковского трояна, написанного на Delphi, мы также наблюдаем обновление кода этого трояна. Такое обновление позволяет киберпреступникам своевременно преодолевать новые функции защиты бразильских банков.
Индикаторы компрометации (IoC)
SHA-1: 8ceaae91d20c9d1aa1fbd579fcfda6ecfdef8070
Название файла: Boleto_NFe_1405201421.PDF.js
Название обнаружения: VBS/Obfuscated.G
SHA-1: 016bd00717c69f85f003cbffb4ebc240189893ad
Название файла: flashplayer.exe
Название обнаружения: Win32/TrojanDownloader.Banload.XGT
SHA-1: c4c4f2a12ed69b95520e5d824854d12c8c4f80ab
Название файла: Edge.exe
Название обнаружения: Win32/Spy.KeyLogger.NDW
SHA-1: 2c8385fbe7c4a57345bf72205a7c963f9f781900
Название файла: Imprimir_Debitos9874414541555.jar
Название обнаружения: Java/TrojanDownloader.Banload.AK
SHA-1: 363f04edd57087f9916bdbf502a2e8f1874f292c
Название файла: Atualizacao_de_Boleto_Vencido_10155455096293504.jar
Название обнаружения: Java/TrojanDownloader.Banload.AK
SHA-1: 8b50c2b5bb4fad5a0049610efc980296af43ddcd
Название файла: LU 1.jar
Название обнаружения: Java/TrojanDownloader.Banload.AK
SHA-1: d588a69a231aeb695bbc8ebc4285ca0490963685
Название файла: Comprovante Deposito-Acordo N7656576l (3) (4) (4).vbs
Название обнаружения: VBS/TrojanDownloader.Agent.OGG
SHA-1: dde2af50498d30844f151b76cb6e39fc936534a7
Название файла: 7b0gct262q.exe
Название обнаружения: Win32/Packed.Autoit.R
SHA-1: 256ad491d9d011c7d51105da77bf57e55c47f977
Название обнаружения: Win32/Spy.Banker.ACSJ
Таким образом видно, что вредоносные файлы скриптов стали весьма популярны у злоумышленников в данном регионе. В этом посте мы рассмотрим несколько вредоносных скриптов, а также механизмы их работы. Подобные скрипты также используются злоумышленниками как загрузчики, но предоставляют злоумышленникам более гибкую схему распространения, поскольку могут просто интегрироваться в веб-страницы.
Если посмотреть на статистику распространения вредоносного ПО в Бразилии за первые пять месяцев 2016 г., мы увидим среди них вредоносные обфусцированные скрипты с общим (generic) типом обнаружения. Несмотря на то, что загружаемая ими полезная нагрузка может изменяться, мы увидим, что существует связь между обнаружениями подобного типа и банковскими троянами. Отметим, что прочие вредоносные программы из таблицы самых распространенных угроз Бразилии написаны на разнообразных языках программирования.
Специалисты нашей антивирусной лаборатории в Латинской Америке наблюдали использование легитимного сервиса MEO cloud service для размещения файлов вредоносных программ. В большинстве случаев они представляли из себя банковские троянские программы. В качестве вектора распространения были выбраны фишинговые электронные письма, в которых содержалась ссылка на загрузку вредоносной программы.
В качестве примера для рассмотрения возьмем вредоносный скрипт с названием Boleto_NFe_1405201421.PDF.js, который обнаруживается антивирусными продуктами ESET как VBS/Obfuscated.G.
Несмотря на то, что код скрипта обфусцирован, используемый для этого метод достаточно прост. Даже без расшифровки мы можем увидеть, что замаскированный под изображение файл загружается по указанному URL в директорию ProgramData с названием flashplayer.exe, а затем исполняется.
В свою очередь, файл flashplayer.exe представляет из себя загрузчик банковского трояна, который загружает и запускает на исполнение третий файл с названием Edge.exe. Этот третий файл обнаруживается нашими AV-продуктами как Win32/Spy.KeyLogger.NDW; несмотря на название этого обнаружения, кроме фиксирования нажатия клавиш, он также содержит в себе функции банковского трояна. Среди множества его функций, он также получает адреса посещаемых пользователем веб-сайтов и проверяет их со своим списком веб-сайтов онлайн-банкинга с использованием механизма Dynamic Data Exchange (DDE). Ранее мы уже фиксировали использование подобного метода троянами в предыдущих кампаниях. Отличие этого случая от предыдущих заключается в том, что в этот раз троян нацелен на компрометацию разнообразных веб-браузеров.
Строки в файле зашифрованы с использованием алгоритма, основанного на простой операции XOR. Некоторые из этих строк указаны ниже на рисунке. Из них видно, что троян специализируется на краже учетных данных бразильских сайтов онлайн-банкинга.
Статистика угроз выше показывает, что злоумышленники в Бразилии стали переключаться на новые платформы и языки программирования в попытке избежать обнаружения своего вредоносного кода со стороны антивирусных продуктов. Тем не менее, цели злоумышленников не стали другими и кража информации онлайн-банкинга по прежнему является наиболее выгодной формой атаки и, следовательно, наиболее распространенной.
Легитимные облачные сервисы хранения данных также использовались злоумышленниками для размещения вредоносного ПО на JavaScript, которое входит в рейтинг десяти наиболее активных угроз в Бразилии. В частности, мы обнаружили там множество вредоносных файлов, которые обнаруживаются AV-продуктами ESET как Java/TrojanDownloader.Banload.AK.
Эти файлы относятся к типу .jar с названиями типа Boleto_Cobranca, Pedido_Atualizacao, или Imprimir_Debitos. После декомпиляции кода, мы получаем его в обфусцированном виде с очень длинными названиями переменных и методов.
Несмотря на обфускацию, мы можем увидеть несколько названий импортируемых функций в файле. Последние пять импортируемых классов относятся к операциям шифрования, так как они используют симметричный алгоритм DES. Таким образом, если мы сможем определить используемые там методы расшифровки, а также заменить названия методов и переменных на более понятные, мы получим следующий код как на рисунке ниже.
Используемый для дешифрования строк ключ представляет из себя название класса Java. Поэтому, если мы адаптируем для себя код метода main вредоносной программы, мы сможем расшифровать строки в ее теле. Мы можем разобрать основной класс для поиска этих строк и дальше передать их нашему модифицированному коду для выполнения процесса расшифровки. Ниже представлены расшифрованные строки и их зашифрованные аналоги.
Мы подчеркнули на скриншоте выше IP-адрес сервера, по которому вредоносная программа связывается с ним. Обратите внимание, что адрес удаленного C&C-сервера изменяется в различных образцах вредоносной программы, которые мы проанализировали. Далее создается файл на Visual Basic Script, который исполняется интерпретатором cscript.exe.
Стоит отметить, что проанализированные нами файлы вредоносного ПО содержали больше возможностей, которые можно было определить по названиям импортируемых классов. Одной из наиболее интересных особенностей вредоносной программы является возможность обнаружения виртуализируемого окружения. В случае обнаружения такого окружения, исполнение вредоносного кода прекращается. Некоторые другие импортируемые функции специализируются на загрузке файлов из интернета, которые также можно увидеть в остальной части импортов.
Как мы уже отмечали выше, несмотря на то, что злоумышленники используют различные языки программирования, преследуемые ими цели не подверглись изменению. Два проанализированных нами загрузчика были размещены на португальском сервисе хранения данных. Однако, нами был обнаружен и еще один загрузчик, который был размещен на другом облачном сервисе. Этот последний загрузчик был написан на Visual Basic Script.
Все эти угрозы используют один и тот же метод распространения — мошеннические электронные письма, которые маскируются под легитимные письма, отправленные банками. После получения в свое распоряжение этого .vbs файла, мы видим, что он подвергнут обфускации.
Основная функция скрипта представлена в формате шестнадцатеричной кодировки и зашифрована с использованием операции XOR. Мы восстановили оригинальный вид этого Visual Basic Script кода. Он специализируется на загрузке архива, который снабжен паролем. Этот архив распаковывается другим скачиваемым скриптом приложением под названием 7za.exe. Это приложение не является вредоносным, а просто используется для извлечения исполняемого файла из загруженного .zip архива. После извлечения исполняемого файла, он запускается на исполнение.
Комментарий на португальском «link do seu do modulo» в фрагменте исходного кода можно перевести как «ссылка на ваш модуль». Этот комментарий наводит нас на мысль о том, что скрипт был создан с помощью специального генератора скриптов или о том, что код был скопирован из другого источника.
Извлекаемый и запускаемый на исполнение вредоносным скриптом файл обнаруживается AV-продуктами ESET как Win32/Packed.Autoit.R. Таким образом, мы можем увидеть разнообразие языков программирования, которые используются злоумышленниками. Этот Autoit скрипт загружает в память код банковского трояна. Сам процесс трояна запускается в режиме suspend и его образ заменяется в памяти вредоносной программой, после чего исполнение кода продолжается (эта техника известна под названием RunPE).
Внедряемый в память процесса исполняемый файл обнаруживается AV-продуктами ESET как Win32/Spy.Banker.ACSJ и представляет из себя банковский троян, написанный на Delphi (это мы обычно наблюдаем в Бразилии). В его теле также находятся зашифрованные строки, для чего используется собственный алгоритм расшифровки как в случае ранее указанного нами трояна, устанавливаемого загрузчиком на JavaScript.
Мы не будем обсуждать детали реализации этого банковского трояна, однако, укажем, что он не использует вышеуказанный метод DDE, как это делает троян, который устанавливается даунлоадером JavaScript. Вместо этого, он импортирует функции из библиотеки oleaut32.dll, что позволяет реализовать автоматическое выполнение вредоносных задач, когда он обнаруживает посещение жертвой определенных банковских веб-сайтов с использованием веб-браузера Internet Explorer. Когда жертва просматривает один из таких веб-сайтов, банковский троян загружает фальшивую форму с изображениями, которые очень похожи на используемые на веб-страницах легитимных сайтов, с целью получения учетных данных аккаунта онлайн-банкинга.
Нам удалось связать указанные выше угрозы, разработанные на нескольких языках программирования или платформах, с одной и той же кампанией. Остается только удивляться, как много различных методов и ресурсов киберпреступники используют для распространения своих угроз в Бразилии. Несмотря на то, что последней стадией этих атак является установка банковского трояна, написанного на Delphi, мы также наблюдаем обновление кода этого трояна. Такое обновление позволяет киберпреступникам своевременно преодолевать новые функции защиты бразильских банков.
Индикаторы компрометации (IoC)
SHA-1: 8ceaae91d20c9d1aa1fbd579fcfda6ecfdef8070
Название файла: Boleto_NFe_1405201421.PDF.js
Название обнаружения: VBS/Obfuscated.G
SHA-1: 016bd00717c69f85f003cbffb4ebc240189893ad
Название файла: flashplayer.exe
Название обнаружения: Win32/TrojanDownloader.Banload.XGT
SHA-1: c4c4f2a12ed69b95520e5d824854d12c8c4f80ab
Название файла: Edge.exe
Название обнаружения: Win32/Spy.KeyLogger.NDW
SHA-1: 2c8385fbe7c4a57345bf72205a7c963f9f781900
Название файла: Imprimir_Debitos9874414541555.jar
Название обнаружения: Java/TrojanDownloader.Banload.AK
SHA-1: 363f04edd57087f9916bdbf502a2e8f1874f292c
Название файла: Atualizacao_de_Boleto_Vencido_10155455096293504.jar
Название обнаружения: Java/TrojanDownloader.Banload.AK
SHA-1: 8b50c2b5bb4fad5a0049610efc980296af43ddcd
Название файла: LU 1.jar
Название обнаружения: Java/TrojanDownloader.Banload.AK
SHA-1: d588a69a231aeb695bbc8ebc4285ca0490963685
Название файла: Comprovante Deposito-Acordo N7656576l (3) (4) (4).vbs
Название обнаружения: VBS/TrojanDownloader.Agent.OGG
SHA-1: dde2af50498d30844f151b76cb6e39fc936534a7
Название файла: 7b0gct262q.exe
Название обнаружения: Win32/Packed.Autoit.R
SHA-1: 256ad491d9d011c7d51105da77bf57e55c47f977
Название обнаружения: Win32/Spy.Banker.ACSJ
Поделиться с друзьями
lostpassword
Спасибо за статью, интересно было почитать.
А какие именно механизмы обнаружения виртуального окружения используют рассматриваемый троянец?