AveMaria / WARZONE RAT analysis

09.12.2020
by VirLab team

Malicious sample

For reverse engineering analysis, a file with the following content was provided:

  • rfq #20201005-1.exe (SHA256: 622C48A052FBBC1859678EC8A5F604FF9A1A368DF282758E60B766C96C2555FB)

General Description

On 13 October 2020 reported a massive attack on Kazakhstan citizens caused by AveMaria malware. The trojan is used by cybercriminals to remotely access the victim’s computer and obtain sensitive data. AveMaria has many variations with different malicious payload.

The Warzone: Behind the enemy lines article lists the code that we discovered in the analyzed sample. In another article Unmasking AVE_MARIA , the author provides facts stating AveMaria and WARZONE RAT are the same malware.

Antiviruses on VirusTotal identify the sample as AveMaria:

Meanwhile, the sample contains the “warzone160” string:

Given the facts above, one could conclude that AveMaria and WARZONE RAT refer to the same malware.

Warzone RAT is being distributed via the hxxps://warzone.pw as a paid monthly service subscription. The site also contains information on its features and pricing.

Cybercriminals often distribute malware as a disguised legitimate software for remote administration

The features listed on the site:

  • Remote Desktop Connection
  • Written in C ++ and does not require .NET
  • UAC bypass
  • Webcam access
  • Browsers and email clients passwords recovery
  • Files download
  • Keylogger
  • Remote command execution
  • Processes view and termination
  • Proxy server
  • Malicious tasks scheduler
  • Auto update
  • Persistence Capability
  • Windows Defender bypass

There is also a how-to video instruction for the users of the malware: hxxps://www.youtube.com/watch?v=_0i741TkWmw&feature=emb_title

Although the threat was first detected more than a year ago, the binarily repackaged version of AveMaria bypasses static antivirus scanning. In the example below, one of the AveMaria’s sample (repackaged) appears undetected by antiviruses on Virustotal:

However, tLab deep behavioral analysis discovers the sample as malicious.

The tLab system successfully identified the AveMaria original sample as malware, assigning a high threat level based on static and dynamic analysis.

Static analysis result in the tLab system
  • rfq #20201005-1.exe

The object is an EXE file with the following properties

At startup, AveMaria / WARZONE RAT copies itself to the APPDATA folder with the images.exe filename

Detection of a file drop in the tLab system
Malicious software often copies itself or the payload to the APPDATA folder.

In the tLab system, there is the Event Chain, that shows the process tree. The chain of events shows the extraction of the images.exe file. Here, you can see that images.exe connects to the C&C server, launches powershell, and accesses the sensitive file:

tForensics detects a malicious process on the infected system

The created process images.exe

AveMaria / WARZONE RAT is a Trojan that receives commands from the C&C server.

In tLab, you can download the corresponding pcap file.

The pcap file can be imported to Wireshark for further analysis.

C2 connections in Wireshark

General information about the malware in the tLab system

tLab has identified the malicious functionality

AveMaria / WARZONE RAT adds itself to autorun at launch. It uses the standard way to add an entry to the HKCU\Software\Microsoft\WIndows\CurrentVersion\Run. At the beginning, the string with the corresponding registry key is passed to the sub_100035E5 () function for Unicode conversion.

Next, the sub_1001106C function is executed, where changes are made to the registry using the RegCreateKeyExW function

In the tLab’s Detailed report, you can see the addition to autorun

Using tForensics, you can see a new entry in autorun.

Malicious images.exe in autorun

AveMaria / WARZONE RAT changes security settings of Internet Explorer 5.0 and higher, setting the values of MaxConnectionsPer1_0Server and MaxConnectionsPerServer to 10. These values are responsible for the maximum number of connections to the web server. The settings are changed via RegCreateKeyExA and RegSetValueExA functions.

A commonly used code function is to check if the user is elevated The HANDLE of the current process is obtained and the token is obtained by the OpenProcessToken function. Next, the GetTokenInformation function with the TokenElevation parameter checks whether the user has elevated rights:

The current OS version is identified via the RtlGetVersion function which is obtained dynamically.

Malware usually imports callable functions dynamically using LoadLibrary and GetProcAddress. It allows to avoid specifying function names in the import table.

Depending on the version of Windows, the corresponding UAC bypass code is executed.

If the user has Windows 10 installed, the sub_10011AB9 function is executed to bypass UAC.

Inside the function the malware is launched with elevated rights by the sdclt.exe program.

If the Windows version is lower than 10, the function below is executed

The function includes elevation of rights using a PE file with a load in the file resources.

