«LimeRAT»
Объект анализа
На анализ в систему Афина пришел офисный файл с расширением .rtf. Для начала была собрана его общая информация, представленная в Таблице 1.
Тип | Адрес |
---|---|
Вердикт | Вредоносный |
Имя | MALDOC.doc |
Размер (Кб) | 67.9 |
Расширение | rtf |
TrID | 100.0% (.RTF) Rich Text Format (5000/1) |
SHA-256 | a9bfefbaa9e96471020d013cac052b2899d143a57b84f05c42127c67bbed2c07 |
MIME тип | text/rtf |
Исследование файла
Исследования файла происходило с помощью системы ATHENA и ручного исследования (реверс-инжиниринг). Для начала посмотрим на статический и динамический анализ файл в системе ATHENA.
Исследование в системе ATHENA
Статическое исследование
При проверке антивирусами было обнаружено, что в файле обнару-жен вирус, который эксплуатирует CVE-2017-11882.

С данной вкладкой стоит просто ознакомиться, она несет в себе ин-формацию о том, какие методы и модули статического анализа выдали вердикт после проверки данного ПО. Модуль анализа во внешнем ресурсе VirusTotal не отработал, потому что данное ПО является внутренней раз-работкой AV Soft.

Динамическое исследование
Динамический анализ в системе ATHENA выявил несколько индикаторов:
- запись в память системного процесса - используется вредоносным ПО для исполнения своего кода от имени системного процесса;
- обход средств безопасности Windows AppLocker - ПО эксплуатирует возможность выполнения удаленных сценариев при помощи regserver;
- использование уязвимости с помощью EQNEDT32.EXE - данный инструмент позволяет использовать уязвимость в документах Office и внедрять произвольный код.

Среди системных программ, выявленных в процессе динамического исследования, были обнаружены такие как: svchost.exe, eqnedt32.exe и regsvr32.exe.

Созданные процессы также можно посмотреть во вкладке «Карта процессов». Также с процессами можно ознакомиться во вкладке «Карта процессов».

В блоке «Дампы» видно, что ПО во время работы создало файл с расширением TMP. Злоумышленники могут использовать файлы с расширением TMP для распространения вирусов и вредоносных программ путем изменения содержимого файла.

Во вкладке «Техники MITRE» видно, что отработало несколько техник:
- Singed Binary Proxy Execution. Сработавшие индикаторы: использование системной программы regsvr32.exe.
- Query Registry. Сработавшие индикаторы: поиск информации о системе, просмотр установленных служб.
- System Information Discovery. Сработавшие индикаторы: поиск информации о системе, просмотр установленных служб.
- System Owner/User Discovery. Сработавшие индикаторы: Поиск информации о системе.
- System Service Discovery. Сработавшие индикаторы: просмотр установленных служб.
Злоумышленники могут обойти защиту на основе процессов и/или подписей, проксируя выполнение вредоносного контента с помощью подписанных двоичных файлов. Двоичные файлы, подписанные доверенными цифровыми сертификатами, могут выполняться в системах Windows, защищенных проверкой цифровой подписи. Несколько подписанных Microsoft двоичных файлов, которые по умолчанию используются в установках Windows, могут использоваться для прокси-выполнения других файлов.
Злоумышленники могут взаимодействовать с реестром Windows для сбора информации о системе, конфигурации и установленном программном обеспечении. Реестр содержит значительный объем информации об операционной системе, конфигурации, программном обеспечении и безопасности.
Злоумышленники пытаются получить подробную информацию об операционной системе и оборудовании, включая версию, исправления, пакеты обновлений и архитектуру. Полученная системная информация используется злоумышленниками в планировании дальнейшего поведения, например, полностью заразить цель и/или предпринять конкретные действия.
Злоумышленники пытаются идентифицировать основного пользователя, текущего пользователя, вошедшего в систему, всех пользователей, которые обычно используют систему, и установить, активно ли пользователь использует систему. Например, путем получения имен пользователей учетных записей или с помощью сброса учетных данных ОС.
Злоумышленники собирают информацию о зарегистрированных сервисах, чтобы формировать последующее поведение. Для получения информации могут применяться утилиты операционной системы Tasklist и Net, а также другие инструменты.

