SOC Prime Bias: Критичний

14 Січ 2026 19:37

Полювання на Лазаря: Всередині Інфраструктури C2 Contagious Interview

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Стежити
Полювання на Лазаря: Всередині Інфраструктури C2 Contagious Interview
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Резюме

Red Asgard повідомив про компрометацію ланцюга поставок, пов’язану з криптовалютним проектом, що просувається через Upwork, де оператори Lazarus вбудовували шкідливий код в процес збірки/робочий процес. Ланцюг зловживає автоматичним виконанням завдань VSCode, бекдором Node.js, реалізованим через конструктор Function, і поставкою payload, охопленою кукі, щоб отримувати шкідливий JavaScript з інфраструктури командування і контролю, розміщеної на Vercel. Стек C2 поділяється на верселеві домени першого етапу і спеціальні сервери Windows другого етапу, які доставляють сильно обфусцирований Python бекдор з функціональністю майнінгу XMRig. Кампанія також використовує Pastebin для дропа, користувацький двійковий протокол і сувору ізоляцію облікових даних для ускладнення аналізу і ліквідації.

Розслідування

Дослідники перерахували три верселеві домени, що відкривають токен-аутентифіковані ендпоінти, і визначили п’ять спеціальних C2 систем, що працюють на Express.js on порт 1244. Вони також задокументували техніку таймінг-оракул для визначення або перерахування активних токенів кампанії. Зворотне інженерування 64-шаровий обфусцирований пейлоад в кінцевому підсумку виявило тройований компонент, що зберігається через розміщення в папці Startup і створення запланованих завдань. Додаткові знахідки включали вбудовані облікові дані MongoDB, приблизно 1,000 URL-адрес дропа Pastebin і користувальницькі прослуховувачі двійкового протоколу Z238 на кількох портах.

Пом’якшення

Заблокуйте вихідні комунікації до вказаних верселевих доменів і обмежте егресс до портів 1244, 1249 і 22411–22412. Моніторьте створення Windows Update Script.pyw в місцях запуску, запланованих завдань під назвою “Runtime Broker”, і підозріле виконання msedge.exe, що відповідає маскуванню майнера. Виявляйте Node.js процеси, що викликають Function.constructor, і аномальну активність HTTP POST до /keys ендпоінтів. Зменште ризик, вимикаючи автоматичні завдання VSCode і переглядаючи скрипти пакетів перед виконанням npm install або запусками етапів збірки в ненадійних репозиторіях.

Відповідь

Якщо спостерігаються індикатори, ізолюйте уражену систему, завершіть підозрілі процеси і збережіть артефакти пам’яті та диска для судової експертизи. Відкличте будь-які відкриті облікові дані MongoDB і змініть всі відповідні секрети облікових записів. Проведіть інвентаризацію облікових записів і доступу, щоб визначити постраждалих користувачів, потім скиньте облікові дані і скасуйте активні сесії/токени. Повідомте внутрішніх зацікавлених сторін і координуйте з правоохоронними органами, якщо є докази крадіжки криптовалюти або компрометації гаманця.

