Поддержка
Круглосуточная поддержка

Позвоните

Бесплатно по России:
8-800-333-79-32

ЧаВо | Форум

Ваши запросы

  • Все: -
  • Незакрытые: -
  • Последний: -

Позвоните

Бесплатно по России:
8-800-333-79-32

Свяжитесь с нами Незакрытые запросы: 

Профиль

Профиль

BackDoor.Skeye.1

Добавлен в вирусную базу Dr.Web: 2020-09-24

Описание добавлено:

  • Упаковщик: отсутствует
  • Дата компиляции: 01.04.2019 15:00:46
  • SHA1-хеш: a259db436aa8883cc99af1d59f05f4b1d97c178b

Описание

Бэкдор, написанный на C и работающий в среде 32- и 64-битных операционных систем семейства Microsoft Windows. Используется для целевых атак на информационные системы, удаленного управления компьютером путем перенаправления ввода-вывода командной оболочки на управляющий сервер, сбора информации о зараженном устройстве. Оригинальное имя вредоносного модуля — sk.exe. В коде бэкдора прослеживается связь с образцами семейств Mikroceen и Logtu.

Принцип действия

Имеет одну экспортируемую функцию: DllEntry, следующего вида:

#drweb

При запуске образца как EXE-файла запускается только функция malmain.

#drweb

Бэкдор записывает журнал событий в файл %TEMP%\\wcrypt32.dll с указанием даты и времени сообщения, но вместо читаемого сообщения логируется его код. Ниже в таблице представлена расшифровка кодов сообщений.

code arg msg
40Запуск бэкдора
5код ошибкиОшибка при запуске процесса
10botidОт сервера получен новый botid
160Получены настройки прокси-сервера для текущего пользователя
170Настройки прокси-сервера для текущего пользователя не получены
180Получены настройки прокси-сервера для активного пользователя
190Настройки прокси-сервера для активного пользователя не получены
20код ошибкиПроизошла ошибка при получении SID активного пользователя
32номер попыткиПроизводится попытка проверки доступности сервера
65статус-кодПри запросе команды получен код, отличный от 200
66номер попыткиПопытка запроса команды завершилась неудачей
67статус-кодПопытка проверки доступности сервера завершилась неудачей
680В настройках системы флаг наличия прокси не установлен
70код ошибкиОшибка подключения к управляющему серверу
71код ошибкиОшибка создания запроса
72код ошибкиОшибка отправки запроса
100 + cmdid0Получена команда для выполнения
153код ошибкиОшибка получения статус-кода для отправленного запроса
256номер попыткиПроизводится попытка запроса команды для выполнения

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

#drweb

После этого следует первая проверка на наличие отладочного процесса — бэкдор проверяет BeingDebugged флаг в PEB (Process Environment Block). Если идет отладка, бэкдор завершается.

Далее создает мьютекс test0 или test0_cu в том случае, если запущен не от NT AUTHORITY/SYSTEM. Если указанный мьютекс уже существует, то завершает свою работу.

Читает идентификатор бота из файла %TEMP%\\test0.dat. На основе идентификатора бота инициализируется 8-байтовый ключ шифрования.

#drweb

Далее BackDoor.Skeye.1 входит в цикл работы с управляющим сервером. Перед отправкой запросов в очередной раз проверяет наличие процесса отладки образца. На этот раз с помощью функции NtQueryInformationProcess проверяет ProcessDebugPort, ProcessDebugObjectHandle и ProcessDebugFlags. Если отладчик обнаружен, то завершает свою работу.

В запросах используется строка User-Agent:

Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.2)

При обращении к управляющему серверу сначала отправляется GET-запрос на проверку доступности последнего; в образце зашиты два набора (сервер-порт) адресов управляющих серверов. hxxps://atob.kommesantor.com/?t=%d&&s=%d&&p=%s&&k=%d, где параметр t — идентификатор бота, s — номер сессии, p — строка dut6@bV0, k — результат функции GetTickCount().

Если в ответ пришел код 200, это означает, что соединение с сервером успешно установлено, и бэкдор запрашивает команду для выполнения. Если в ответ пришел код 403, программа пытается повторить запрос, при этом в HTTP-заголовок Host вместо адреса управляющего сервера вписывает www.mail[.]ru. Если и в этом случае получить код 200 не удается, пробует второй зашитый управляющий сервер. В случае повторной неудачи ожидает несколько секунд, после чего предпринимает очередную попытку.

Для запроса команды используется GET-запрос с адресом hxxps://atob.kommesantor.com/?e=%d&&t=%d&&k=%d, где e — ноль, t — идентификатор бота, k — результат функции GetTickCount().

Если в ответ пришел код 200, то в cookie ответа содержится идентификатор команды, которую необходимо выполнить, а данные ответа зашифрованы операцией XOR с 8-байтовым ключом, основанным на идентификаторе бота.

Для отправки результата выполнения команды используется POST-запрос с адресом hxxps://atob.kommesantor.com/?e=%d&&t=%d&&k=%d, где e — идентификатор выполненной команды, t — идентификатор бота, k — результат функции GetTickCount(); результат выполнения запроса передается данными, зашифрованными операцией XOR с 8-байтовым ключом, основанным на идентификаторе бота.

Список команд:

Код команды Действие
1Установить новый botid
16Бездействовать
17Отправить информацию о зараженном устройстве
18Запустить процесс
19Запустить процесс и выслать его вывод
20Запустить командную оболочку с перенаправлением ввода-вывода в пайпы
21Закрыть командную оболочку
22Выслать вывод командной оболочки
23Запустить свой файл с параметром stop
24Завершить свою работу
48Запустить файловый менеджер
64Выслать информацию о дисках
65Выслать листинг каталога
66Удалить файл
67Переместить файл
80Выслать список процессов
81Завершить процесс
85Выслать список служб
86Запустить процесс