Во вкладке «Индикаторы компрометации» отображаются индикаторы компрометации вредоносного поведения файла по результатам его проверки в «песочнице».

В блоке «События» можно заметить записи «Получение аргументов командной строки». Вирус эксплуатирует CVE-2017-11882 (уязвимость в редакторе уравнений из пакета Microsoft Office, связана она с ошибкой обращения с объектами в оперативной памяти), он «плодит» eqnedt32.exe. Данный процесс позволяет выполнить на уязвимом устройстве произвольный код без взаимодействия с пользователем.
В качестве полезной нагрузки выполняются инструкции вызова утилиты командной строки regsvr32, которая запускает сторонние команды при помощи dll-библиотеки.

Во вкладке «Источники вердикта» можно ознакомиться с тем, какие источники посчитали файл вредоносным.

Детальное исследование файла
С помощью инструментария определили реальный формат файла - .rtf. После этого воспользуемся соответствующим методом для извлечения полезной нагрузки из файла:

В файле содержится объект, который использует редактор уравнений «Equation3», в актуальных версиях MS Word его удалили из-за проблем с безопасностью. Одна из которых – эксплуатация уязвимости CVE-2017-11882, где при помощи переполнения буфера в памяти позволяет выполнять наборы вредоносных инструкций. Извлечем полезную нагрузку из исследуемого файла.

К документу прикреплен бинарный файл, представленный в виде shellcode, который на низком уровне способен вызывать функции из Dll-библиотек, создавать процессы и т.д.
При помощи дебаггера извлечем shellcode:

Файл вызывает функцию «WinExec» из библиотеки Winbase и передается аргументом в командную строку. При помощи команды regsvr.exe запрашивается удаленный набор инструкций, а библиотека scrobj.dll позволяет выполнить полученные инструкции. Рассмотрим удаленный скрипт:

Для взаимодействия с системой объявляется объект «WSCript.Shell», а также для взаимодействия с файловой системой - Scripting.Filesystem.
После объявления переменных файл создает в директории файл «%TEMP%» с именем b.ps1 и исполняет его инструкции:

Скрипт для powershell создает в директории «$Env:Temp» исполняемый файл с именем системной службы lsass.exe.

После этого созданный файл запускается, а файл удаляется: b.ps1.

С помощью ПО DIE (Detect It Easy) проанализируем файл %Temp%\lsass.exe..


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

Деобфусцируем его при помощи инструмента de4dot:

И откроем исследуемый файл еще раз:

Найдем среди объявленных классов конфигурацию ПО:

Посмотрим, где используется строка «string_0». В инструкциях содержится класс «WebClient», который может задействоваться для обмена данными при помощи URI. Также строка «string_0» передается в качестве аргумента в функцию «GClass7.smethod_1».

Упадем в функцию «GClass7.smethod_1». Мы можем наблюдать, что создается массив из 32 байтов. Также, задействуется из конфигурационного класса строка «string_2» со значением: «IW4nnaB3Y0urs». Из этого значения рассчитывается хеш MD5 и записывается в переменную «sourceArray».
После выполнения инструкций копирования по индексам массива, объявляется ключ и режим дешифрования данных при помощи класса Rijndael, он же AES.
В массиве «array2» записываются байты, полученные из строки «string_2» после декодирования в формате Base64.

При помощи отладчика достанем расшифрованную строку, которая содержит в себе ссылку на внешний ресурс https://pastebin[.]com/raw/sJLgSUbN.

Полученные данные с pastebin используются для установки связи с C2C сервером:

После запуска приложения вредоносное ПО собирает информацию о системе, в которой было запущено:

