Summary

SillyGoXLR is a fake GoXLR installer that delivers an obfuscated Java stealer and remote-access trojan. During an isolated execution, the sample copied its payload into a Windows-looking location, bypassed UAC, established logon persistence, retrieved remote configuration from GitHub, authenticated a Discord bot, collected browser and host data, captured the desktop, and successfully exfiltrated an archive.

The same payload registered commands for shell execution, process and service control, hidden VNC, SOCKS5 proxying, port forwarding, network scanning, keylogging, microphone capture, input blocking, file operations, self-update, and self-destruction.

This analysis distinguishes between behavior that was observed, behavior that was configured or attempted, and capabilities that were present but not invoked. This matters because a command or class name proves that functionality exists; it does not prove that an operator used it.


Credit and scope

This investigation starts where 0xRushy / RandomFlawsFinder’s original analysis stopped. That research identified the fake GoXLR lure, bundled Java runtime, Minesweep.jar, suspicious winver.exe and ComputerDefaults.exe activity, Discord communications, and audio/video capability.

We reproduced those central observations and extended the investigation into persistence, the complete UAC bypass sequence, remote-configuration fallback, successful Discord C2 and exfiltration, browser and host collection, the delayed cover application, and the registered RAT command surface.

The sample was executed on a disposable Windows 10 VM inside an isolated VLAN. Endpoint, filesystem, process-memory, network, and malware-log evidence were used to corroborate the behavior described below. Results apply to this sample and execution, not necessarily every SillyGoXLR build.


Samples

ArtifactSizeSHA-256
Received ZIP6278e2d62f29e9d319c6e835d5dc1b59ffc5dce2842df62dbf32fc7e654ad01f
Nested RAR125,723,595 bytesbd0b4736f2d5d7227f6b182455baa9657389423e1cbfc90f9c992b326e34bcc4
Main executable132,272,248 bytes406f306563c1d270c1f35a8a43b4cd2306af7b5a006c8c9dda7e48e2318c4bd0
Minesweep.jar38,033,814 bytes8c2080fdcad6729a1cd385037bd6da98e7376c295ad3f87323c9deab827e590d
FileExplorer.jar38,033,814 bytes8c2080fdcad6729a1cd385037bd6da98e7376c295ad3f87323c9deab827e590d

Minesweep.jar and FileExplorer.jar are byte-identical. The second filename is a persistent masquerade, not a separate payload.


Payload architecture

Static inspection identified a packaged Node.js launcher, a bundled Java 8 runtime, and an obfuscated Java payload. The JAR contained 15,076 classes, including 463 under dev.spark, and declared dev.spark.Main as its entry point.

Bundled libraries supported Discord/JDA communication, cryptography, native Windows access, HTTP, SQLite, webcam capture, audio processing, and Discord voice encryption.

SillyGoXLR execution chain

Figure 1: End-to-end execution chain. Open the SVG for a full-size view.

The packed executable staged both the Java runtime and Minesweep.jar beneath %LOCALAPPDATA%\OutboundLauncher. The JAR then copied itself to:

%LOCALAPPDATA%\Microsoft\Windows\FileExplorer.jar

A new javaw.exe instance launched the copied payload as dev.spark.Main, separating the persistent stage from the original lure process.

Elastic process events showing the executable, bundled Java stage, copied JAR, and elevated payload

Figure 2: Process events reconstruct the transition from the GoXLR lure to the persistent and elevated Java stages.


Execution timeline

All times are UTC on 14 August 2026.

