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

Позвоните

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

ЧаВо | Форум

Ваши запросы

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

Позвоните

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

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

Профиль

Профиль

Trojan.Siggen28.53599

Добавлен в вирусную базу Dr.Web: 2024-05-31

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

  • sha1: 853d6a17f0a1a4035b52699a447eeb4ad1ca6cf7

Описание

Вредоносная программа для ОС Windows, написанная на С++. Основная функциональность трояна заключается в загрузке и управлении модулями, получаемыми от С2-сервера.

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

Троян имеет ряд основных и вспомогательных структур, которые инициализируются при запуске и сохраняются как указатели в глобальных переменных.

Основные структуры:

Работа с WinAPI

Троян опосредованно работает с системными функциями WinAPI через структуру-обертку, содержащую таблицу с функциями, указатели на библиотеки, адреса загрузки библиотек и флаг, отвечающий за противодействие отладке.

Таблица функций содержит:

  • функции для работы с WinAPI — нахождение указателя на функцию и ее вызова,
  • вспомогательные функции — собственная реализация LoadLibrary и GetProcAddress,
  • конфигурацию входных параметров для ряда функций,

В самом начале выполнения троян инициализирует основную структуру приложения. Для этого он с помощью модифицированного алгоритма CRC32 находит в структуре PEB_LDR_DATA адреса загрузки библиотек. Для получения функций из библиотек троян использует два способа:

  1. Собственная реализация вызовов LoadLibrary и GetProcAddress
    Троян имеет две функции, которые повторяют реализацию LoadLibrary и GetProcAddress. Данный способ применяется в тех случаях, когда требуется доступ к API, содержащемуся в ещё незагруженной в память процесса библиотеке.
  2. Поиск библиотек по хешам в PEB_LDR_DATA
    Троян ищет нужную библиотеку в структуре PEB_LDR_DATA посредством списка InMemoryOrderModuleList, который содержит в том числе указатели на все загруженные в память процесса библиотеки и их имена. При этом совпадение имени библиотеки вычисляется методом сравнения значения хеша модифицированного алгоритма CRC32 с искомым. Далее через таблицу экспортируемых функций библиотеки находится нужная, при этом имена функций хешируются аналогичным способом.

Имена библиотеки и функции считываются с помощью модифицированного алгоритма CRC32.

Структура для журналирования событий

Представляет собой структуру, основное назначение которой — формирование журнала приложения. Журнал содержит как сведения об ошибках, так и сведения о текущем выполняемом этапе.

Структура для сбора системной информации

Основное назначение данной структуры — сбор системной информации для последующей отправки на С2-сервер.

Структура для общения с С2-сервером

Данная структура обеспечивает канал связи для взаимодействия с управляющим сервером. Содержит структуру для работы с библиотекой winhttp.dll и сведения об управляющем сервере: порт, IP-адрес и таблицу маршрутизации.

Структура для работы с модулями и конфигурациями

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

Структура для управления приложением

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

Вспомогательные структуры:

  • структуры для работы с криптографией – SHA-1, SHA-256,
  • структуры для работы со вспомогательными библиотеками: bcrypt.dll, winhttp.dll,
  • структуры, хранящие в себе различные флаги.

Защита от отладки

Также в самом начале инициализируются 3 потока, отвечающие за противодействие отладке.

Проверка отладочных регистров

Троян получает контекст родительского потока и проверяет, чтобы значения отладочных регистров Dr0–Dr7 были равны 0.

Проверка подключенного отладчика

В структуре KUSER_SHARED_DATA троян проверяет первые два бита в поле KdDebuggerEnabled, значение которых должно быть равно 0.

С помощью функции NtQueryInformationProcess троян проверяет наличие отладчика, запрашивая разные параметры структуры PROCESSINFOCLASS: ProcessDebugFlags, ProcessDebugPort, ProcessDebugObjectHandle, ProcessTlsInformation.

Поиск драйверов отладчиков

Выполняет поиск в директории %WINDIR%\System32\drivers на предмет выявления файлов отладочного ПО. Считает хеши имен файлов с помощью модифицированного алгоритма CRC32 и сравнивает результат с хешами из черного списка.

Проверка уникальности трояна в системе

После инициализации троян пытается создать мьютекс, которым является закодированный с помощью Base64 SHA-1 хеш значения строки MachineGuid. При неудачной попытке захватить мьютекс в журнал пишется строчка “Found another agent running. Exiting... ” и выполнение программы завершается.