“graph TB %% Визначення класів classDef technique fill:#cce5ff classDef artifact fill:#e2f7d6 %% Крок 1 u2013 Фішинг через сервіс tech_phishing[“<b>Техніка</b> – <b>T1566.003 Фішинг: Спірфішинг через сервіс</b><br/><b>Опис</b>: Зловмисник видав себе за фрілансера на Upwork та опублікував фіктивну співбесіду, щоб доставити зловмисний репозиторій коду.”] class tech_phishing technique artifact_upwork[“<b>Артефакт</b> – <b>Назва</b>: Фальшиве оголошення про роботу на Upwork<br/><b>Мета</b>: Спонукати жертву завантажити зловмисний репозиторій.”] class artifact_upwork artifact tech_phishing u002du002d>|доставляє| artifact_upwork %% Крок 2 u2013 Компрометація постачального ланцюга tech_supplychain[“<b>Техніка</b> – <b>T1195.001 Компрометація постачального ланцюга: Компрометація залежностей програмного забезпечення та інструментів розробки</b><br/><b>Опис</b>: Зловмисний файл <code>tasks.json</code> у VSCode і JavaScript-код вбудовані в репозиторій.”] class tech_supplychain technique artifact_tasksjson[“<b>Артефакт</b> – <b>Назва</b>: Файл <code>tasks.json</code> у VSCode<br/><b>Зміст</b>: Зловмисне визначення задачі, що викликає конструктор функцій JavaScript і <code>getCookie()</code>.”] class artifact_tasksjson artifact artifact_upwork u002du002d>|містить| artifact_tasksjson artifact_tasksjson u002du002d>|активує| tech_supplychain %% Крок 3 u2013 Виконання користувачем tech_userexec[“<b>Техніка</b> – <b>T1204.002 Виконання користувачем: Зловмисний файл</b><br/><b>Опис</b>: Жертва відкрила проектну папку у VSCode, що викликало автоматичне виконання зловмисних задач.”] class tech_userexec technique artifact_tasksjson u002du002d>|активовано| tech_userexec %% Крок 4 u2013 Виконання JavaScript tech_jsexec[“<b>Техніка</b> – <b>T1059.007 Командний та скриптовий інтерпретатор: JavaScript</b><br/><b>Опис</b>: JavaScript виконано через задачі VSCode та конструктор функцій для завантаження додаткових часток.”] class tech_jsexec technique tech_userexec u002du002d>|призводить до| tech_jsexec %% Крок 5 u2013 Backdoor на Python tech_python[“<b>Техніка</b> – <b>T1059.006 Командний та скриптовий інтерпретатор: Python</b><br/><b>Опис</b>: Сильно обфускований backdoor на Python (<code>bro_*.js</code>) завантажено та виконано на хості жертви.”] class tech_python technique artifact_python_backdoor[“<b>Артефакт</b> – <b>Назва</b>: Обфускований backdoor на Python (<code>bro_*.js</code>)<br/><b>Характеристики</b>: Багатошарове кодування та декодування.”] class artifact_python_backdoor artifact tech_jsexec u002du002d>|завантажує| artifact_python_backdoor artifact_python_backdoor u002du002d>|виконує| tech_python %% Крок 6 u2013 Стійкість запуску tech_startup[“<b>Техніка</b> – <b>T1037.005 Сценарії ініціалізації при запуску або вході: Елементи запуску</b><br/><b>Опис</b>: Стійкість шляхом розміщення <code>Windows Update Script.pyw</code> в папці автозавантаження.”] class tech_startup technique artifact_startup_script[“<b>Артефакт</b> – <b>Назва</b>: <code> Windows Update Script.pyw</code><br/><b>Розташування</b>: Папка автозавантаження”] class artifact_startup_script artifact tech_python u002du002d>|створює| artifact_startup_script artifact_startup_script u002du002d>|вмикає| tech_startup %% Крок 7 u2013 Заплановане завдання tech_schedtask[“<b>Техніка</b> – <b>T1053 Заплановане завдання/робота</b><br/><b>Опис</b>: Заплановане завдання з назвою u201cRuntime Brokeru201d створено для запуску при вході в систему.”] class tech_schedtask technique artifact_schedtask[“<b>Артефакт</b> – <b>Назва</b>: Заплановане завдання u201cRuntime Brokeru201d<br/><b>Тригер</b>: При вході користувача”] class artifact_schedtask artifact tech_startup u002du002d>|додає| artifact_schedtask artifact_schedtask u002du002d>|виконує| tech_schedtask %% Крок 8 u2013 Збирання облікових даних з браузерів tech_credbrowser[“<b>Техніка</b> – <b>T1555.003 Облікові дані зі сховищ паролів: Облікові дані з веб-браузерів</b><br/><b>Опис</b>: Зловмисне ПЗ зібрало дані профілів браузерів та збережені облікові дані.”] class tech_credbrowser technique artifact_browser_data[“<b>Артефакт</b> – <b>Дані</b>: Витягнуті паролі браузера та cookie”] class artifact_browser_data artifact tech_schedtask u002du002d>|збирає| tech_credbrowser tech_credbrowser u002du002d>|зберігає| artifact_browser_data %% Крок 9 u2013 Викрадення cookie веб-сеансів tech_stealcookie[“<b>Техніка</b> – <b>T1539 Викрадення cookie веб-сеансу</b><br/><b>Опис</b>: Функція <code>getCookie()</code> отримала cookie сеансу з браузера жертви.”] class tech_stealcookie technique artifact_getcookie[“<b>Артефакт</b> – <b>Дані</b>: Cookie сеансів, витягнуті з браузерів”] class artifact_getcookie artifact tech_credbrowser u002du002d>|вмикає| tech_stealcookie tech_stealcookie u002du002d>|виробляє| artifact_getcookie %% Крок 10 u2013 Використання альтернативних матеріалів автентифікації tech_altauth[“<b>Техніка</b> – <b>T1550.004 Використання альтернативних матеріалів автентифікації: Cookie веб-сеансу</b><br/><b>Опис</b>: Викрадені cookie згодом були використані для викрадення автентифікованих веб-сеансів.”] class tech_altauth technique artifact_getcookie u002du002d>|використовується| tech_altauth %% Крок 11 u2013 Маскування tech_masquerade[“<b>Техніка</b> – <b>T1036.003 Маскування: Перейменування легітимних утиліт</b><br/><b>Опис</b>: Зловмисні бінарники перейменовані на u201cRuntime Broker.exeu201d і u201cmsedge.exeu201d.”] class tech_masquerade technique artifact_renamed_bins[“<b>Артефакт</b> – <b>Файли</b>: <code>Runtime Broker.exe</code>, <code>msedge.exe</code> (зловмисні)”] class artifact_renamed_bins artifact tech_altauth u002du002d>|доставляє| artifact_renamed_bins artifact_renamed_bins u002du002d>|використовується в| tech_masquerade %% Крок 12 u2013 Погіршення захисту tech_impairdefense[“<b>Техніка</b> – <b>T1562 Погіршення захисту</b><br/><b>Опис</b>: Додано вилучення Defender Windows через PowerShell, щоб уникнути виявлення.”] class tech_impairdefense technique artifact_defender_exclusion[“<b>Артефакт</b> – <b>Команда</b>: Скрипт PowerShell що додає шляхи вилучення Defender”] class artifact_defender_exclusion artifact tech_masquerade u002du002d>|виконує| artifact_defender_exclusion artifact_defender_exclusion u002du002d>|вмикає| tech_impairdefense %% Крок 13 u2013 Обфусковані файли tech_obfuscation[“<b>Техніка</b> – <b>T1027 Обфусковані файли або інформація</b><br/><b>Опис</b>: Навантаження використовувало 64 вкладених шари обфускації (Base85, XOR, zlib, обрізаний Base64).”] class tech_obfuscation technique tech_impairdefense u002du002d>|захищає| tech_obfuscation %% Крок 14 u2013 Приховати артефакти tech_hideartifacts[“<b>Техніка</b> – <b>T1564.012 Приховування артефактів: Вилучення файлів/каталогів</b><br/><b>Опис</b>: Вилучення Defender та приховані файли використовуються для приховування зловмисних артефактів.”] class tech_hideartifacts technique tech_obfuscation u002du002d>|сприяє| tech_hideartifacts %% Крок 15 u2013 Dead-Drop Resolver tech_dead_drop[“<b>Техніка</b> – <b>T1102.001 Веб-сервіс: Dead Drop Resolver</b><br/><b>Опис</b>: Зловмисне ПЗ отримало команди з мережі з ~1,000 облікових записів Dead Drop на Pastebin.”] class tech_dead_drop technique artifact_pastebin[“<b>Артефакт</b> – <b>Сервіс</b>: Облікові записи Dead Drop Resolver на Pastebin”] class artifact_pastebin artifact tech_hideartifacts u002du002d>|отримує| artifact_pastebin artifact_pastebin u002du002d>|надає команди до| tech_dead_drop %% Крок 16 u2013 Експільтрація через FTP tech_exfilftp[“<b>Техніка</b> – <b>T1048.003 Експільтрація через альтернативний протокол: Нешифрований нестандартний протокол</b><br/><b>Опис</b>: Зібрані дані експільтровано через FTP на порт 21.”] class tech_exfilftp technique artifact_ftp[“<b>Артефакт</b> – <b>Протокол</b>: FTP (порт 21) використовується для передачі даних”] class artifact_ftp artifact tech_dead_drop u002du002d>|надсилає дані через| tech_exfilftp tech_exfilftp u002du002d>|використовує| artifact_ftp %% Крок 17 u2013 Викрадення ресурсів (майнінг Monero) tech_resourcehijack[“<b>Техніка</b> – <b>T1496.001 Викрадення ресурсів: Викрадення обчислень</b><br/><b>Опис</b>: Майнінг Monero XMRig розгорнуто, замасковано як u201cmsedge.exeu201d, з метою монетизації заражених хостів.”] class tech_resourcehijack technique artifact_xmrig[“<b>Артефакт</b> – <b>Файл</b>: Виконуваний файл майнера XMRig під назвою <code>msedge.exe</code>”] class artifact_xmrig artifact tech_exfilftp u002du002d>|надає ресурси для| tech_resourcehijack tech_resourcehijack u002du002d>|виконує| artifact_xmrig %% Крок 18 u2013 Виявлення інформації про браузер tech_browserdisc[“<b>Техніка</b> – <b>T1217 Виявлення інформації про браузер</b><br/><b>Опис</b>: Зловмисник відстежив інформацію про браузер, щоб знайти додаткові облікові дані та дані сеансів.”] class tech_browserdisc technique artifact_browser_info[“<b>Артефакт</b> – <b>Дані</b>: Версія браузера, шляхи до профілів, встановлені розширення”] class artifact_browser_info artifact tech_resourcehijack u002du002d>|збирає| tech_browserdisc tech_browserdisc u002du002d>|збирає| artifact_browser_info “