TimeActivity
11:12:33The fake goxlr-utility-1.2.4.exe started.
11:15:25The dropper launched the bundled javaw.exe with Minesweep.jar.
11:15:59The JAR copied itself to Microsoft\Windows\FileExplorer.jar.
11:16:03A new javaw.exe instance launched the copied payload.
11:16:22The malware selected DebugObjectBypass(59).
11:16:25–11:16:49winver.exe and ComputerDefaults.exe were used to obtain elevated execution.
11:16:49ComputerDefaults.exe spawned the elevated Java payload.
11:16:57–11:17:11The primary configuration failed and the fallback configuration succeeded.
11:17:20–11:17:42The ExplorerStartup scheduled task was deleted and recreated.
11:17:43–11:17:46The Discord bot authenticated and selected its guild and channel.
11:17:48Collection began.
11:18:08Browser collection returned 30 Firefox cookies and four autofill entries.
11:19:27Discord token scanning completed with no victim token found.
11:19:44–11:20:32The malware scanned files, captured the desktop, created a ZIP, and exfiltrated it.
11:20:33Wallet and Telegram scans completed with no matching data.
11:24:18–11:25:14A legitimate GoXLR utility was downloaded and launched as cover.

UAC bypass: DebugObjectBypass(59)

The unprivileged Java process labeled the technique DebugObjectBypass(59). It requested that the AppInfo service start winver.exe with DEBUG_PROCESS, acquired the resulting debug-object handle, and terminated winver.exe while retaining the handle.

The malware then requested ComputerDefaults.exe, an auto-elevated Windows binary, through AppInfo. It applied the retained debug object to the new thread, received a CREATE_PROCESS_DEBUG_EVENT, duplicated the required handle with NtDuplicateObject, and caused ComputerDefaults.exe to launch the elevated Java stage.

SillyGoXLR UAC bypass and persistence sequence

Figure 3: Debug-object UAC bypass followed by scheduled-task persistence. Open the SVG for a full-size view.

The elevated process used this command structure:

"%LOCALAPPDATA%\OutboundLauncher\jdk8u482-b08-jre\bin\java.exe"
  -Dspark.elevated=true
  -Dspark.type=DEFAULT
  -cp "%LOCALAPPDATA%\Microsoft\Windows\FileExplorer.jar"
  dev.spark.Main

The process ancestry directly connected ComputerDefaults.exe to java.exe with spark.elevated=true.

Process ancestry showing Java, ComputerDefaults, elevated Java, and scheduled-task activity

Figure 4: The process tree corroborates the elevated Java lineage and the scheduled-task activity that followed.

ComputerDefaults spawning the elevated Java payload

Figure 5: ComputerDefaults.exe is the direct parent of the elevated process running FileExplorer.jar.

No malicious Run key or service was found, and the common ms-settings registry-hijack key was absent after execution. This build relied on the debug-object sequence for elevation and a scheduled task for persistence.


Persistence: ExplorerStartup

After elevation, the malware used schtasks.exe to delete any stale task named ExplorerStartup and create it again with the highest available run level.

Task:      \ExplorerStartup
Trigger:   Interactive logon
Run level: Highest available
Program:   %LOCALAPPDATA%\OutboundLauncher\jdk8u482-b08-jre\bin\javaw.exe
Arguments: -Xmx320m -XX:+UseG1GC
           -cp %LOCALAPPDATA%\Microsoft\Windows\FileExplorer.jar
           dev.spark.Main -no-startup

The task combined a Windows-looking name with a payload under %LOCALAPPDATA%\Microsoft\Windows, while the executable came from a user-writable bundled Java runtime.

ExplorerStartup scheduled-task deletion and recreation

Figure 6: The elevated Java process removes the stale task, recreates it for logon with the highest run level, and writes the task file.


Remote configuration and fallback

The elevated stage first requested configuration from the GitHub repository legend-drip-stone/ASFAchievementManager. The returned content could not be parsed, and the malware retried three times across two attempts before switching to legendary-drip-emerald/AnDE.

The fallback configuration succeeded and enabled Discord injection, MFA cancellation, and QR cancellation. It also supplied webhook material while disabling JAR auto-update for this run.

This fallback behavior allowed execution to continue even though the primary configuration source failed.


Discord C2 and exfiltration

The malware used JDA to authenticate a Discord bot and synchronize its commands. The operational log recorded the bot account Looking Everytime, one accessible guild, the target channel #trog, and 65 synchronized slash commands.

