Универсальный и заразный: Win64 / Expiro - кроссплатформенный файловый заражатель

  1. Инфектор Win64 / Expiro
  2. Win64 / Expiro полезная нагрузка
  3. Последствия Win64 / Expiro

Недавно наша антивирусная лаборатория обнаружила новую интересную модификацию файлового вируса, известную как Expiro, которая предназначена для заражения 64-битными файлами. Файловые вирусы хорошо известны и всесторонне изучались на протяжении многих лет, но вредоносный код этого типа почти всегда был нацелен на модификацию 32-битных файлов. Одно из таких семейств файловых вирусов, называемое

Недавно наша антивирусная лаборатория обнаружила новую интересную модификацию файлового вируса, известную как Expiro, которая предназначена для заражения 64-битными файлами. Файловые вирусы хорошо известны и всесторонне изучались на протяжении многих лет, но вредоносный код этого типа почти всегда был нацелен на модификацию 32-битных файлов. Одно из таких семейств файловых вирусов, называемое Expiro (Xpiro), было обнаружено давно, и не удивительно видеть его сегодня. Тем не менее, тело этой универсальной новой модификации удивительно, потому что она полностью кроссплатформенная, способная заражать 32-битные и 64-битные файлы (также 64-битные файлы могут быть заражены зараженным 32-битным файлом). Согласно нашей системе именования вирус называется Win64 / Expiro.A (он же W64.Xpiro или W64 / Expiro-A). В случае зараженных 32-битных файлов эта модификация определяется как Win32 / Expiro.NBF.

Вирус нацелен на получение максимальной прибыли и заражает исполняемые файлы на локальных, сменных и сетевых дисках. Что касается полезной нагрузки, это вредоносное ПО устанавливает расширения для браузеров Google Chrome и Mozilla Firefox. Вредоносное ПО также крадет хранимые сертификаты и пароли из Internet Explorer, Microsoft Outlook и FTP-клиента FileZilla. Расширения браузера используются для перенаправления пользователя на вредоносный URL-адрес, а также для перехвата конфиденциальной информации, такой как учетные данные учетной записи или информация об интернет-банке. Вирус отключает некоторые службы на скомпрометированном компьютере, включая Защитник Windows и Центр безопасности (Центр безопасности Windows), а также может завершать процессы. Наши коллеги из Symantec также имеют написано о самая последняя модификация Expiro. TrendMicro также сообщается атакует с помощью этого вируса.

Инфектор Win64 / Expiro

Тело вируса в 64-битном зараженном файле добавляется в конец нового раздела исполняемого файла с именем .vmp0 размером 512 000 байт (на диске). Чтобы передать управление основному корпусу (.vmp0), вирус вводит 1269 байт вредоносного кода запуска вместо точки входа. Перед изменением кода точки входа вирус копирует исходные байты в начало раздела .vmp0. Этот код запуска выполняет распаковку кода вируса в раздел .vmp0. На снимке экрана ниже мы показываем шаблон кода запуска, который будет записан во время заражения в точку входа 64-битного файла.

В процессе заражения вирус подготовит этот код запуска для вставки в указанный файл, и некоторые из этих инструкций будут перезаписаны, что обеспечит уникальность содержимого раздела .vmp0 (полиморфизм). В этом случае могут быть изменены следующие типы инструкций: add , mov или lea (Load Effective Address), инструкции, которые включают прямые смещения (немедленные). В конце кода вирус добавляет инструкцию перехода, которая приводит к распаковке кода в раздел .vmp0. На приведенном ниже снимке экрана показан шаблон кода запуска (слева) и код запуска, который был записан в зараженный файл (справа).

Аналогичный код запуска для 32-битных файлов также находится в разделе Аналогичный код запуска для 32-битных файлов также находится в разделе .vmp0, как показано ниже.

vmp0, как показано ниже

Этот код в дизассемблере x32 выглядит как обычный код (зараженный файл).

Этот код в дизассемблере x32 выглядит как обычный код (зараженный файл)

Размер кода запуска в случае 64-битного файла равен 1269 байтам, а для файла x32 - 711 байт.

Вирус заражает исполняемые файлы, рекурсивно проходя через каталоги, заражая исполняемый файл, создавая специальный файл .vir, в котором вредоносный код создает новое содержимое файла, а затем записывает его в указанный файл блоками по 64 КБ. Если вирус не может открыть файл с доступом для чтения / записи, он пытается изменить дескриптор безопасности файла и информацию о его владельце.

Вирус также заражает подписанные исполняемые файлы. После заражения файлы больше не подписываются, так как вирус записывает свое тело после последнего раздела, где находится наложение с цифровой подписью. Кроме того, вирус корректирует значение поля Security Directory в каталоге данных, устанавливая для полей RVA и Size значение 0. Соответственно, такой файл также может впоследствии выполняться без ссылки на какую-либо информацию о цифровых подписях. На рисунке ниже показаны различия между оригинальным / немодифицированным и зараженным 64-битным файлом, где оригинал снабжен цифровой подписью. Слева, в модифицированной версии, мы видим, что место, где ранее находился оверлей, теперь является началом раздела .vmp0.

vmp0