Потік атаки

Виявлення

Можливе проникнення/виведення даних/К2 через сторонні сервіси/інструменти (через dns)

Команда SOC Prime
14 січня 2026

Підозрілі зміни налаштувань Windows Defender (через powershell)

Команда SOC Prime
14 січня 2026

Підозрілі бінарні / скрипти в місцях автозапуску (через file_event)

Команда SOC Prime
14 січня 2026

Прихований файл був створений на Linux-хості (через file_event)

Команда SOC Prime
14 січня 2026

Можливе інфільтрація/ексфільтрація даних/командування та управління (C2) через сервіси/інструменти третіх сторін (через proxy)

Команда SOC Prime
14 січня 2026

IOC (електронні пошти) для виявлення: Полювання на Lazarus: Всередині інфраструктури C2 заразного інтерв’ю

Правила SOC Prime AI
14 січня 2026

IOC (DestinationIP) для виявлення: Полювання на Lazarus: Всередині інфраструктури C2 заразного інтерв’ю

Правила SOC Prime AI
14 січня 2026

IOC (SourceIP) для виявлення: Полювання на Lazarus: Всередині інфраструктури C2 заразного інтерв’ю

Правила SOC Prime AI
14 січня 2026

IOC (HashSha256) для виявлення: Полювання на Lazarus: Всередині інфраструктури C2 заразного інтерв’ю