Проверка ключей и создание хэндшейка

Троян выполняет проверку наличия уже созданного хэндшейка. Она осуществляется путем получения доступа к ключу с помощью функции NCryptOpenKey, при этом поставщиком хранилища ключей CNG является "Microsoft Software Key Storage Provider", а именем ключа — SHA-256-хеш от значения MachineGuid. Если такой ключ отсутствует, то проверяется наличие интернет-соединения: если оно установлено, то начинается создание хэндшейка.

  • Создается копия внутреннего ключа RSA из хранилища ключей CNG "Microsoft Software Key Storage Provider".
  • Происходит получение ключа от сервера.
  • Ключ сохраняется в хранилище с именем, соответствующим SHA-256-хешу значения MachineGuid.

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

Основные функции

Троян выполняет следующие основные функции:

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

Структура модулей и конфигурация

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


Start
Stop
Configure
GetID
GetStatus
SetStatus
GetStarted
GetHandler
Destroy
PushErrorCMR

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

Идентификатор Функция
238 Inject
27 Назначение неизвестно
44 Назначение неизвестно

JSON с конфигурацией модуля


{
  "triggers": [
    {
      "schedule": "",
      "process": "",
      "repetitions": "",
      "sendCmr": {
        "name": "",
        "interval": ""
      }
    }
  ]
}

Результат выполнения модуля

После выполнения задачи модуля формируется ответ:


{
  "CommandModuleResponse": "",
  "requestId": "",
  "moduleId": "",
  "exitCode": "",
  "info": "Error" //если в работе модуля произошла ошибка, иначе данное поле отсутствует
}

Обновление трояна

Во время работы троян проверяет наличие флага обновления своего основного тела. Если данный флаг установлен, троян выполняет ряд системных проверок, по результатам которых выбирается одна из двух стратегий обновления. При выявлении установленного на скомпрометированном ПК антивирусного ПО обновление происходит через загрузку шелл-кодов, в противном случае — с помощью модуля Inject.

Проверка наличия антивирусного ПО

В теле трояна зашит список хешей имен антивирусных программ. В рамках проверки троян получает список процессов и считает хеши запущенных приложений, которые сравниваются со следующим встроенным списком:


•	msmpeng 
•	mssense 
•	avastsvc
•	dwservice
•	avp
•	nortonsecurity
•	coreserviceshell
•	avguard
•	fshoster32
•	vsserv
•	mbam
•	adawareservice
•	avgsvc
•	wrsa

Шелл-код для очистки директории

Входные аргументы:

  • имя директории.

Основные выполняемые действия:

  • поиск в структуре PEB_LDR_DATA адреса библиотеки kernel32.dll,
  • получение из экспорта библиотеки функций для работы шелл-кода, при этом имя библиотеки и имена функций определяются по хешу,
  • формирование пути до директории %LOCALAPPDATA%\EROCS\,
  • перезаписывание нулями и удаление всех файлов в указанной директории,
  • удаление самой директории.

Шелл-код для перезапуска трояна

Основные выполняемые действия:

  • получение списка процессов посредством функции NtQuerySystemInformation (параметр SystemProcessInformation), проверка совпадения значения поля UniqueProcessId значению 0x434F5245,
  • если данное значение не найдено — создание процесса, перезапускающего трояна,
  • удаление ключа HKEY_CURRENT_USER\Software\Uninstall.

Самоудаление

Также троян имеет функцию самоудаления, запускаемую при определенном значении ключа реестра “deadline”, который обновляется при получении новых ответов от С2-сервера и отвечает за время жизни трояна.

Также, если в ходе описанных выше проверок были обнаружены ошибки, троян запускает процедуру самоудаления посредством WinAPI. При этом выполняются следующие действия:

  • удаляется директория хранения трояна,
  • удаляется созданный хендшейк,
  • удаляются ключи реестра, созданные во время работы трояна.

Отправка сообщений на С2-сервер

Для отправки сообщений троян использует следующие User-Agent:


Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:88.0) Gecko/20100101 Firefox/88.0
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:79.0) Gecko/20100101 Firefox/79.0
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Safari/537.3
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/53
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.3

Все исходящие и входящие сообщения шифруются с помощью RSA.

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

  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 дней

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