С точки зрения завершения процесса Expiro не является инновационным и использует подход, основанный на извлечении списка процессов, использовании API CreateToolhelp32Snapshot и последующем завершении через OpenProcess / TerminateProcess . Expiro предназначен для завершения следующих процессов: «MSASCui.exe», «msseces.exe» и «Tcpview.exe».

exe»

При первой установке в системе Expiro создает два мьютекса с именем «gazavat».

При первой установке в системе Expiro создает два мьютекса с именем «gazavat»

Кроме того, наличие процесса заражения может быть идентифицировано в системе по большому количеству операций ввода-вывода и большим объемам считываемых / записываемых байтов. Поскольку вирусу необходимо просмотреть все файлы в системе, процесс заражения может занять много времени, что также является признаком наличия подозрительного кода в системе. Снимок экрана ниже показывает статистику, связанную с процессом заражения на работе.

Вирусный код использует обфускацию при передаче смещений и других переменных в API Вирусный код использует обфускацию при передаче смещений и других переменных в API. Например, следующий код использует арифметическое запутывание при передаче аргумента SERVICE_CONTROL_STOP (0x1) в advapi32! ControlService , используя его для отключения службы.

С помощью этого кода Expiro пытается отключить следующие службы: wscsvc (центр безопасности Windows), windefend (служба защитника Windows), MsMpSvc (служба защиты от вредоносных программ Microsoft, часть Microsoft Security Essentials) и NisSrv (служба проверки сети, используемая MSE).

Win64 / Expiro полезная нагрузка

В качестве полезной нагрузки вирус устанавливает расширение для браузера Google Chrome и Mozilla Firefox. Файл манифеста для установленного расширения Chrome выглядит следующим образом:

В каталоге расширений Chrome каталог с вредоносным содержимым будет называться dlddmedljhmbgdhapibnagaanenmajcm. Вредоносное расширение для своей работы использует два сценария JavaScript: background.js и content.js. После деобфускации шаблон кода background.js выглядит следующим образом.

Переменная HID используется для хранения строки версии ОС и идентификатора продукта. Переменная SLST используется для хранения списка доменов, которые используются для перенаправления пользователя на вредоносные ресурсы.

Файл манифеста для расширения Firefox выглядит следующим образом:

На скриншоте ниже вы можете увидеть часть кода content.js, который выполняет разбор элементов формы на веб-странице. Такая операция поможет злонамеренному коду извлекать данные, введенные пользователем в формы, и может включать конфиденциальную информацию.

Как бот, вредоносная программа может выполнять следующие действия:

  • изменить URL сервера управления;
  • выполнить команду оболочки - передает ее как параметр в cmd.exe и возвращает результат на сервер;
  • скачать и запустить плагины из интернета;
  • скачать файл из интернета и сохранить его как% commonapddata% \% variable% .exe;
  • реализовать DoS-атаку TCP-потока;
  • перечислите файлы, соответствующие маске \ b * .dll, в папке% commonappdata%, загрузив каждый файл как библиотеку, вызвав из него экспорт «I», и загрузив из него экспорт «B» и «C»;
  • вызывать функции плагина «B» и «C» из загруженного плагина;
  • запустить прокси-сервер (SOCKS, HTTP);
  • установить переадресацию портов для TCP на локальный маршрутизатор (SOAP).

Expiro пытается украсть учетные данные FTP из инструмента FileZilla, загружая информацию из% appdata% \ FileZilla \ sitemanager.xml. На Internet Explorer также влияет Expiro, который использует COM-объект для контроля и кражи данных. Если на загруженной веб-странице присутствует форма кредитной карты, вредоносная программа попытается украсть данные с нее. Вредоносный код проверяет входные данные формы на соответствие формату номера карты «VISA» / «MasterCard» и показывает поддельное окно с сообщением:

«Невозможно авторизоваться. \ N% s Процессинговый центр не может авторизовать вашу карту% s. \ NВнесите исправления и попробуйте снова».

Эта вредоносная программа также может похищать хранимые сертификаты с соответствующими закрытыми ключами (хранилище сертификатов «MY»).

Последствия Win64 / Expiro

Заражение исполняемых файлов - очень эффективный вектор распространения вредоносного кода.

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

С точки зрения доставки полезной нагрузки файловый заражатель также является привлекательным вариантом для киберпреступности, поскольку вирусный вредоносный код может распространяться очень быстро. И, конечно же, кросс-платформенный механизм заражения делает круг потенциальных жертв почти универсальным.

Большая шляпная подсказка Мирославу Бабису для дополнительного анализа этой угрозы.

Артем Баранов, исследователь вредоносных программ ESET Россия

Хэши SHA1 для анализируемых образцов:

Win64 / Expiro. A - 469fcc15b70cae06f245cec8fcbf50f7c55dcc4b

Win32 / Expiro. NBF - 9818d4079b9cb6b8a3208edae0ac7ad61a85d178

Похожие

GPD MicroPC - карманный ноутбук для специалистов
Хотя GPD является относительно небольшим производителем, многие энтузиасты уже слышали о них. Во-первых, GPD WIN объединяет размеры портативной консоли с возможностями компьютера, а затем GPD Pocket, тонкий ноутбук с возможностью хранения в кармане. Теперь пришло время для другого ноутбука, но нацеленного