The bot login succeeded, a connected message was sent, and the collection archive was delivered to the selected channel. Memory also contained multiple webhook identifiers, showing that this build combined webhook functionality with an interactive bot-based command surface.

Discord, GitHub, and public-IP service DNS activity from Java

Figure 7: The elevated Java process resolves Discord C2, GitHub configuration, and public-IP/geolocation services.

Discord and GitHub use shared infrastructure. Their general domains and Cloudflare addresses should not be treated as malicious without the associated Java lineage, file paths, and persistence behavior.


Collection and exfiltration

SillyGoXLR collection and exfiltration flow

Figure 8: Observed collection results and the route used to deliver them to Discord. Open the SVG for a full-size view.

Browser data

The malware terminated browsers, enumerated six user roots, and read browser databases directly from disk. Two Firefox profiles were found. One yielded 30 cookies and four autofill entries; neither contained saved passwords.

Chromium collection code was present, but the VM did not contain a Chromium profile. The environmental result therefore does not limit the capability of the payload.

Firefox database access by the Java payload

Figure 9: Java accesses Firefox cookies, login, and form-history databases and writes WebCacheLock.json across enumerated profiles.

Discord sessions

Discord injection completed and token scanning ran for approximately 79 seconds. No victim token was recovered because the VM did not contain an active Discord profile.

Host discovery

The payload collected the host name, operating system, hardware identifier, public IP address, geolocation, and installed security products. It correctly identified Windows Defender and Elastic Endpoint and also checked for password managers and authenticator applications.

Social, gaming, wallet, and Telegram data

Collection routines covered Roblox, TikTok, Instagram, Steam, Minecraft, local cryptocurrency wallets, browser-extension wallets, and Telegram Desktop tdata. A Minecraft process watcher was started, but no session, wallet, or Telegram artifacts existed in the VM.

Files, screenshot, and archive

The interesting-file module scanned 210 files across six roots. It found no keyword matches and recorded three access denials. The pipeline still captured a 26,032-byte desktop screenshot, created a 10,598-byte ZIP, and successfully delivered the archive to Discord.

Outlook limitation

Outlook was not installed. No Outlook process, profile, PST/OST file, registry profile, or MAPI access was observed. Outlook theft is therefore not confirmed by this execution.


RAT command surface

The malware reported 65 synchronized slash commands. Memory analysis recovered 40 unique top-level command names. These commands prove that the operator interface existed, but they were not invoked during the observation window.

CapabilityRecovered commands
User interactionalert, popup, chat, chatmsg, chatfile, type, blockinput
Surveillancekeylog, record, remote, voice, sound, soundstop
Discoveryinstalled, location, netinfo, wifi, windows, proclist
Execution and controlshell, shellcmd, process, services, power
File operationssearch, zip, unzip
Discord and sessionsdiscord, token, relog
Persistence and lifecyclepersistence, schedule, startup, selfupdate, selfdestruct
Tunnelinghvnc, socks5, portfwd, pivot
Audio controlvolume

Command descriptions recovered from memory exposed process termination and suspension, service control, scheduled-task management, interactive and one-shot shells, reverse SOCKS5, port forwarding, internal-range scanning, hidden VNC, microphone recording, Discord voice-channel control, simulated typing, remote JAR updates, and cleanup/self-destruction.

Static strings also referenced clipboard monitoring, webcam capture, coercive text, and ransomware-like language. Clipboard capture, webcam capture, encryption, ransom-note creation, and destructive impact were not observed and remain capability-only findings.


Virtual-machine awareness

The malware assigned a virtualization score and detected three indicators in the analysis VM:

  • VMware MAC prefix 00:0c:29
  • Virtualization-related registry hardware
  • vmmouse.sys

It set its internal VM flag to true but continued through persistence, C2, collection, and exfiltration. In this execution, the checks provided environment awareness rather than effective sandbox evasion.


Delayed legitimate application

