Back to Intelligence

Powercat Infostealer Campaign: Fake Game Cheats Deliver Discord Session Hijacking & Crypto Theft — OTX Pulse Analysis

SA
Security Arsenal Team
August 10, 2026
11 min read

Threat Summary

AlienVault OTX pulse data confirms an active malware delivery campaign, tracked as Powercat, first observed in February 2026 and still distributing payloads as of this reporting window. The campaign masquerades as game cheats and utility software for Roblox, Minecraft, and Grand Theft Auto V — a distribution lure that deliberately targets a younger, security-naive user demographic, but one with direct enterprise relevance: gaming applications, Discord, and personal crypto wallets routinely coexist on corporate endpoints and BYOD devices.

The infection chain is multi-stage:

  1. Stage 1 — Initial executable: Delivered as a fake cheat/utility installer. On execution it profiles the victim host (hardware, installed software, browser artifacts, tokens on disk) and establishes persistence.
  2. Stage 2 — Java-based loader: A JAR-based loader is dropped and executed, which decrypts and deploys the final payload. The Java intermediary is a deliberate evasion layer — it breaks static detection chains built around native PE analysis.
  3. Stage 3 — Powercat infostealer: The final payload performs Discord session/token hijacking, browser credential and cookie theft, cryptocurrency wallet exfiltration, and surveillance capabilities (screenshots, system enumeration).

The objective is credential and session theft at scale: Discord tokens (resold or used for further malware distribution and social engineering), browser-stored credentials, and cryptocurrency wallet keys. Stolen Discord sessions are particularly valuable — hijacked accounts become trusted distribution nodes for the next wave of lures, creating a self-propagating infection loop. The campaign's C2 and distribution infrastructure includes the domain powercat.dog.

Attribution is currently unknown. TLP:WHITE reporting from ThreatLocker and OTX indicates the tooling is commodity-grade but competently staged, consistent with malware-as-a-service infostealer operations sold through dark web marketplaces and Telegram channels.

Threat Actor / Malware Profile

Malware family: Powercat (infostealer) Threat actor: Unknown — likely a financially motivated criminal group operating an infostealer MaaS model

CapabilityDetail
Distribution methodFake game cheats and "utility" tools for Roblox, Minecraft, GTA V — distributed via malicious websites, Discord server links, YouTube video descriptions, and SEO-poisoned download pages
Payload behaviorDiscord token extraction from local storage (Discord, DiscordCanary, PTG clients and browser leveldb files), browser credential/cookie/autofill theft, cryptocurrency wallet theft (desktop wallets and browser extension wallets such as MetaMask, Phantom), screenshot capture, host profiling
C2 communicationOutbound HTTPS to attacker infrastructure; observed distribution/C2 domain powercat.dog. Exfiltration commonly staged as encrypted POST bodies or via Discord webhooks (a common infostealer tradecraft pattern that blends C2 with legitimate TLS traffic)
Persistence mechanismStage-1 executable establishes persistence before loader deployment — typical mechanisms for this class include Run-key registry entries (HKCU\Software\Microsoft\Windows\CurrentVersion\Run) and scheduled tasks masquerading as update jobs
Anti-analysis techniquesMulti-stage architecture separating profiler from final payload; Java-based intermediate loader to evade PE-focused static signatures; environment profiling in Stage 1 (likely VM/sandbox checks before fetching Stage 2); packed/obfuscated JAR
SurveillanceScreenshot capture, system enumeration, process listing — consistent with victim triage before high-value exfiltration

The Discord token theft capability is the highest-impact behavior for enterprises. Stolen tokens bypass MFA entirely — an attacker holding a valid session token authenticates as the user without credentials or second factors.

IOC Analysis

The pulse contains 20 indicators across three types:

  • Domain (1): powercat.dog — campaign distribution/C2 infrastructure. This is your highest-fidelity network indicator. Block at DNS sinkhole, web proxy, and egress firewall. Alert on any historical resolution or connection — a single hit is a strong infection signal.
  • FileHash-SHA256 (2) + FileHash-SHA1 (2) + FileHash-MD5 (2 shown of sample): Hashes of Stage-1 executables and/or the Java loader. Infostealer operators repack frequently, so hashes have a short half-life — treat them as retro-hunt artifacts (has this file ever executed here?) rather than forward-looking blocklist material.

Operationalization guidance for SOC teams:

  1. Ingest into your TIP/SIEM (MISP, ThreatConnect, Sentinel threat intelligence blade) with a 30–60 day expiry on hashes and 90 days on the domain.
  2. Retro-hunt EDR telemetry (Microsoft Defender for Endpoint, CrowdStrike, SentinelOne) for hash matches across a 6-month lookback aligned to the February 2026 campaign start.
  3. DNS/Proxy pivot: Query DNS logs for powercat.dog resolution and any subdomain (*.powercat.dog). Identify the requesting host and isolate pending triage.
  4. Behavioral layering: Since hashes rotate, the durable detections are behavioral — Java runtime spawning from user-writable paths, leveldb access to Discord token storage, and Run-key persistence from non-standard binaries. See Detection Engineering below.

Tooling: hash lookups via VirusTotal/OTX DirectConnect API; domain detonation via urlscan.io/ANY.RUN; YARA retro-hunts in your EDR if you pull the referenced samples from MalwareBazaar.

Detection Engineering

YAML
---
title: Powercat Infostealer - Fake Game Cheat Initial Execution and Persistence
id: 7f3a1c2e-9b4d-4e1a-a5c6-p0wercat0001
status: experimental
description: Detects execution of suspicious game-cheat-themed executables from user-writable directories followed by registry Run-key persistence, consistent with Powercat Stage-1 behavior.
author: Security Arsenal Threat Intelligence
references:
  - https://www.threatlocker.com/blog/powercat-malware-campaign-fake-game-cheats-deliver-infostealer-targeting-discord-roblox-and-crypto-wallets
logsource:
  category: process_creation
  product: windows
detection:
  selection_paths:
    Image|startswith:
      - 'C:\Users\'
      - 'C:\ProgramData\'
      - 'C:\Windows\Temp\'
  selection_names:
    OriginalFileName|contains:
      - 'cheat'
      - 'hack'
      - 'aimbot'
      - 'roblox'
      - 'minecraft'
      - 'gta'
  condition: selection_paths and selection_names
falsepositives:
  - Legitimate modding tools executed by developers (rare in enterprise)
level: high
tags:
  - attack.execution
  - attack.t1059
  - attack.t1204.002
date: 2026/08/11
---
title: Powercat Infostealer - Java Loader Execution From User Directories
id: 7f3a1c2e-9b4d-4e1a-a5c6-p0wercat0002
status: experimental
description: Detects java.exe/javaw.exe executing JAR files from user-writable or temp paths spawned by a non-Java parent process, matching the Powercat multi-stage Java loader pattern.
author: Security Arsenal Threat Intelligence
logsource:
  category: process_creation
  product: windows
detection:
  selection_java:
    Image|endswith:
      - '\java.exe'
      - '\javaw.exe'
  selection_jar:
    CommandLine|contains:
      - '-jar'
  selection_paths:
    CommandLine|contains:
      - '\AppData\'
      - '\Temp\'
      - '\Downloads\'
      - 'C:\ProgramData\'
  filter_minecraft:
    CommandLine|contains:
      - 'minecraft'
      - '.minecraft'
  condition: selection_java and selection_jar and selection_paths and not filter_minecraft
falsepositives:
  - Minecraft launcher (filtered)
  - Legitimate Java applications installed in user profiles
level: high
tags:
  - attack.execution
  - attack.t1059.007
  - attack.defense_evasion
date: 2026/08/11
---
title: Powercat Infostealer - Discord Token Storage Access and C2 Domain
id: 7f3a1c2e-9b4d-4e1a-a5c6-p0wercat0003
status: experimental
description: Detects non-Discord processes reading Discord leveldb Local Storage (token theft) and DNS/connection attempts to known Powercat infrastructure.
author: Security Arsenal Threat Intelligence
logsource:
  category: file_event
  product: windows
detection:
  selection_leveldb:
    TargetFilename|contains:
      - '\discord\Local Storage\leveldb\'
      - '\discordcanary\Local Storage\leveldb\'
      - '\discordptb\Local Storage\leveldb\'
  filter_legit:
    Image|endswith:
      - '\Discord.exe'
      - '\DiscordCanary.exe'
      - '\DiscordPTB.exe'
      - '\msedgewebview2.exe'
  condition: selection_leveldb and not filter_legit
falsepositives:
  - Backup software scanning user profiles
  - EDR/AV scanners (allowlist by process hash)
level: critical
tags:
  - attack.credential_access
  - attack.t1552.001
  - attack.t1539
date: 2026/08/11
KQL — Microsoft Sentinel / Defender
// Powercat Infostealer Hunt — Microsoft Sentinel
// Hunts C2 domain contact, Java loader execution, and suspicious cheat-themed process launches
let lookback = 14d;
let powercat_iocs = dynamic(["powercat.dog"]);
let NetworkHits = DeviceNetworkEvents
| where TimeGenerated >= ago(lookback)
| where RemoteUrl has_any (powercat_iocs) or RemoteIP in (powercat_iocs)
| project TimeGenerated, DeviceName, InitiatingProcessFileName, InitiatingProcessCommandLine, RemoteUrl, RemoteIP, RemotePort, ActionType
| extend Hunt = "Powercat C2 Contact";
let DnsHits = DeviceEvents
| where TimeGenerated >= ago(lookback)
| where ActionType == "DnsQueryResponse"
| where AdditionalFields has_any (powercat_iocs)
| project TimeGenerated, DeviceName, InitiatingProcessFileName = FileName, AdditionalFields
| extend Hunt = "Powercat DNS Resolution";
let JavaLoader = DeviceProcessEvents
| where TimeGenerated >= ago(lookback)
| where FileName in~ ("java.exe", "javaw.exe")
| where ProcessCommandLine has "-jar"
| where ProcessCommandLine has_any ("\\AppData\\", "\\Temp\\", "\\Downloads\\", "ProgramData")
| where ProcessCommandLine !has_any (".minecraft", "minecraft launcher")
| project TimeGenerated, DeviceName, FileName, ProcessCommandLine, InitiatingProcessFileName, InitiatingProcessCommandLine, SHA256
| extend Hunt = "Suspicious Java Loader (Powercat Stage-2)";
let CheatLure = DeviceProcessEvents
| where TimeGenerated >= ago(lookback)
| where FolderPath has_any ("\\Downloads\\", "\\AppData\\", "\\Temp\\")
| where FileName has_any ("cheat", "aimbot", "hack", "roblox", "gta") or ProcessCommandLine has_any ("cheat", "aimbot")
| project TimeGenerated, DeviceName, FileName, FolderPath, ProcessCommandLine, SHA256, InitiatingProcessFileName
| extend Hunt = "Fake Cheat Executable (Powercat Stage-1)";
NetworkHits
| union DnsHits, JavaLoader, CheatLure
| sort by TimeGenerated desc
PowerShell
<#
.SYNOPSIS
    Powercat Infostealer IOC & Artifact Hunt — Security Arsenal
.DESCRIPTION
    Checks endpoints for Powercat campaign artifacts: known file hashes, C2 domain
    connections, suspicious Run-key persistence, and Java loader JAR droppings.
    Run elevated. Output: console + CSV per host.
#>

$ReportPath = ".\Powercat_Hunt_$(Get-Date -Format 'yyyyMMdd_HHmmss').csv"
$Findings = @()

# --- 1. Known malicious hashes (OTX Pulse: Powercat campaign) ---
$MalHashes = @(
    "a33a96cbd92eef15116c0c1dcaa8feb6eee28a818046ac9576054183e920eeb5",
    "a9b4823a1b2c0702a1eb8a1bf18db2d9c9604d2d2dd98a99f1d388bf7cfa71e3",
    "c0c3a0331b57d10d23a172a79bdf13ab066255de41774e5a19dd8a8e8446e1fa",
    "725567384190916da37957e90bd5892a6b4fbe09",
    "ac5bb68591b4350858878d2184bdac63cedfcb60",
    "1d8e87144890cfe06a208c99a50748f7",
    "ccb902ac93fce95a87d19262ef90688c"
)

Write-Host "[1/5] Hashing executables in high-risk user paths..." -ForegroundColor Cyan
$ScanPaths = @("$env:USERPROFILE\Downloads", "$env:APPDATA", "$env:LOCALAPPDATA\Temp", "C:\ProgramData")
foreach ($p in $ScanPaths) {
    if (Test-Path $p) {
        Get-ChildItem -Path $p -Recurse -Include *.exe,*.jar -ErrorAction SilentlyContinue | ForEach-Object {
            try {
                $h = Get-FileHash $_.FullName -Algorithm SHA256 -ErrorAction Stop
                if ($MalHashes -contains $h.Hash.ToLower()) {
                    $Findings += [PSCustomObject]@{Check="Malicious Hash"; Artifact=$_.FullName; Detail=$h.Hash; Severity="CRITICAL"}
                }
            } catch {}
        }
    }
}

# --- 2. Active/historical connections to powercat.dog ---
Write-Host "[2/5] Checking network connections and DNS cache for powercat.dog..." -ForegroundColor Cyan
$DnsHits = Get-DnsClientCache -ErrorAction SilentlyContinue | Where-Object { $_.Entry -like "*powercat.dog*" }
if ($DnsHits) {
    $Findings += [PSCustomObject]@{Check="DNS Cache Hit"; Artifact="powercat.dog"; Detail=($DnsHits.Entry -join "; "); Severity="CRITICAL"}
}
$NetHits = Get-NetTCPConnection -ErrorAction SilentlyContinue | Where-Object { $_.State -eq "Established" }
foreach ($c in $NetHits) {
    try {
        $ptr = Resolve-DnsName -Name $c.RemoteAddress -Type PTR -ErrorAction Stop
        if ($ptr.NameHost -like "*powercat.dog*") {
            $proc = (Get-Process -Id $c.OwningProcess -ErrorAction SilentlyContinue).ProcessName
            $Findings += [PSCustomObject]@{Check="Active C2 Connection"; Artifact="$($c.RemoteAddress):$($c.RemotePort)"; Detail="Process: $proc (PID $($c.OwningProcess))"; Severity="CRITICAL"}
        }
    } catch {}
}

# --- 3. Run-key persistence referencing cheat/java/user paths ---
Write-Host "[3/5] Auditing Run keys for suspicious persistence..." -ForegroundColor Cyan
$RunKeys = @(
    "HKCU:\Software\Microsoft\Windows\CurrentVersion\Run",
    "HKLM:\Software\Microsoft\Windows\CurrentVersion\Run"
)
foreach ($rk in $RunKeys) {
    if (Test-Path $rk) {
        (Get-ItemProperty $rk).PSObject.Properties | Where-Object {
            $_.Value -match "(?i)(cheat|aimbot|roblox|minecraft|gta|javaw.*-jar|AppData.*\.exe)" -and $_.Name -notmatch "^PS"
        } | ForEach-Object {
            $Findings += [PSCustomObject]@{Check="Suspicious Run Key"; Artifact="$rk\$($_.Name)"; Detail=$_.Value; Severity="HIGH"}
        }
    }
}

# --- 4. Scheduled tasks executing from user-writable paths ---
Write-Host "[4/5] Auditing scheduled tasks..." -ForegroundColor Cyan
Get-ScheduledTask -ErrorAction SilentlyContinue | ForEach-Object {
    $actions = $_.Actions | Where-Object { $_.Execute -match "(?i)(AppData|Temp|Downloads|javaw)" }
    if ($actions) {
        $Findings += [PSCustomObject]@{Check="Suspicious Scheduled Task"; Artifact=$_.TaskName; Detail=($actions.Execute -join "; "); Severity="HIGH"}
    }
}

# --- 5. JAR files dropped in user-writable locations (Java loader staging) ---
Write-Host "[5/5] Searching for staged JAR loaders..." -ForegroundColor Cyan
foreach ($p in @("$env:APPDATA", "$env:LOCALAPPDATA\Temp", "C:\ProgramData")) {
    if (Test-Path $p) {
        Get-ChildItem -Path $p -Recurse -Filter *.jar -ErrorAction SilentlyContinue |
            Where-Object { $_.LastWriteTime -gt (Get-Date).AddDays(-60) } | ForEach-Object {
            $Findings += [PSCustomObject]@{Check="Recent JAR in User Path"; Artifact=$_.FullName; Detail="Modified: $($_.LastWriteTime)"; Severity="MEDIUM"}
        }
    }
}

# --- Output ---
if ($Findings.Count -gt 0) {
    Write-Host "`n[!] $($Findings.Count) finding(s) — review immediately:`n" -ForegroundColor Red
    $Findings | Sort-Object Severity | Format-Table -AutoSize
    $Findings | Export-Csv -Path $ReportPath -NoTypeInformation
    Write-Host "Report saved: $ReportPath" -ForegroundColor Yellow
} else {
    Write-Host "`n[+] No Powercat artifacts detected on this host." -ForegroundColor Green
}

Response Priorities

Immediate (0–4 hours)

  • Block powercat.dog and *.powercat.dog at DNS, web proxy, and egress firewall. Add all published SHA256/SHA1/MD5 hashes to EDR blocklists.
  • Retro-hunt DNS and proxy logs for powercat.dog contact since February 2026. Any hit = isolate the host and begin triage.
  • Hunt for execution artifacts using the KQL and PowerShell above: Java loaders from user paths, cheat-themed binaries in Downloads/AppData, and non-Discord processes reading Discord leveldb storage.
  • Sweep endpoints in departments with BYOD or relaxed software-install policies — gaming lures land disproportionately there.

24 Hours

  • Force Discord credential invalidation for any user on an affected host: log out all sessions, reset the password, and re-enroll MFA. Session tokens are the theft target — assume compromise of any Discord account active on an infected machine.
  • Rotate browser-stored credentials for affected users (the infostealer harvests saved passwords, cookies, and autofill). Prioritize SSO-adjacent accounts, password managers' browser extensions, and any corporate SaaS sessions authenticated from the endpoint.
  • Treat stolen session cookies as live access: revoke active sessions for corporate SaaS (Microsoft 365, Google Workspace, Slack) accessed from the host, not just passwords.
  • Check for crypto wallet exposure on affected machines — if desktop wallets or browser-extension wallets (MetaMask, Phantom) are present, instruct users to move funds to freshly generated wallets from a clean device.
  • Interview the user on the download source — the lure URL/Discord server is intelligence for further blocking and may reveal additional internal targets via shared links.

1 Week

  • Application control hardening: enforce WDAC/AppLocker policies blocking unsigned executables and java.exe -jar execution from user-writable directories. The Java-loader stage is a clean architectural choke point — most enterprises have no legitimate reason for ad-hoc JAR execution from AppData.
  • Browser policy: disable password saving in enterprise browsers via GPO/Intune and migrate users to a managed password manager with no local credential cache readable by user-mode processes.
  • Discord and gaming-app governance: define policy for non-business communication platforms on corporate endpoints; where business use exists, enforce conditional access so Discord sessions cannot carry corporate SaaS tokens in the same browser profile.
  • Outbound filtering: alert on Discord webhook URLs (discord.com/api/webhooks) in egress proxy logs from non-browser processes — a common infostealer exfil channel.
  • User awareness push targeted at the cheat/mod-download lure: short, specific, and timed while this campaign is active.

Related Resources

Security Arsenal Incident Response

Managed SOC & MDR Services

AlertMonitor Threat Detection

From The Dark Side Intel Hub

Is your security operations ready?

Get a free SOC assessment or see how AlertMonitor cuts through alert noise with automated triage.