Правила SOC Prime AI
14 січня 2026

Підозріла функція getCookie, що отримує шкідливий JavaScript з домену Vercel [Подія з файлом Windows]

Правила SOC Prime AI
14 січня 2026

Підозріле використання Function.constructor в errorHandler.js для серверної RCE [Подія з файлом Windows]

Правила SOC Prime AI
14 січня 2026

Маскування шкідливих процесів як RuntimeBroker і майнера XMRig як msedge.exe [Створення процесу Windows]

Правила SOC Prime AI
14 січня 2026

Шкідлива конфігурація авто-виконання в VSCode [Подія з файлом Windows]

Правила SOC Prime AI
14 січня 2026

Виконання симуляції

Передумова: Попередня перевірка телеметрії та базової лінії має бути пройдена.

Опис атаки та команди

Супротивник копіює легітимний RuntimeBroker.exe бінарний файл до нестандартного місця (%TEMP%) щоб маскуватися як надійний процес при уникненні виявлення за відомими системними шляхами. Виконуючи копію, подія створення процесу містить очікуване ім’я зображення, але шлях, що не проходить перевірку вмісту “System32”, що задовольняє selection_runtime.

Сценарій тестування регресії

# -----------------------------------------------
# TC-20260114-A1B2C – Симуляція маскування
# -----------------------------------------------

# 1. Визначте шляхи
$src  = "$env:SystemRootSystem32RuntimeBroker.exe"
$dest = "$env:TEMPRuntimeBroker.exe"

# 2. Копіюйте легітимний бінарний файл до несистемного каталогу
Copy-Item -Path $src -Destination $dest -Force

# 3. Запустіть скопійований бінарний файл (це повинно викликати правило Sigma)
Start-Process -FilePath $dest -WindowStyle Hidden

# 4. ОПЦІЙНО: Імітуйте сценарій маскування msedge (майнера)
#    (Скопіюйте будь-який безпечний виконуваний файл, перейменуйте його в msedge.exe, розмістіть під %LOCALAPPDATA%MicrosoftWindowsApplications)
$minerSrc  = "$env:SystemRootSystem32notepad.exe"
$minerDest = "$env:LOCALAPPDATAMicrosoftWindowsApplicationsmsedge.exe"
Copy-Item -Path $minerSrc -Destination $minerDest -Force
Start-Process -FilePath $minerDest -WindowStyle Hidden
# -----------------------------------------------

Команди очищення

# Видаліть шкідливі копії
Remove-Item -Path "$env:TEMPRuntimeBroker.exe" -Force -ErrorAction SilentlyContinue
Remove-Item -Path "$env:LOCALAPPDATAMicrosoftWindowsApplicationsmsedge.exe" -Force -ErrorAction SilentlyContinue