• XSS.stack #1 – первый литературный журнал от юзеров форума

Статья Анализ вредоносных программ для начинающих

timeshout

RAID-массив
Пользователь
Регистрация
29.06.2022
Сообщения
62
Реакции
83
В этом упражнении мы проведем статический и динамический анализ вредоносной программы brbbot.exe, чтобы понять ее поведение.

Tools:

  • File → To see file type
  • md5sum/sha1sum → To generate a hash of sample
  • Strings → To extract strings from sample
  • Pe studio → To see imports/ functions of an executable
  • Virustotal → to check the reputation of hashes and malware attributes.

Код:
file brbbot.exe

1657421287826.png




В этом примере мы генерируем хэш MD5. Это хэш-значение используется для анализа virustotal.

Код:
md5sum brbbot.exe

1657421370455.png



Извлечение струн:

Код:
strings brbbot.exe

1657421425345.png


1657421453583.png




Здесь я использую инструмент PE studio для изучения DLL, загруженных вредоносным ПО, и анализ показал, что brbbot.exe использует следующие DLL

Advapi32.dll - Используется для изменений, связанных с реестром
Wininit.dll - Используется для запроса Интернета
Ws2_32.dll - Используется для создания сокетов и осуществления исходящих соединений.

Приведенный выше анализ DLL подтверждает, что brbbot.exe будет выполнять изменения в реестре и устанавливать HTTP/HTTPS-соединение с сервером C2.


1657421552783.png



PE-Studio предоставляет нам возможность анализа вызовов API, используемых импортированными библиотеками DLL. Эта опция помогает нам получить подробную картину того, какие вызовы API используются и какие изменения происходят в системе.

Например, на скриншоте ниже показано, как brbbot.exe удаляет ключи реестра и изменяет значения в реестре с помощью RegDeleteValueA и RegFlushKey.

1657421620962.png







Virustotal:

1657421660141.png



1657421686513.png


Динамический анализ:

Tools

  • Process Hacker
  • PE Studio
  • Cff Explorer
  • Noriben
  • Wireshark
  • INetSim

Process Hacker:

Инструмент Process Hacker показывает, порождает ли вредоносная программа дочерний процесс во время своего выполнения. Иногда авторы вредоносных программ используют внутренние инструменты Windows, такие как powershell или cmd.exe, для соединения с другими системами или для вызова других процессов. Process Hacker предоставляет нам древовидную структуру, показывающую, создает ли вредоносная программа новый или дочерний процесс.

1657421792465.png


Как видно из снимка экрана, brbbot.exe выполняется под explorer.exe, и мы видим, что brbbot.exe не породил никаких новых процессов во время выполнения.

INet Simulator

Во время выполнения вредоносной программы в системе она может установить сетевое соединение с сервером C2 (Command & Control) для получения дальнейших команд или загрузки данных с зараженного узла. Однако во время анализа вредоносного ПО мы не должны позволять вредоносному ПО подключаться к C2, поэтому мы запускаем сетевой симулятор, который будет отвечать на сетевые запросы вредоносного ПО фиктивным ответом. В этом упражнении мы используем симулятор INet для обработки исходящих запросов на подключение, сделанных при выполнении файла brbbot.exe.

Пример:

Чтобы лучше объяснить работу симулятора INet, я запросил пример веб-сайта в Windows VM через браузер, чтобы увидеть ответ InetSim. INetsim, запущенный в виртуальной машине Ubuntu, отвечал фиктивным ответом в зависимости от протокола.

1657421893007.png


1657421911453.png



Noriben:

Noriben - это скрипт на python, доступный на github. Он поможет нам отслеживать изменения в системе, такие как изменения файловой системы, изменения реестра и новые сетевые соединения. Noriben использует ProcMon для регистрации всех изменений файловой системы, изменений реестра и сетевых соединений во время работы.

Установка:

Скачайте и установите python в системе
Скачайте Noriben с github и перед выполнением добавьте ProcMon в ту же папку.

1657422002083.png




После выполнения вредоносной программы вы можете остановить Noriben, и он автоматически зарегистрирует активность в текстовом файле и экспортирует его в формат .CSV.

Журнал изменений файловой системы Noriben:

1657422041087.png



Журнал изменений в реестре Noriben:

1657422073731.png

Журнал сетевой связи Noriben:

1657422127226.png





Из журналов Noriben мы видим следующие изменения:

brbbot.exe новый файл конфигурации под названием brbconfig.tmp.
Он изменил ключ реестра и установил его в 1 для обхода прокси.
Он устанавливает значения реестра для доступа к интернет-кэшу.
Он инициирует взаимодействие на порту 80 (HTTP-запрос).

Wireshark:

Wireshark используется для захвата пакетов в сети для анализа. Когда мы запускаем brbbot.exe, wireshark перехватывает все исходящие соединения с ВМ Windows.

Примечание: Включите wireshark на ВМ Ubuntu перед запуском вредоносной программы, чтобы мы могли видеть исходящие запросы на подключение вредоносной программы.

1657422188380.png



Наблюдения Wireshark:

Как мы и ожидали, вредоносная программа устанавливает исходящее соединение с C2-сервером [brb.3dults[.]by].
INetsim отвечает на DNS-запрос с IP Ubuntu VM в качестве DNS-ответа.
Windows VM пытается подключиться к C2 IP (в данном случае к IP Ubuntu VM), инициируя рукопожатие TCP.
В реальном мире вредоносное ПО подключилось бы к серверу C2, чтобы загрузить дальнейшие инструкции для выполнения вредоносных действий.


Заключение:

По результатам статического и динамического анализа ниже приведен список поведения вредоносного ПО на виртуальной машине Windows,

Brbbot.exe устанавливает соединения с [brb.3dults[.]by] для разрешения DNS.
ВМ Windows пытается соединиться с сервером C2 185.84.108.232[:]80 для получения дальнейших инструкций. Это отражается в журналах wireshark.
brbbot.exe создает временный файл config на ВМ Windows, который мы обнаружили в журналах Noriben.
Видно, что вредоносная программа вносит изменения в реестр, устанавливая новые значения для получения дальнейшего контроля, такие как обход прокси, доступ к интернет-кэшу, отключение автоматического обнаружения.
На основе вышеприведенного анализа составляется сигнатура обнаружения с использованием собранных IOC, извлеченных строк и сгенерированных хэш-значений. Эта сигнатура может быть использована для сканирования всей сети.







 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх