Практика анализа вредоносного ПО AsyncRAT с использованием Chatgpt

Узнайте, как ChatGPT может помочь в анализе вредоносного ПО, в частности трояна удаленного доступа (RAT) AsyncRAT, и подробно рассмотрите возможности ChatGPT, чтобы обсудить, как он может помочь в выявлении индикаторов угроз путем анализа сетевого трафика и обнаружения инфраструктуры командования и управления (C2).

Поскольку киберугрозы продолжают развиваться и становятся все более изощренными, исследователям и специалистам в области безопасности крайне важно оставаться на шаг впереди. В этой статье мы рассмотрим, как ChatGPT помогает в анализе вредоносных программ, в частности трояна удаленного доступа (RAT) AsyncRAT, и углубимся в возможности ChatGPT, обсудив, как он может помочь в идентификации путем анализа сетевого трафика и выявления команд и контроля (C2). ) Инфраструктура Индикаторы угроз. Но прежде чем продолжить, краткое введение в ChatGPT.

ChatGPT принадлежит и управляетсяИИ(ИИПрототип, запущенный OpenAI в ноябре 2022 года, предназначен для ответов на длинные и сложные вопросы. ChatGPT революционен тем, что его обучают понимать смысл вопросов. В результате выдаваемые ответы очень похожи на человеческие. Пока неясно, будет ли ChatGPT поддерживать или создавать проблемы в борьбе с киберпреступностью, но сейчас давайте сосредоточимся на ChatGPT и егоАнализ вредоносного ПОСпособности.

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

Давайте начнем!

Чтобы понять возможности и функциональность ChatGPT, мы начали анализировать AsyncRAT. Нам любопытно, как эта передовая технология искусственного интеллекта может помочь раскрыть внутреннюю работу этого вредоносного ПО и потенциально помочь в выявлении индикаторов угроз путем анализа сетевого трафика и выявления инфраструктуры управления и контроля (C2).

В результате нашего исследования мы обнаружили следующий фрагмент кода, который действует как загрузчик этапа 1 для AsyncRAT и содержит обширную обфускацию и строку в кодировке Base64. Код написан на Python и использует библиотеку CLR для взаимодействия с .NET Framework для загрузки и запуска сборки в кодировке Base64.

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

Практика анализа вредоносного ПО AsyncRAT с использованием Chatgpt

Здесь мы решили использовать этот код в качестве входных данных для ChatGPT и рассмотреть его поближе.

Практика анализа вредоносного ПО AsyncRAT с использованием Chatgpt

Практика анализа вредоносного ПО AsyncRAT с использованием Chatgpt

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

Практика анализа вредоносного ПО AsyncRAT с использованием Chatgpt

Практика анализа вредоносного ПО AsyncRAT с использованием Chatgpt

Вот почему мы используем Cyberchef для декодирования строки base64, которая оказывается скриптом Python загрузчика второго этапа.

Практика анализа вредоносного ПО AsyncRAT с использованием Chatgpt

Практика анализа вредоносного ПО AsyncRAT с использованием Chatgpt

Давайте снова используем этот код в качестве входных данных для ChatGPT и посмотрим, что он мне скажет:

Практика анализа вредоносного ПО AsyncRAT с использованием Chatgpt

Опять же, у нас есть длинная строка в кодировке Base64, которую нам нужно декодировать с помощью Cyberchef.

Практика анализа вредоносного ПО AsyncRAT с использованием Chatgpt

Эта строка оказалась PE-файлом. Мы не можем передавать PE-файлы в ChatGPT, поэтому с точки зрения анализа PE-файлов это бесполезно. Но мы решили продолжить просмотр содержимого PE-файла.

Практика анализа вредоносного ПО AsyncRAT с использованием Chatgpt

Мы будем использовать Dnspy для декомпиляции этого двоичного файла.

Практика анализа вредоносного ПО AsyncRAT с использованием Chatgpt

 

Как видите, выходные данные функции декодирования base64 передаются в качестве входных данных функции декомпрессии.

Практика анализа вредоносного ПО AsyncRAT с использованием Chatgpt

Приведенный выше код представляет собой функцию C#, которая распаковывает массив байтов под названием «gzip». Эта функция создает новый поток с использованием класса GZipStream и передает ему объект MemoryStream, созданный с использованием массива байтов «gzip». Затем используйте GZipStream для чтения сжатых данных частями по 4096 байт и записи их в новый объект MemoryStream. Затем функция использует метод ToArray объекта MemoryStream для возврата распакованных данных в виде массива байтов.

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

Мы снова решили использовать Cyberchef для декодирования,

Практика анализа вредоносного ПО AsyncRAT с использованием Chatgpt

Это снова PE-файл, который на момент анализа представляет собой сборку .NET. Мы используем Dnspy для его анализа.

Практика анализа вредоносного ПО AsyncRAT с использованием Chatgpt

Этот двоичный файл имеет строку в кодировке Base64, но если вы внимательно посмотрите на последнее слово, вы увидите, что строка base64 при декодировании превращается в сценарий PowerShell.

Практика анализа вредоносного ПО AsyncRAT с использованием Chatgpt

Как видите, powershell очень непонятен, поэтому мы решили проверить, сможет ли ChatGPT его декодировать. Ниже приведен результат.

Практика анализа вредоносного ПО AsyncRAT с использованием Chatgpt

Практика анализа вредоносного ПО AsyncRAT с использованием Chatgpt

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

Практика анализа вредоносного ПО AsyncRAT с использованием Chatgpt

В сборке .NET имеется дополнительная строка в кодировке Base64. Сначала он передается функции cipher, параметром которой является ключ шифра.

Практика анализа вредоносного ПО AsyncRAT с использованием Chatgpt

Практика анализа вредоносного ПО AsyncRAT с использованием Chatgpt

Поэтому мы решили посмотреть, в чем логика функции Cipher.

Практика анализа вредоносного ПО AsyncRAT с использованием Chatgpt

Теперь мы решили использовать этот код в качестве входных данных для ChatGPT и попросить его распознать пароль.
Этот результат нас удивил.

Практика анализа вредоносного ПО AsyncRAT с использованием Chatgpt

Мы реализовали ту же логику в Python, чтобы перейти к следующему этапу.
Это результат. Окончательный PE-файл:

Практика анализа вредоносного ПО AsyncRAT с использованием Chatgpt

Это снова файл .NET. При проверке в Dnspy мы получаем вот что.

Практика анализа вредоносного ПО AsyncRAT с использованием Chatgpt

Практика анализа вредоносного ПО AsyncRAT с использованием Chatgpt

Глядя на функции, мы имеем четкое представление о функции этого файла, а именно о его технологии антианализа, функциях реестра и т. д. Нам интересно посмотреть, поймет ли ChatGPT назначение этого кода и определит, какой тип вредоносного ПО он представляет собой.

Практика анализа вредоносного ПО AsyncRAT с использованием Chatgpt

Ключевой функцией в коде является метод «Install», который, судя по всему, отвечает за установку и запуск указанных файлов при запуске.
Объект FileInfo используется для указания файла, который код пытается установить и запустить.
«Process.GetCurrentProcess().MainModule.FileName» и «fileInfo.FullName» используются для проверки того, совпадает ли текущий запущенный процесс с указанным файлом.
Метод «Process.GetProcesses()» используется для получения списка всех запущенных процессов, и код проходит по ним, чтобы остановить любой процесс, который имеет тот же путь к файлу, что и указанный файл.
Метод «Methods.IsAdmin()» используется для проверки наличия у пользователя прав администратора.
Команда «schtasks» используется для создания запланированной задачи для запуска указанного файла при входе в систему (если у пользователя есть права администратора).
Метод "Registry.CurrentUser.OpenSubKey" используется для открытия ключа HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRun. Метод "registryKey.SetValue" используется для установки значения ключа в указанный файл-путь (если у пользователя нет прав администратора).
Метод File.Exists используется для проверки существования указанного файла, а метод File.Delete — для его удаления, если он существует.
Объект FileStream используется для создания нового файла по указанному пути и записи в него содержимого файла текущего процесса.
Выполните метод «Methods.ClientOnExit()».
Метод «Path.GetTempFileName()» используется для создания временного файла .bat, а объект «StreamWriter» используется для записи в него ряда команд.
Метод «Process.Start» используется для запуска файла .bat, а метод «Environment.Exit(0)» — для выхода из текущего процесса.

Из этого кода можно сделать вывод, что код пытается установить и запустить определенный файл при запуске, и, похоже, он предназначен для обеспечения того, чтобы указанный файл запускался при запуске и запускался с правами администратора. Код также пытается удалить исходный файл и создать новый с тем же именем и содержимым, что может указывать на то, что он пытается заменить исходный файл вредоносной версией. Использование таких методов, как проверка наличия у пользователя прав администратора, создание запланированных задач и изменение ключей реестра, указывает на то, что он пытается запустить файл при запуске, когда это возможно. Также существуют различные способы скрыть выполнение файлов, например, создание bat-файла, запуск его в скрытом режиме и последующее удаление bat-файла после выполнения.

Практика анализа вредоносного ПО AsyncRAT с использованием Chatgpt

Он понимает, что код является вредоносным, и правильно идентифицирует его как средство удаленного доступа (RAT).

Благодаря этому обучению мы смогли лучше расшифровать ChatGPT и понять, как он помогает в анализе вредоносного ПО. Хотя ChatGPT продемонстрировал свои базовые возможности, в настоящее время он не может сравниться с анализом вредоносных программ на основе человеческого интеллекта, который является более полным. Мы продолжим следить за ChatGPT и в будущем будем делиться новыми обновлениями, чтобы расширить его возможности и мощность.

Оригинальная статья написана Chief Security Officer, при воспроизведении просьба указывать: https://cncso.com/ru/анализ-асинхронности-с-помощью-chatgpt-html.

Нравиться (58)
Предыдущий 20 марта 2023 пп10:33
Следующий 5 июля 2023 г. дп12:33

связанное предложение