Вызываемый метод использует WMI и собирает следующую информацию: ProcessorId, Bios SerialNumber, BaseBoard SerialNumber, Win32_VideoController Name:

Далее происходит проверка на наличие средств виртуализации, аналогично при помощи WMI производителя и при наличии подстроки с указанием одного из средств виртуализации (vmware, microsoft corporation, Virtual или VirtualBox) возвращает булево значение 1 (1 – обнаружено виртуальное пространство).

Вызывается эта функция определением нахождения в виртуальном пространстве, проверяет наличие файла динамической библиотеки vboxhook в системной папке версию Windows (XP), а также наличие активного дебаггера.

Вызывается эта функция определением нахождения в виртуальном пространстве, проверяет наличие файла динамической библиотеки vboxhook в системной папке версию Windows (XP), а также наличие активного дебаггера.
cmd.exe /c ping 0 -n 2 & del
После чего закрывает исполняемое приложение. Если виртуальное окружение не было обнаружено, вызываются методы по закреплению в системе:

Далее скрипт проверяет наличие директории «Temp» в системе. При ее отсутствии он ее создает, а также проверяет наличие файла «lsass.exe» в этой же директории, который будет удален после обнаружения.

После удаления файла вызывается метод с аргументом %Temp%\\lsass.exe, который при помощи файлового потока копирует себя в системную директорию.

После копирования себя в директорию вредоносное ПО использует инструкции по закреплению себя в автозапуске системы. При наличии прав администратора создается запись в планировщике задач с высоким приоритетом и указывается на созданный файл в директории «%Temp%\\lsass.exe». Если привилегий нет, то создается запись в реестре для автозапуска, где также указывается путь до директории «%Temp%\\lsass.exe».

После этого вызывается метод, который импортирует библиотеку «NTdll.dll» и задается текущему запущенному процессу статус «критического процесса», который будет вызывать BSOD при его завершении.

Далее запускается файл из директории «Temp», процесс из текущей директории останавливается.

Во время запуска вредоносного ПО он проверяет наличие активного соединения с C2C сервером, после чего отправляет свой статус. В случае первого запуска на машину злоумышленника отправляется подробные сведения о машине жертвы, а именно: имя пользователя, версия сборки ВПО, наличие антивирусного ПО, состояние системы (зашифрована/нет), версия процессора, порт для коммуникации, версия dotnet framework и путь, по которому было установлено ВПО. При этом используют в качестве разделителей категории данных символы: «|'L'|».

Отправляемый пакет содержит в себе следующий набор данных:
@"info|'L'|7EB83015ABB8|'L'|victim|'L'|v0.1.9.2|'L'|МайкрософтWin 10 Pro x86|'L'|23.10.2023|'L'|N/A|'L'|Not encrypted|'L'|11th Gen Intel i5-11400F @ 2.60GHz|'L'|Not ready|'L'|5566|'L'|v2.0 v4.0|'L'|...|'L'| |'L'|True|'L'|C:\Users\victim\AppData\Local\Temp\lsass.exe"
Далее вредоносное ПО отправляет статус «OK» и идентификатор (HWID) машины жертвы, сообщая серверу злоумышленника, что машина включена:

Отправка пакетов от жертвы злоумышленнику происходит при помощи tcp соединения. В метод «smethod_2» в качестве аргумента передается массив байтов, который шифруется и отправляется:

Реализована возможность подмены адресов крипто кошельков в буфере обмена жертвы. Валидация кошелька сделана «в лоб», если длина буфера обмена в пределах от 26 и до 35 символов и начинается с символов «1», «3», «bc1», то он будет подменять адрес крипто кошелька (стрелочками указана переменная, которая хранит адрес крипто кошелька злоумышленника) в буфере обмена на адрес злоумышленника.

Вредоносное ПО использует API «SetThreadExecutionState», при помощи которого предотвращает переход системы в «спящий» режим.

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