В процессе расследования целевой атаки с применением данного бэкдора были найдены следующие серверы:

atob[.]kommesantor[.]com
term[.]internnetionfax[.]com
    
rps[.]news-click[.]net

Все три домена разрешаются в 103.97.124[.]193

Другие модификации бэкдора Skeye

Другой обнаруженный образец бэкдора (0b33a10c0b286c6ffa1d45b261d8a338) детектируется Dr.Web как BackDoor.Skeye.2.

Ключевые отличия данной модификации представлены следующим списком:

  • экспортируемые функции отсутствуют;
  • образец работает как служба, устанавливает или удаляет себя, в зависимости от аргументов, с которыми запущен (install, uninstall, без аргументов).

#drweb

Функция malmain запускается также и из ServiceMain;

  • идентификатор бота читает из файла %TEMP%\Date, но ключ шифрования формирует аналогичным образом;
  • конфигурация (имя мьютекса, адрес сервера, порт, прокси) зашифрована операцией XOR с ключом 0xB7. Адрес управляющего сервера — www2.morgoclass[.]com, порт 443;

    #drweb

  • протокол взаимодействия с управляющим сервером бинарный. Подключение происходит через TCP-сокет. После подключения к серверу бэкдор отправляет 8-байтовый пакет: первые 4 байта — идентификатор бота, вторые 4 байта — нули. Получение ответа от сервера выполняется в 2 этапа: сперва происходит получение пакета с длиной данных (заголовка), затем — прием и расшифровка самих данных. Структура заголовка выглядит следующим образом:
    struct packet_header
          {
              BYTE marker;
              DWORD cmd_id;
              DWORD size;
          }
          

При этом поле marker должно быть равно 0xFF. Отправка данных на сервер выполняется одним вызовом send с аналогичным заголовком;

  • в этом образце представлены не все команды, описанные в первом образце (a259db436aa8883cc99af1d59f05f4b1d97c178b). Отсутствуют команды 80, 81, 85, 86;
  • присутствуют отличия в кодах сообщений журнала событий. Отсутствуют коды 10, 65-68, 70-72.

Коды сообщений журнала событий представлены в таблице.

Код сообщения Код Описание
0argcЗаписывается в начале main
20Бэкдор запущен с командой install (установка службы)
30Бэкдор запущен с командой uninstall (удаление службы)
90Произошло необрабатываемое исключение, будет выполнен перезапуск программы

#drweb

210Успешное подключение через прокси-сервер
220Не удалось подключиться через прокси (не получены адреса из реестра или SID активного пользователя)
23код ошибкиОшибка на этапе соединения с прокси-сервером
24код ошибкиНе удалось подключиться к управляющему серверу напрямую
25код ошибкиНе удалось отправить пакет на управляющий сервер
26код ошибкиНе получен ответ от управляющего сервера
48id командыПолученная команда. Записывается в журнал 2 раза подряд

#drweb

2570Не удалось установить соединение с управляющим сервером
2580Не удалось отправить начальный пакет (идентификатор бота)
cmd_id+100000Идентификатор команды + 10000. Записывается сразу после получения и расшифровки команды

Примечательно, что в двух образцах используются разные наборы кодов для логирования соединения с управляющим сервером. В первом это коды 70-72, при том, что подключение к серверу выполняется через HTTP; во втором это коды 24-26, подключение выполняется через сокет.

Рекомендации по лечению

  1. В случае если операционная система способна загрузиться (в штатном режиме или режиме защиты от сбоев), скачайте лечащую утилиту Dr.Web CureIt! и выполните с ее помощью полную проверку вашего компьютера, а также используемых вами переносных носителей информации.
  2. Если загрузка операционной системы невозможна, измените настройки BIOS вашего компьютера, чтобы обеспечить возможность загрузки ПК с компакт-диска или USB-накопителя. Скачайте образ аварийного диска восстановления системы Dr.Web® LiveDisk или утилиту записи Dr.Web® LiveDisk на USB-накопитель, подготовьте соответствующий носитель. Загрузив компьютер с использованием данного носителя, выполните его полную проверку и лечение обнаруженных угроз.
Скачать Dr.Web

По серийному номеру

Выполните полную проверку системы с использованием Антивируса Dr.Web Light для macOS. Данный продукт можно загрузить с официального сайта Apple App Store.

На загруженной ОС выполните полную проверку всех дисковых разделов с использованием продукта Антивирус Dr.Web для Linux.

Скачать Dr.Web

По серийному номеру

  1. Если мобильное устройство функционирует в штатном режиме, загрузите и установите на него бесплатный антивирусный продукт Dr.Web для Android Light. Выполните полную проверку системы и используйте рекомендации по нейтрализации обнаруженных угроз.
  2. Если мобильное устройство заблокировано троянцем-вымогателем семейства Android.Locker (на экране отображается обвинение в нарушении закона, требование выплаты определенной денежной суммы или иное сообщение, мешающее нормальной работе с устройством), выполните следующие действия:
    • загрузите свой смартфон или планшет в безопасном режиме (в зависимости от версии операционной системы и особенностей конкретного мобильного устройства эта процедура может быть выполнена различными способами; обратитесь за уточнением к инструкции, поставляемой вместе с приобретенным аппаратом, или напрямую к его производителю);
    • после активации безопасного режима установите на зараженное устройство бесплатный антивирусный продукт Dr.Web для Android Light и произведите полную проверку системы, выполнив рекомендации по нейтрализации обнаруженных угроз;
    • выключите устройство и включите его в обычном режиме.

Подробнее о Dr.Web для Android

Демо бесплатно на 14 дней

Выдаётся при установке