While the theft pipeline was running, a background installer waited before downloading the legitimate GoXLR utility. It wrote the application to:

%LOCALAPPDATA%\GoXLR\GoXLR-Utility.exe

The legitimate 45,713,738-byte program had SHA-256 0a8743d27ea5d1741956aecfc3ae26c0f7399945cf29d2bb6b3dab459e86ac2f and launched at 11:25:14 UTC—almost five minutes after the archive had already been exfiltrated.

This delayed cover behavior could convince a victim that the installer was merely slow while the malicious activity had already completed.


MITRE ATT&CK mapping

TechniqueIDEvidence
MasqueradingT1036Fake GoXLR lure and FileExplorer.jar path
Bypass User Account ControlT1548.002Debug-object sequence and elevated Java ancestry
Scheduled TaskT1053.005ExplorerStartup logon task
Virtualization/Sandbox Evasion: System ChecksT1497.001VM indicators detected; execution continued
System Information DiscoveryT1082Host and operating-system collection
Security Software DiscoveryT1518.001Defender and Elastic identified
Credentials from Web BrowsersT1555.003Firefox databases accessed
Steal Web Session CookieT153930 Firefox cookies collected
Screen CaptureT1113Desktop screenshot created
Archive Collected DataT1560.001ZIP archive created
Bidirectional CommunicationT1102.002Discord bot authenticated
Exfiltration Over C2 ChannelT1041Archive delivered to Discord

Indicators of compromise

TypeValueDescription
SHA-2566278e2d62f29e9d319c6e835d5dc1b59ffc5dce2842df62dbf32fc7e654ad01fReceived ZIP
SHA-256bd0b4736f2d5d7227f6b182455baa9657389423e1cbfc90f9c992b326e34bcc4Nested RAR
SHA-256406f306563c1d270c1f35a8a43b4cd2306af7b5a006c8c9dda7e48e2318c4bd0Main executable
SHA-2568c2080fdcad6729a1cd385037bd6da98e7376c295ad3f87323c9deab827e590dJava payload under both JAR names
File%LOCALAPPDATA%\OutboundLauncher\Minesweep.jarStaged payload
File%LOCALAPPDATA%\Microsoft\Windows\FileExplorer.jarPersistent payload
File%APPDATA%\HypeSquad\logs.txtOperational log
File%APPDATA%\HypeSquad\thread-dump.txtJVM artifact
File%LOCALAPPDATA%\Microsoft\Windows\WebCacheLock.jsonEncrypted configuration artifact
TaskExplorerStartupHighest-privilege logon persistence
GitHub repositorylegend-drip-stone/ASFAchievementManagerPrimary configuration source
GitHub repositorylegendary-drip-emerald/AnDESuccessful fallback configuration source
Discord guild ID1537200104157609985C2 guild
Discord channel ID1537200179806208030C2 and exfiltration channel
Discord webhook IDs1537200980880392232, 1537203585845166150, 1537203431104843837, 1509732465084862575, 1522004946449465504, 1522005070793937038, 1522005204072009850Tokens removed

The Discord, GitHub, IPify, IPWhoIs, and Cloudflare domains and addresses observed during execution are shared infrastructure. They should be correlated with the process and file indicators above instead of blocklisted as standalone IOCs.


Conclusion

The first public analysis established that the fake GoXLR application delivered a Java stealer/RAT using Discord. This execution reveals the broader operational chain.

SillyGoXLR established logon persistence, completed a debug-object UAC bypass, survived failure of its primary configuration source, authenticated interactive Discord C2, collected browser and host data, captured the desktop, exfiltrated an archive, and finally launched a legitimate GoXLR program as cover.

Its registered command surface extends well beyond information theft into surveillance, shell access, host control, tunneling, hidden VNC, lifecycle management, and internal-network reach. The sample is therefore better understood as a full remote-access platform with autonomous stealing behavior than as a simple credential stealer.


References


Analysis by Mohammed Alzahrani.