Always check if UAC (User Account Control) is enabled on your system.

One of the main functions of the malware is stealing data from browsers and email clients. Below is the code for obtaining data from the Microsoft Outlook mail client registry hive.

To steal passwords in Firefox browser, AveMaria / WARZONE RAT uses nss3.dll library and its exported functions

Other variants of AveMaria are able to download the NSS library from the GitHub repository, instead of using the one on the user's computer.

To retrieve saved passwords in Internet Explorer 10, exported functions in the vaultcli.dll library are used. This library is used by Windows Credential Manager.

Credential Manager allows you to manage user credentials (login and password) to access network resources, as well as certificates and credentials for various applications (email, web services, etc.).

The VaultGetItem function returns a data structure with a password.1

Чтение файлов IE в системе tLab

Получение данных email клиента Thunderbird. Для начала производится поиск папки Thunderbird с профилями

Далее идет поиск файла logins.json, в котором хранятся логины и пароли пользователя

logins.json содержит поля hostname, encryptedUsername, encryptedPassword c конфиденциальными данными.

Avemaria/WARZONE RAT способен получаться пары логин/пароль со огромного количества браузеров, построенных на схожем движке.

Конфиденциальные данные этих браузеров можно получить запросом к их SQLite базе данных

Получение функций sqlite для работы с базами данных

Расшифровка браузерных паролей функцией CryptUnprotectData. Расшифровка таким способом возможно только на том же компьютере, на котором пароли были сохранены.

AveMaria/WARZONE RAT обладает функционалом кейлоггера. В бесконечном цикле выполняются функции CallNextHookEx и GetAsyncKeyState

Пользовательские нажатия и ввод сохраняются в папку с именем Microsoft Vision, с указанием даты

Создание скрытых пользователей в системе с именами rudp и rpdp, с помощью добавления значений в ветку реестра Winlogon\SpecialAccounts\UserList. Значение Data=0 в качестве параметра функции RegSetValueExW сообщает о создании скрытого пользователя. Скрытые пользователи используются для RDP подключений.

Добавление пути к диску C в исключения Windows Defender, с помощью powershell. Так как AveMaria/WARZONE RAT копирует себя в папку APPDATA, это помогает вредоносному файлу избежать детектирования.

Процесс powershell в системе tLab

В tLab можно выгрузить и посмотреть список системных вызовов, где можно также увидеть команду powershell:

AveMaria/WARZONE RAT внедряется в процесс explorer.exe. В начале идет поиск PID процесса, путем проверки имени процесса каждого процесса, полученного функцией CreateToolhelp32Snapshot и сравнения со строкой “explorer.exe”

Затем, процесс открывается функцией OpenProcess, в нем выделяется память функцией VirtualAlloc, буфер записывается функцией WriteProcessMemory и запускается функцией CreateRemoteThread

Для общения с C&C сервером, используется RC4 ключ “warzone160”

В коде встречается строка “XXXXXX”, которая записывается в определенный процесс. Предполагаемая цель - поместить в адресное пространство целевого процесса заранее известное значение, для нахождения его в будущем. Запись происходит последовательностью вызовов OpenProcess, VirtualAllocEx, WriteProcessMemory

AveMaria/WARZONE RAT содержит строку “SELECT Name FROM Win32_VideoController”, которая является Windows Management Instrumentation (WMI) запросом. Этим запросом вредоносное ПО определяет, запущен ли процесс в виртуальной машине.

По команде с C&C сервера, AveMaria может открыть произвольный файл функцией ShellExecuteW

Функционал файлового менеджера позволяет просматривать доступные файлы и папки функциями FindFirstFileW и FindNextFileW

Запись изображения с веб камеры с помощью Microsoft DirectShow

Функционал самоуничтожения. Вредоносный файл удаляет сам себя командой “Del /f /q”.

Функционал записи в файл. Устан авливается указатель внутри файла функцией SetFilePointer и происходит запись функцией WriteFIle

AveMaria/WARZONE RAT по команде с сервера скачивает файл функцией UrlDownloadToFileW.

При попытки скачивания с популярного в Казахстане файлообменика Яндекс диск, система tLab успешно обнаружила AveMaria в трафике и заблокировала.

Заключение

AveMaria/WARZONE RAT имеет большое количество функций. Существует множество разновидностей вредоносного ПО AveMaria/WARZONE RAT. Функционал скачивания и запуск файлов позволяет использовать разную вредоносную нагрузку. Продвинутые техники обхода UAC делают это вредоносное ПО опасным.