Фішингова кампанія використовує варіант PureLogs на основі JavaScript для крадіжки конфіденційних даних
Detection stack
- AIDR
- Alert
- ETL
- Query
Резюме
Фішингова кампанія використовує шкідливе вкладення JavaScript для дешифрування та виконання скрипту PowerShell. Цей скрипт потім виконує процес-холловінг для ін’єкції .NET завантажувача в довірену MsBuild.exe процес. Завантажувач звертається до сервера управління і контролю, щоб отримати плагін PureLogs, який викрадає облікові дані, дані браузера, інформацію з криптовалютних гаманців та інші чутливі дані. Ланцюг атаки надзвичайно ухиляючий і покладається на багатошарове шифрування разом із техніками безфайлового виконання для зменшення виявлення.
Розслідування
Лабораторія FortiGuard дослідила вкладення електронної пошти, обфускований JavaScript, скинутий скрипт PowerShell та внутрішньопам’ятні .NET компоненти, що використовувались пізніше в атаці. Під час аналізу дослідники спостерігали створення пустотілого MsBuild.exe процесу, завантаження DLL-завантажувача та виконання плагіна PureLogs, який збирав дані з браузерів, Discord, криптоваулетів та інших застосунків. Захоплений мережевий трафік показав зашифровані GET та POST комунікації з одним сервером управління і контролю.
Пом’якшення
Звіт рекомендує впровадження сильної фільтрації електронної пошти, обмеження виконання скриптів де лише можливо та моніторинг підозрілої активності PowerShell і процес-холловінгу, що стосується MsBuild.exe. Також рекомендується використовувати інструменти виявлення та реагування на кінцеві точки, які можуть ідентифікувати завантажувані .NET збірки та незвичну вихідну мережеву поведінку, пов’язану з постановочною доставкою шкідливого програмного забезпечення.
Реагування
Якщо ця активність була виявлена, ізолюйте уражену кінцеву точку, завершіть шкідливий MsBuild.exe процес та заблокуйте IP-адресу управління і контролю. Розслідувачі повинні виконати форензичний аналіз, щоб визначити, чи були викрадені які-небудь облікові дані або чутливі дані, і скинути скомпрометовані облікові записи за потребою. Вміст для виявлення також має бути оновлено для покриття зловживань PowerShell, процес-холловінгу та поведінки, пов’язаної з PureLogs.
Потік атаки
Ми все ще оновлюємо цю частину. Підпишіться, щоб отримати повідомлення
Повідомте менеВиявлення
Можливість виконання через приховані PowerShell командні лінії (через cmdline)
Перегляд
PowerShell виконує файл у підозрілій директорії з використанням Bypass Execution Policy (через cmdline)
Перегляд
LOLBAS WScript / CScript (через process_creation)
Перегляд
IOC (HashSha256) для виявлення: FortiGuard Labs Threat Research Фішингова кампанія, яка впроваджує JavaScript-керовану версію PureLogs для крадіжки чутливих даних
Перегляд
IOC (SourceIP) для виявлення: FortiGuard Labs Threat Research Фішингова кампанія, яка впроваджує JavaScript-керовану версію PureLogs для крадіжки чутливих даних
Перегляд
IOC (DestinationIP) для виявлення: FortiGuard Labs Threat Research Фішингова кампанія, яка впроваджує JavaScript-керовану версію PureLogs для крадіжки чутливих даних
Перегляд
Виконання безфайлового скрипту PowerShell та процес-холловінг через .NET бібліотеки [Windows Powershell]
Перегляд
Виявлення розгортання JavaScript-керованої версії PureLogs через PowerShell та процес-холловінг [Windows процесс створення]
Перегляд
Виконання симуляції
Передумова: Перевірка телеметрії та базової лінії повинна бути успішною.
Обґрунтування: Цей розділ деталізує точне виконання техніки противника (TTP), розробленої для запуску правила виявлення. Команди та розповідь МАЮТЬ безпосередньо відображати виявлені TTP та намагатися згенерувати точну телеметрію, очікувану логікою виявлення.
-
Потік атаки та команди:
- Етап 1 – Спад JavaScript: Зловмисник доставляє шкідливий
.jsнавантаження (зашифроване) через фішинговий електронний лист. Навантаження зберігається в%TEMP%та виконується зwscript.exe. - Етап 2 – Запуск PowerShell: JavaScript запускає PowerShell з прапорами
-ExecutionPolicy Bypass -NoProfile -WindowStyle Hidden -File, що вказує на вторинний скрипт, який виконує процес-холловінг. - Етап 3 – Процес-холловінг через MsBuild: Скрипт PowerShell порождає
MsBuild.exeу призупиненому режимі, ін’єктує шкідливе навантаження (пустий DLL) і відновлює процес, досягаючи виконання, яке виглядає як законний інструмент зборки.
- Етап 1 – Спад JavaScript: Зловмисник доставляє шкідливий
-
Скрипт регресійного тестування: (PowerShell – запуск від імені звичайного користувача, не вимагає зовнішніх файлів)
# -------------------------------------------------------------- # Симуляція версії PureLogs – JavaScript → PowerShell → MsBuild # -------------------------------------------------------------- # 1. Створити шкідливий JavaScript (base64-кодований для імітації обфускації) $jsPayload = @" // Шкідливий JS: запускає PowerShell з прапорами обходу var shell = new ActiveXObject("WScript.Shell"); var psCmd = "powershell.exe -ExecutionPolicy Bypass -NoProfile -WindowStyle Hidden -File ""%TEMP%launch.ps1"""; shell.Run(psCmd, 0, false); "@ $jsPath = "$env:TEMPmalicious.js" $jsPayload | Set-Content -Path $jsPath -Encoding ASCII # 2. Створити PowerShell навантаження, яке виконує процес-холловінг з MsBuild $psPayload = @" # Запуск MsBuild у призупиненому режимі $msbuildPath = (Get-Command MsBuild.exe).Source $si = New-Object System.Diagnostics.ProcessStartInfo $si.FileName = $msbuildPath $si.UseShellExecute = $false $si.CreateNoWindow = $true $si.Arguments = "/t:Compile" $proc = [System.Diagnostics.Process]::Start($si) Start-Sleep -Milliseconds 500 # дати час для створення # Імітувати холловінг просто записуючи порожній файл в простір пам'яті процесу # (справжній холловінг використовував би виклики Windows API; тут ми просто підтримуємо процес у живому стані) Write-Host "Процес-холловінг симульовано – MsBuild працює" "@ $psPath = "$env:TEMPlaunch.ps1" $psPayload | Set-Content -Path $psPath -Encoding ASCII # 3. Виконати JavaScript – це вхідна точка, яку правило спостерігає wscript.exe $jsPath # Очікувати короткий період для забезпечення генерації логів Start-Sleep -Seconds 10 -
Команди очищення:
# Завершити будь-які залишені процеси MsBuild, які почалися під час симуляції Get-Process MsBuild -ErrorAction SilentlyContinue | Stop-Process -Force # Видалити артефакти Remove-Item "$env:TEMPmalicious.js" -ErrorAction SilentlyContinue Remove-Item "$env:TEMPlaunch.ps1" -ErrorAction SilentlyContinue