Извлечение конфигурации QuasarRAT: методика, AES256 и декомпиляция

QuasarRAT — троянец удаленного доступа .NET (RAT), появившийся в 2014 году под именем xRAT и изначально позиционировавшийся как инструмент удаленного администрирования. Его открытая природа и компактность сделали проект привлекательным для модификаций злоумышленниками. Внимание текущего анализа сосредоточено на практическом извлечении зашифрованной конфигурации из двоичных файлов QuasarRAT и создании реплицируемого инструментария для аналитиков.

Ключевые тезисы

  • QuasarRAT распространён в виде .NET-сборок, конфигурация часто хранится непосредственно в бинарнике и зашифрована.
  • Часто используется криптография на основе AES256 с salt и IV, ключи формируются в статическом конструкторе целевого класса.
  • Реалистичный рабочий набор аналитика включает инструменты декомпиляции (dnSpy, ILSpy), библиотеки для работы с PE/ELF, а также окружения типа Jupyter Notebook и Docker для воспроизводимости.
  • Предложенный подход основан на последовательности статического анализа, поиска криптографического материала в коде и применении Python-криптографии для расшифровки строк конфигурации.

Где в бинарнике хранится конфигурация и почему её можно извлечь

В большинстве версий QuasarRAT конфигурация и криптографические примитивы обнаруживаются в пределах одной сборки: статические поля класса инициализируют ключи, salt и IV; затем эти значения используются для шифрования строк конфигурации. Из-за особенностей .NET и упрощённой упаковки многие такие значения остаются доступными после декомпиляции, даже если сборка частично запутана.

Необходимая среда и инструменты

  • Декомпиляторы: dnSpy, ILSpy — для чтения IL-кода и поиска статических конструкторов/инициализаторов полей.
  • Python: среда разработки и библиотеки криптографии (например, cryptography), а также утилиты для работы с бинарными файлами.
  • Библиотеки для PE/ELF: чтобы извлекать разделы и данные из файлов, если это требуется.
  • Jupyter Notebook + Docker: для портативного воспроизведения анализа и автоматизации экстрактора.

Пошаговая методика извлечения конфигурации

Процесс можно разделить на несколько этапов:

  1. Первичный обзор: загрузка образца в dnSpy/ILSpy, поиск классов, относящихся к конфигурации/криптографии.
  2. Определение криптопримитивов: поиск использования классов и методов типа Aes, RijndaelManaged, или явного упоминания AES256. Это даёт понимание алгоритма и режимов шифрования.
  3. Нахождение salt/IV/ключевого материала: анализ статического конструктора (static constructor) и инициализаторов полей для извлечения byte[] или строк, используемых как salt/IV/ключ.
  4. Связывание функций: выявление вызовов криптографических методов и проверка порядка параметров (key, salt, IV, режимы и т. п.).
  5. Реализация экстрактора: написание Python-скрипта, который повторяет алгоритм получения ключа (например, PBKDF2 с указанным salt) и применяет AES-деcryption к зашифрованным строкам, находящимся в бинарнике.
  6. Верификация результатов: проверка расшифрованных значений — настройки подключения (hosts), параметры установки, строки запуска, TLS/сертификаты и т. п.

Особенности реализации

  • Часто ключ AES получают через PBKDF2 или аналогичную KDF с заданным salt — важно точно повторить процедуру (итерации, алгоритм хеша).
  • Параметры IV и порядок чтения инициализаторов полей критичны: неправильный порядок приводит к некорректной расшифровке.
  • В запутанных сборках часть кода может быть обфусцирована; тем не менее, если static constructor записывает константы в поля, их можно восстановить из IL-кода.
  • Для извлечения строк часто достаточно прочитать бинарник и распарсить специализированные ресурсы/секции, если строки не упакованы дополнительно.

Практический пример: ключевые элементы конфигурации

Из незащищённых сборок QuasarRAT обычно удаётся получить следующие параметры:

  • Параметры подключения: список hosts, задержка повторного подключения (reconnect delay).
  • Параметры установки: имя установки, путь, флаги установки в систему (autostart).
  • Функции безопасности: статический AES-ключ (или материалы для его получения), server certificates.
  • Режим работы: automatic mode и прочие флаги поведения RAT.

Ограничения метода

Подход эффективен в большинстве типичных сценариев, но имеет ограничения:

  • Обфускация и packers: если бинарник упакован или сильно обфусцирован (runtime unpacking, code virtualization), извлечение усложняется.
  • Различия в криптографии: некоторые варианты QuasarRAT могут использовать альтернативные шифры или KDF, не учитываемые в базовой реализации экстрактора.
  • Динамически генерируемые ключи/сети: если ключ формируется на основе runtime-данных, статический анализ может быть недостаточен.

Рекомендации для аналитиков

  • Начинайте с декомпиляции: dnSpy и ILSpy дают быстрое представление о структуре сборки.
  • Ищите static constructor и инициализаторы полей — там часто лежит ключевой материал.
  • Используйте Docker + Jupyter Notebook для создания воспроизводимого пайплайна анализа и совместного использования экстрактора.
  • Если бинарник упакован — сначала добейтесь распаковки (runtime или статическими средствами) перед извлечением конфигурации.
  • Документируйте каждый шаг: последовательность чтения полей и параметры криптографии — критичны для корректной расшифровки.

Вывод

Методика извлечения конфигурации QuasarRAT, основанная на комбинированном использовании декомпиляции, анализа статических конструкторов и воспроизведении криптографических операций в Python, показывает устойчивую эффективность для большинства «типичных» образцов. Хотя она не покрывает все возможные варианты (сильная обфускация, нестандартные шифры, упаковка), предложенная структура — декомпиляция → идентификация криптоматериалов → повторение KDF/AES в Python — остаётся надёжным рабочим решением для аналитиков, сталкивающихся с этим RAT.

«Понимание того, где и как QuasarRAT хранит ключи и параметры, позволяет восстановить поведение вредоносного ПО и выявить инфраструктуру злоумышленников» — практический вывод, вытекающий из проведённого анализа.

Отчет получен из сервиса CTT Report Hub. Права на отчет принадлежат его владельцу.

Ознакомиться подробнее с отчетом можно по ссылке.

Технологии киберугроз
Автор: Технологии киберугроз
Технологии киберугроз (бренд RST Cloud Russia) – технологическая компания, специализирующаяся на решениях по анализу угроз для предприятий любого размера. Мы собираем, нормализуем, обогащаем информацию о киберугрозах со всего мира. Нашими источниками являют более 260 открытых фидов, более 100 открытых поставщиков Threat Intelligence-отчетов, открытые online sandbox, социальные сети и репозитории GitHub. Мы также предоставляем ряд сервисов по: семантическом анализу Threat Intelligence-отчетов и приведения их в машиночитаемый формат STIX 2.1, проверки IoC на потенциальные ложноположительные сработки, а также получению WHOIS-записей для доменных имен.
Комментарии: