← All hunts high TLP:CLEAR Part 2 of 2

REVSTEALER: Credential Theft and Follow-on Impact

An intruder has deployed an infostealer to harvest credentials from gaming and communication platforms, utilizing blockchain-based fallback infrastructure to maintain C2 and deploying impact modules like miners and proxies.

Based on research by Elastic Security Labs 2026-09-20 10 steps · 4 queries T1115 T1133 T1176 T1496 T1555 T1566

Brief

Why now

Elastic Security Labs recently detailed REVSTEALER, an infostealer that harvests credentials and deploys impact modules. The adversary targets users of common gaming and communication software. They use resilient blockchain-based infrastructure for command and control. We published this hunt to address the specific behaviors and persistence mechanisms identified in their report: REVSTEALER ramps up: analysis of up-and-coming infostealer (https://www.elastic.co/security-labs/threat-command/revstealer-credential-harvesting-infostealer).

How the hunt flows

The hunt begins with an inventory of targeted software. The first query searches the fleet for packages like Slack, Steam, or qBittorrent. This narrowed list focuses the subsequent analysis on high-risk workstations where lures or targets already exist.

The second phase runs three concurrent queries to corroborate malicious behavior. The file activity query looks for processes reading sensitive gaming configuration files such as loginusers.vdf or battle.net.config. This identifies potential credential theft that occurs before the data leaves the host.

The network analysis phase monitors for DNS resolutions to known C2 domains and Polygon smart-contract RPC endpoints. Because REVSTEALER uses these blockchain endpoints as a dead-drop to rotate its final C2 server, identifying this traffic is a key indicator of its resilience mechanism.

A process check identifies task-delivered modules. It baselines execution to find rare instances of modules like ProManager or XMRig. This step highlights the actual impact on the machine, such as resource hijacking or persistent access.

The triage phase uses an automated agent to weigh the evidence across file access, network activity, and process execution. The agent evaluates whether a host shows multiple overlapping indicators. If the agent confirms a malicious verdict, the playbook directs the analyst to isolate the host and initiate session revocation for all potentially compromised accounts.

What the hunt cannot see

This hunt has specific blind spots. It cannot see credential extraction that bypasses file-based monitoring, such as when an adversary uses hardware breakpoints to circumvent App-Bound Encryption in browsers. Additionally, while we monitor for initial Polygon RPC traffic, visibility into the final C2 destination depends on decryption or further behavioral analysis after the smart contract rotation occurs.

How to run it10A simple rule on

Polygon RPC endpoints would be too noisy for environments with common cryptocurrency users. This hunt joins those network signals with rare process execution and specific file access to create a high-confidence behavioral picture. To run this investigation, download the hunt.md playbook and import it into Huntbase or any hunt.md-aware runtime.

Steps

  1. Inventory of targeted software

    Query · scoping

    Identify endpoints where software that REVSTEALER targets or impersonates is installed to narrow the scope of the investigation.

    reads hb_software_inventorysql
    SELECT DISTINCT device_hostname, package_name, vendor_name FROM hb_software_inventory WHERE (instr(',' || '{{target_software}}' || ',', ',' || LOWER(package_name) || ',') > 0)

    What a hit looks like. Hosts with Steam, Battle.net, Slack, or other lure software. Silence means no such software is indexed in the inventory.

  2. Sensitive gaming configuration access

    Query · detection candidate

    Find processes reading the specific configuration files targeted by REVSTEALER for account takeover.

    reads hb_file_activitysql
    SELECT device_hostname, file_name, file_path, process_name, time FROM hb_file_activity WHERE instr(',' || '{{gaming_config_files}}' || ',', ',' || LOWER(file_name) || ',') > 0 AND ('{{scope_hosts}}' = '' OR instr(',' || '{{scope_hosts}}' || ',', ',' || device_hostname || ',') > 0) AND time >= datetime('now', '-{{lookback_days}} days')

    What a hit looks like. Processes other than the legitimate game engine reading these files indicate potential credential theft.

  3. C2 and Polygon infrastructure resolutions

    Query · enrichment

    Identify DNS activity to known REVSTEALER C2 servers and Polygon smart-contract RPC endpoints.

    reads hb_dns_activitysql
    SELECT device_hostname, query_hostname, process_name, time FROM hb_dns_activity WHERE instr(',' || '{{c2_domains}}' || ',', ',' || LOWER(query_hostname) || ',') > 0 AND ('{{scope_hosts}}' = '' OR instr(',' || '{{scope_hosts}}' || ',', ',' || device_hostname || ',') > 0) AND time >= datetime('now', '-{{lookback_days}} days')

    What a hit looks like. Resolutions to the malicious domains. Silence is not proof of absence if new smart contracts or RPCs are in use.

  4. Execution of follow-on impact modules

    Query · baseline

    Identify the execution of rare modules delivered via REVSTEALER tasks to find malicious payloads like XMRig.

    reads hb_process_activitysql
    SELECT LOWER(process_name) AS p_name, COUNT(DISTINCT device_hostname) AS hosts, MIN(time) AS first_seen FROM hb_process_activity WHERE instr(',' || '{{module_names}}' || ',', ',' || LOWER(process_name) || ',') > 0 AND ('{{scope_hosts}}' = '' OR instr(',' || '{{scope_hosts}}' || ',', ',' || device_hostname || ',') > 0) AND time >= datetime('now', '-{{lookback_days}} days') GROUP BY LOWER(process_name) HAVING hosts <= 3

    What a hit looks like. Execution of named modules on a very small subset of hosts. Higher counts may indicate legitimate software.

  5. Triage REVSTEALER evidence

    Agent triage

    Weigh the evidence from file access, network activity, and process execution to determine the likelihood of a REVSTEALER infection.

  6. Route on verdict

    Decision

    Halt data exfiltration by isolating confirmed malicious hosts.

  7. Isolate host and revoke sessions

    Response action

    Restrict the affected host from the network and force session invalidation to prevent further account takeover.

  8. Analyst review

    Analyst task

    Verify the agent findings and investigate potential lateral movement or persistent modules.

  9. Close out

    Analyst task

    Document findings and assess if behavioral signals should be promoted to standing detections.

Coverage

Scenario coverage

StageCoveredHow, or why not
Credential and Gaming Account Harvesting
T1555 · T1176
Yes gaming-config-theft
C2 Communication and Polygon Fallback Yes c2-dns-resolutions
Resource Hijacking and Proxy Modules
T1496 · T1133
Yes follow-on-modules
Social Engineering via YouTube and Trojanized Software
T1566
Out of scope Belongs to another part of the 'REVSTEALER ramps up: analysis of up-and-coming infostealer' series.
Evasion and Sandbox Scoring Out of scope Belongs to another part of the 'REVSTEALER ramps up: analysis of up-and-coming infostealer' series.
System Profiling and Information Discovery
T1115
Out of scope Belongs to another part of the 'REVSTEALER ramps up: analysis of up-and-coming infostealer' series.

Blind spots

  • Needs hb_module_activity with debugger-specific eventing. Traditional file access rules miss the memory-based bypass of browser security, allowing silent extraction of browser-bound keys. It would answer Was App-Bound Encryption bypassed via hardware breakpoints?.
  • Needs HTTP decryption or memory analysis. The adversary rotates the final C2 server using a smart contract, meaning static DNS/IP lists will fail to observe the new infrastructure. It would answer What is the final C2 destination after smart-contract decryption?.

Parameters & data

Parameters

ParameterTypeDefaultWhat it is
c2_domainslist[domain]elitecheatsx.live, resight-cheats.net, polygon.iwmukj.xyz, polygon.mnyhgxda.xyz, static4.livelab.oneKnown primary C2 and Polygon dead-drop domains.
gaming_config_fileslist[string]battle.net.config, robloxcookies.dat, local.vdf, loginusers.vdfFilenames of gaming configuration files targeted for harvesting.
lookback_daysnumber14Days of history to examine.
module_nameslist[string]promanager.exe, winupdate.exe, softmanager.exe, lockapphost.exe, xmrig.exeNames of follow-on modules delivered via REVSTEALER tasking.
scope_hostslist[host]Optional list of hosts to narrow the hunt; defaults to all.
target_softwarelist[string]slack, steam, battle.net, qbittorrent, roblox, blender, steelseriesSoftware names associated with REVSTEALER lures or targets.

Telemetry

SourceCategoryTelemetry
Endpoint telemetry (hb_ surfaces)endpointendpoint

Source

Download hunt.md Definition (JSON) An open hunt.md file; it runs anywhere that reads the format.
---
analysis: A simple rule on Polygon RPC endpoints would be too noisy for common crypto
  users. This hunt joins those network signals with rare process execution and specific
  gaming configuration file access to create a high-confidence behavioral picture.
blind_spots:
- id: abe-bypass-monitoring
  question: Was App-Bound Encryption bypassed via hardware breakpoints?
  requires: hb_module_activity with debugger-specific eventing
  risk: Traditional file access rules miss the memory-based bypass of browser security,
    allowing silent extraction of browser-bound keys.
  stage: credential-and-gaming-data-theft
- id: decrypted-c2-visibility
  question: What is the final C2 destination after smart-contract decryption?
  requires: HTTP decryption or memory analysis
  risk: The adversary rotates the final C2 server using a smart contract, meaning
    static DNS/IP lists will fail to observe the new infrastructure.
  stage: c2-polygon-dead-drop
coverage:
- stage: credential-and-gaming-data-theft
  status: covered
  steps:
  - gaming-config-theft
- stage: c2-polygon-dead-drop
  status: covered
  steps:
  - c2-dns-resolutions
- stage: follow-on-module-delivery
  status: covered
  steps:
  - follow-on-modules
- reason: 'Belongs to another part of the ''REVSTEALER ramps up: analysis of up-and-coming
    infostealer'' series.'
  stage: initial-access-social-engineering
  status: out_of_scope
- reason: 'Belongs to another part of the ''REVSTEALER ramps up: analysis of up-and-coming
    infostealer'' series.'
  stage: anti-analysis-and-evasion
  status: out_of_scope
- reason: 'Belongs to another part of the ''REVSTEALER ramps up: analysis of up-and-coming
    infostealer'' series.'
  stage: victim-profiling-and-discovery
  status: out_of_scope
guardrails:
  claims: no_unsupported
  evidence: citation_required
  missing_data: not_benign
  telemetry: untrusted
hunt:
  applicability: campaign-specific
  handoff: promote-to-detection
  justification: REVSTEALER uses resilient blockchain infrastructure to maintain persistent
    account access for theft. A negative result confirms that session cookies for
    critical platforms have not been harvested from the enrolled estate.
  methodology: model-assisted
  trigger: intel-report
hypothesis: An intruder has deployed an infostealer to harvest credentials from gaming
  and communication platforms, utilizing blockchain-based fallback infrastructure
  to maintain C2 and deploying impact modules like miners and proxies.
labels:
- hunt
- attack.t1555
- attack.t1176
- attack.t1496
- attack.t1133
- attack.t1115
- attack.t1566
name: 'REVSTEALER: Credential Theft and Follow-on Impact'
parameters:
  c2_domains:
    default:
    - elitecheatsx.live
    - resight-cheats.net
    - polygon.iwmukj.xyz
    - polygon.mnyhgxda.xyz
    - static4.livelab.one
    description: Known primary C2 and Polygon dead-drop domains.
    from:
      kind: article
      observed: '2026-09-02'
      ref: elastic-security-labs
    type: list[domain]
  gaming_config_files:
    default:
    - battle.net.config
    - robloxcookies.dat
    - local.vdf
    - loginusers.vdf
    description: Filenames of gaming configuration files targeted for harvesting.
    from:
      kind: article
      observed: '2026-09-02'
      ref: elastic-security-labs
    type: list[string]
  lookback_days:
    default: '14'
    description: Days of history to examine.
    from:
      kind: manual
      observed: '2026-09-02'
      ref: default
    type: number
  module_names:
    default:
    - promanager.exe
    - winupdate.exe
    - softmanager.exe
    - lockapphost.exe
    - xmrig.exe
    description: Names of follow-on modules delivered via REVSTEALER tasking.
    from:
      kind: article
      observed: '2026-09-02'
      ref: elastic-security-labs
    type: list[string]
  scope_hosts:
    default: []
    description: Optional list of hosts to narrow the hunt; defaults to all.
    from:
      kind: manual
      observed: '2026-09-02'
      ref: default
    type: list[host]
  target_software:
    default:
    - slack
    - steam
    - battle.net
    - qbittorrent
    - roblox
    - blender
    - steelseries
    description: Software names associated with REVSTEALER lures or targets.
    from:
      kind: article
      observed: '2026-09-02'
      ref: elastic-security-labs
    type: list[string]
provenance:
  authors:
  - name: Huntbase hunt generation
    org: huntbase.io
  generated:
    by: huntbase-hunt-generation
    from: https://www.elastic.co/security-labs/threat-command/revstealer-credential-harvesting-infostealer
    gates:
    - dry-run
    - lint
    model: hb_google/gemini-3-flash-preview
rationale: Focus on workstations where users have gaming software installed alongside
  corporate applications like Slack. Narrow to hosts where lure software (qBittorrent,
  Blender) has been recently launched.
references:
- name: 'REVSTEALER ramps up: analysis of up-and-coming infostealer'
  url: https://www.elastic.co/security-labs/threat-command/revstealer-credential-harvesting-infostealer
related:
- hunt: revstealer-victim-profiling
  reason: Victim profiling and CIS discovery checks are distinct behaviors covered
    in a separate profiling hunt.
  relation: out-of-scope-alternative
scenario:
  stages:
  - name: Social Engineering via YouTube and Trojanized Software
    observables:
    - elitecheatsx.live
    - resight-cheats.net
    - SteelSeriesGG.exe
    - slack.exe
    - qBittorrent.exe
    slug: initial-access-social-engineering
    tactic: initial-access
    techniques:
    - T1566
  - name: Evasion and Sandbox Scoring
    observables:
    - VMProtect packer
    - FNV-1a hash lookups
    - 6-character token verification window
    - indirect syscalls
    slug: anti-analysis-and-evasion
    tactic: defense-evasion
  - name: System Profiling and Information Discovery
    observables:
    - GetEnvironmentStringsW
    - SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
    - OpenClipboard
    - GetClipboardData
    - screenshot capture
    slug: victim-profiling-and-discovery
    tactic: discovery
    techniques:
    - T1115
  - name: Credential and Gaming Account Harvesting
    observables:
    - Chromium App-Bound Encryption bypass
    - '%LOCALAPPDATA%\Battle.net\Battle.net.config'
    - Robloxcookies.dat
    - local.vdf
    - loginusers.vdf
    - 225 Chromium extension identifiers
    slug: credential-and-gaming-data-theft
    tactic: credential-access
    techniques:
    - T1555
    - T1176
  - name: C2 Communication and Polygon Fallback
    observables:
    - polygon.iwmukj.xyz
    - polygon.mnyhgxda.xyz
    - static4.livelab.one
    - '0x7e4126ADFE6679B3613F629CD49162Fb08fc53Bd'
    - '0x0EC6a6D31b36271eBD06450EA98c84eBa8a191d5'
    slug: c2-polygon-dead-drop
    tactic: command-and-control
  - name: Resource Hijacking and Proxy Modules
    observables:
    - ProManager
    - WinUpdate
    - SoftManager
    - LockAppHost
    - XMRig
    slug: follow-on-module-delivery
    tactic: impact
    techniques:
    - T1496
    - T1133
  summary: "REVSTEALER is an emerging infostealer distributed through social engineering\
    \ and trojanized installers for software like Slack and qBittorrent, using a custom\
    \ sandbox scoring system and Polygon blockchain dead drops for C2 resilience.\
    \ The malware specifically targets gaming platforms, cryptocurrency wallets, and\
    \ browser credentials\u2014including a bypass for Chromium's App-Bound Encryption\u2014\
    and can deploy additional modules for cryptomining and proxying."
series:
  index: 2
  slug: revstealer-ramps-up-analysis-of-up-and-coming-infostealer
  title: 'REVSTEALER ramps up: analysis of up-and-coming infostealer'
  total: 2
severity: high
targets:
  analyst:
    name: Tier-2 analyst
    role: analyst
  endpoint:
    category: endpoint
    name: Endpoint telemetry (hb_ surfaces)
    telemetry:
    - endpoint
  hunter:
    agent: true
    name: Hunt agent
tlp: clear
type: investigation
---


# REVSTEALER: Credential Theft and Follow-on Impact

This hunt targets the core stealing behavior and resilience mechanisms of REVSTEALER. It identifies hosts with targeted gaming or communication software, then correlates this with evidence of sensitive configuration file access, DNS resolutions to Polygon-based dead-drop infrastructure, and the execution of task-delivered impact modules like XMRig. An agent weighs these signals together to identify active account takeovers and resource hijacking across the fleet.

## target-software-inventory
<!-- Inventory of targeted software -->
Identify endpoints where software that REVSTEALER targets or impersonates is installed to narrow the scope of the investigation.

```sqlite target=endpoint role=scoping params=(target_software=target_software)
~~~yaml
expected: Hosts with Steam, Battle.net, Slack, or other lure software. Silence means
  no such software is indexed in the inventory.
reads:
- device_hostname
- package_name
- vendor_name
silence: not_evidence_of_absence
source: hb_software_inventory
verified: dry-run
verified_at: '2026-09-20'
~~~
SELECT DISTINCT device_hostname, package_name, vendor_name FROM hb_software_inventory WHERE (instr(',' || '{{target_software}}' || ',', ',' || LOWER(package_name) || ',') > 0)
```

## corroborate-activity
<!-- Corroborate behavior and network signals -->
parallel:
- → gaming-config-theft
- → c2-dns-resolutions
- → follow-on-modules
join: → agent-triage

## gaming-config-theft
<!-- Sensitive gaming configuration access -->
Find processes reading the specific configuration files targeted by REVSTEALER for account takeover.

```sqlite target=endpoint role=detection-candidate params=(gaming_config_files=gaming_config_files, scope_hosts=scope_hosts, lookback_days=lookback_days)
~~~yaml
expected: Processes other than the legitimate game engine reading these files indicate
  potential credential theft.
reads:
- device_hostname
- file_name
- file_path
- process_name
- time
silence: not_evidence_of_absence
source: hb_file_activity
verified: dry-run
verified_at: '2026-09-20'
~~~
SELECT device_hostname, file_name, file_path, process_name, time FROM hb_file_activity WHERE instr(',' || '{{gaming_config_files}}' || ',', ',' || LOWER(file_name) || ',') > 0 AND ('{{scope_hosts}}' = '' OR instr(',' || '{{scope_hosts}}' || ',', ',' || device_hostname || ',') > 0) AND time >= datetime('now', '-{{lookback_days}} days')
```

## c2-dns-resolutions
<!-- C2 and Polygon infrastructure resolutions -->
Identify DNS activity to known REVSTEALER C2 servers and Polygon smart-contract RPC endpoints.

```sqlite target=endpoint role=enrichment params=(c2_domains=c2_domains, scope_hosts=scope_hosts, lookback_days=lookback_days)
~~~yaml
expected: Resolutions to the malicious domains. Silence is not proof of absence if
  new smart contracts or RPCs are in use.
reads:
- device_hostname
- process_name
- query_hostname
- time
silence: not_evidence_of_absence
source: hb_dns_activity
verified: dry-run
verified_at: '2026-09-20'
~~~
SELECT device_hostname, query_hostname, process_name, time FROM hb_dns_activity WHERE instr(',' || '{{c2_domains}}' || ',', ',' || LOWER(query_hostname) || ',') > 0 AND ('{{scope_hosts}}' = '' OR instr(',' || '{{scope_hosts}}' || ',', ',' || device_hostname || ',') > 0) AND time >= datetime('now', '-{{lookback_days}} days')
```

## follow-on-modules
<!-- Execution of follow-on impact modules -->
Identify the execution of rare modules delivered via REVSTEALER tasks to find malicious payloads like XMRig.

```sqlite target=endpoint role=baseline params=(module_names=module_names, scope_hosts=scope_hosts, lookback_days=lookback_days)
~~~yaml
baseline:
  compare: first_seen
  window: '{{lookback_days}}d'
expected: Execution of named modules on a very small subset of hosts. Higher counts
  may indicate legitimate software.
prevalence:
  by: device_hostname
  key:
  - process_name
  rare_below: 3
reads:
- device_hostname
- process_name
- time
silence: not_evidence_of_absence
source: hb_process_activity
verified: dry-run
verified_at: '2026-09-20'
~~~
SELECT LOWER(process_name) AS p_name, COUNT(DISTINCT device_hostname) AS hosts, MIN(time) AS first_seen FROM hb_process_activity WHERE instr(',' || '{{module_names}}' || ',', ',' || LOWER(process_name) || ',') > 0 AND ('{{scope_hosts}}' = '' OR instr(',' || '{{scope_hosts}}' || ',', ',' || device_hostname || ',') > 0) AND time >= datetime('now', '-{{lookback_days}} days') GROUP BY LOWER(process_name) HAVING hosts <= 3
```

## agent-triage
<!-- Triage REVSTEALER evidence -->
```agent target=hunter
cite: required
context:
- target-software-inventory
- gaming-config-theft
- c2-dns-resolutions
- follow-on-modules
max_iterations: 6
objective: Determine if any host shows overlapping evidence of sensitive configuration
  theft, C2 network patterns, and follow-on module execution.
success_criteria: A per-host verdict of malicious, suspicious, or benign citing the
  specific rows found.
tools:
- endpoint
```

## route-on-verdict
<!-- Route on verdict -->
if~: "the agent-triage verdict is malicious for at least one host based on overlapping file theft and C2 activity." (confidence: high, judge=hunter)
then: → isolate-host-and-revoke
indeterminate: → analyst-review
unavailable: → analyst-review (blind_spot: abe-bypass-monitoring)
else: → close-out

## isolate-host-and-revoke
<!-- Isolate host and revoke sessions -->
```action target=endpoint
~~~yaml
approval: required
~~~
Isolate the host immediately via the endpoint agent. Force a password reset and session revocation for all potentially compromised accounts, including Steam, Battle.net, and Slack.
```
→ analyst-review

## analyst-review
<!-- Analyst review -->
```manual target=analyst
Review the cited rows from file and network activity. Check the environmental variables of the malicious process for sensitive tokens. Confirm if ProManager or XMRig modules were successfully executed.
```
→ close-out

## close-out
<!-- Close out -->
```manual target=analyst
Record the findings, including any new contract addresses identified. If the gaming configuration access signal was high confidence, promote the 'gaming-config-theft' query to a standing rule.
```
→ end

Run it

Take this hunt into your environment.

Open it in Huntbase to run every step against your own connections, with Scout weighing the evidence and your analysts in command. Or take the open hunt.md file anywhere that reads the format.

Machine-drafted by huntbase-hunt-generation using hb_google/gemini-3-flash-preview, gated by dry-run, lint, then reviewed by a person.