← All hunts high TLP:CLEAR Part 2 of 2

GTA 6 Hype: RAT C2 and Data Theft

An adversary is leveraging Grand Theft Auto VI hype to deploy RATs and infostealers that use ngrok tunnels for command and control and Discord for credential exfiltration.

Based on research by Huntress 2026-09-20 9 steps · 3 queries T1071.001 T1090.003 T1115 T1555 T1572

Brief

The Threat of GTA VI Hype

Huntress recently detailed how adversaries exploit the anticipation for Grand Theft Auto VI in their report Grand Theft Auto VI hype leads to malware. Attackers distribute fake installers that bundle functional malware, including NJRAT and DCRAT, to gain remote access and steal credentials from unsuspecting users.

How the Hunt Flows

The hunt begins by scoping execution. A query against hb_process_activity identifies every process launching from %TEMP% or C:\Users\Default. These paths represent the primary execution stages for the reported malware bundle. This step produces a broad list of candidates, as many legitimate installers also run from these locations.

To isolate the threat, the hunt applies a prevalence filter. It stack-counts the discovered binaries across the fleet and keeps only those appearing on three or fewer hosts. This rarity signal separates unique malware variants from common enterprise software and routine updates.

In the final phase, the hunt correlates these rare processes with network activity. It checks for outbound connections to ngrok infrastructure, specific malicious IPs, or Discord. This step confirms the command-and-control behavior and identifies potential exfiltration events. An analyst or agent then triages the overlap between rare execution paths and suspicious network destinations to provide a final verdict.

Blind Spots

This hunt relies heavily on network telemetry. If a host lacks hb_network_connection logs, the hunt only flags rare binaries without confirming C2 activity, which increases the false positive rate. Additionally, without TLS inspection for hb_http_activity, an analyst identifies connections to Discord webhooks but cannot confirm exactly which credentials or files the adversary exfiltrated.

In this series

Steps

  1. Execution from temporary and default user paths

    Query · scoping

    Identify processes launching from %TEMP% or C:\Users\Default which are the primary execution stages for this malware bundle.

    reads hb_process_activitysql
    SELECT device_hostname, process_name, process_path, process_cmd_line, user_name, time FROM hb_process_activity WHERE (LOWER(process_path) LIKE '%\temp\%' OR LOWER(process_path) LIKE '%\users\default\%') AND ('{{scope_hosts}}' = '' OR instr(',' || '{{scope_hosts}}' || ',', ',' || device_hostname || ',') > 0) AND time >= datetime('now', '-{{lookback_days}} days')

    What a hit looks like. A list of processes running from user-writable paths. Most will be legitimate installers, which the prevalence step will filter.

  2. Prevalence of binaries in temporary paths

    Query · baseline

    Filter the lead results by identifying binaries that are rare across the fleet, suggesting they are malware variants rather than enterprise software.

    reads hb_process_activitysql
    SELECT LOWER(process_path) AS path, COUNT(DISTINCT device_hostname) AS host_count, MIN(time) AS first_seen FROM hb_process_activity WHERE (LOWER(process_path) LIKE '%\temp\%' OR LOWER(process_path) LIKE '%\users\default\%') AND ('{{scope_hosts}}' = '' OR instr(',' || '{{scope_hosts}}' || ',', ',' || device_hostname || ',') > 0) AND time >= datetime('now', '-{{lookback_days}} days') GROUP BY path HAVING host_count <= 3

    What a hit looks like. A stack-counted list of binaries; paths seen on 3 or fewer hosts are the primary indicators of opportunistic malware.

  3. Malicious C2 and ngrok network activity

    Query · detection candidate

    Match host connections to the reported RAT infrastructure and identify potential Discord data exfiltration.

    reads hb_network_connectionsql
    SELECT device_hostname, process_name, dst_endpoint_ip, dst_endpoint_hostname, dst_endpoint_port, time FROM hb_network_connection WHERE (instr(',' || '{{c2_ips}}' || ',', ',' || dst_endpoint_ip || ',') > 0 OR instr(',' || '{{c2_domains}}' || ',', ',' || LOWER(dst_endpoint_hostname) || ',') > 0) AND ('{{scope_hosts}}' = '' OR instr(',' || '{{scope_hosts}}' || ',', ',' || device_hostname || ',') > 0) AND time >= datetime('now', '-{{lookback_days}} days')

    What a hit looks like. Outbound connections to AWS, ngrok, or Discord hosts. Silence proves absence only for the specified indicators.

  4. Triage binary and network evidence

    Agent triage

    Weigh process rarity against network signals.

  5. Route on verdict

    Decision

    Direct action based on agent analysis.

  6. Isolate host and preserve evidence

    Response action

    Contain the threat and prevent further exfiltration.

  7. Analyst review and exfiltration check

    Analyst task

    Examine the scope of stolen credentials and confirm initial infection source.

  8. Close out

    Analyst task

    Document the hunt result.

Coverage

Scenario coverage

StageCoveredHow, or why not
RAT Command and Control with Tunneling
T1090.003 · T1572
Yes suspicious-path-execution, binary-rarity-baseline, c2-network-activity
Infostealer Collection and Exfiltration
T1555 · T1115
Yes suspicious-path-execution, c2-network-activity
Initial Access via SEO Poisoning
T1190
Out of scope Belongs to another part of the 'Grand Theft Auto VI hype leads to malware' series.
Fake Installer Execution and Staging Out of scope Belongs to another part of the 'Grand Theft Auto VI hype leads to malware' series.
Wiper Impact and Recovery Inhibition
T1486 · T1490
Out of scope Belongs to another part of the 'Grand Theft Auto VI hype leads to malware' series.

Blind spots

  • Needs hb_network_connection from all endpoints. A host without network logging will only be flagged based on binary rarity, which is a lower confidence signal without network correlation. It would answer whether the host communicated with the C2 servers.
  • Needs hb_http_activity with full URL/Payload inspection. Without TLS inspection, the analyst can see the connection to Discord but cannot confirm the nature of the exfiltrated data. It would answer what specific credentials were sent to Discord webhooks.

Parameters & data

Parameters

ParameterTypeDefaultWhat it is
c2_domainslist[domain]7.tcp.eu.ngrok.io, a0700877.xsph.ru, discord.comC2 domains and hostnames observed in the malware traffic.
c2_ipslist[ip]35.157.111.131, 3.68.56.232, 3.67.15.169, 141.8.197.42C2 IP addresses for NJRAT and DCRAT identified in the report.
lookback_daysnumber14Days of history to examine.
scope_hostslist[host]Optional list of hostnames to focus the hunt; leave empty for fleet-wide.

Telemetry

SourceCategoryTelemetry
Endpoint telemetry (hb_ surfaces)endpointendpoint
Network telemetrynetworknetwork

Source

Download hunt.md Definition (JSON) An open hunt.md file; it runs anywhere that reads the format.
---
analysis: This hunt combines behavioral path execution, stack-counted prevalence,
  and network indicator matching to find variants that a static hash-based rule would
  miss.
blind_spots:
- id: missing-network-telemetry
  question: whether the host communicated with the C2 servers
  requires: hb_network_connection from all endpoints
  risk: A host without network logging will only be flagged based on binary rarity,
    which is a lower confidence signal without network correlation.
  stage: rat-c2-and-tunneling
- id: tls-inspection-gap
  question: what specific credentials were sent to Discord webhooks
  requires: hb_http_activity with full URL/Payload inspection
  risk: Without TLS inspection, the analyst can see the connection to Discord but
    cannot confirm the nature of the exfiltrated data.
  stage: infostealer-credential-theft
coverage:
- stage: rat-c2-and-tunneling
  status: covered
  steps:
  - suspicious-path-execution
  - binary-rarity-baseline
  - c2-network-activity
- stage: infostealer-credential-theft
  status: covered
  steps:
  - suspicious-path-execution
  - c2-network-activity
- reason: Belongs to another part of the 'Grand Theft Auto VI hype leads to malware'
    series.
  stage: initial-access-seo-poisoning
  status: out_of_scope
- reason: Belongs to another part of the 'Grand Theft Auto VI hype leads to malware'
    series.
  stage: fake-installer-deployment
  status: out_of_scope
- reason: Belongs to another part of the 'Grand Theft Auto VI hype leads to malware'
    series.
  stage: wiper-impact-and-recovery-inhibition
  status: out_of_scope
guardrails:
  claims: no_unsupported
  evidence: citation_required
  missing_data: not_benign
  telemetry: untrusted
hunt:
  applicability: campaign-specific
  handoff: keep-as-periodic-hunt
  justification: The use of 'leaked' software hype to distribute multifunctional malware
    is a persistent threat to corporate identity; confirming the absence of these
    RATs protects the enterprise fleet.
  methodology: model-assisted
  trigger: intel-report
hypothesis: An adversary is leveraging Grand Theft Auto VI hype to deploy RATs and
  infostealers that use ngrok tunnels for command and control and Discord for credential
  exfiltration.
labels:
- hunt
- attack.t1090.003
- attack.t1572
- attack.t1555
- attack.t1115
- attack.t1071.001
name: 'GTA 6 Hype: RAT C2 and Data Theft'
parameters:
  c2_domains:
    default:
    - 7.tcp.eu.ngrok.io
    - a0700877.xsph.ru
    - discord.com
    description: C2 domains and hostnames observed in the malware traffic.
    from:
      kind: article
      observed: '2026-09-09'
      ref: huntress-gta6
    type: list[domain]
  c2_ips:
    default:
    - 35.157.111.131
    - 3.68.56.232
    - 3.67.15.169
    - 141.8.197.42
    description: C2 IP addresses for NJRAT and DCRAT identified in the report.
    from:
      kind: article
      observed: '2026-09-09'
      ref: huntress-gta6
    type: list[ip]
  lookback_days:
    default: '14'
    description: Days of history to examine.
    from:
      kind: manual
      observed: '2026-09-09'
      ref: standard-retention
    type: number
  scope_hosts:
    default: []
    description: Optional list of hostnames to focus the hunt; leave empty for fleet-wide.
    from:
      kind: manual
      observed: '2026-09-09'
      ref: analyst-scoping
    type: list[host]
provenance:
  authors:
  - name: Huntbase hunt generation
    org: huntbase.io
  generated:
    by: huntbase-hunt-generation
    from: https://www.huntress.com/blog/fake-gta6-download-malware-analysis
    gates:
    - dry-run
    - lint
    model: hb_google/gemini-3-flash-preview
rationale: Start with end-user workstations where users are most likely to search
  for game leaks. Focus on the last 14 days following any high-profile game announcements.
references:
- name: "Huntress \u2014 Grand Theft Auto VI hype leads to malware"
  url: https://www.huntress.com/blog/fake-gta6-download-malware-analysis
related:
- hunt: gta6-hype-wiper-logic
  reason: This hunt focuses on C2 and exfiltration; the wiper functionality (encryption
    and Shadow Copy deletion) is a distinct behavioral phase.
  relation: out-of-scope-alternative
- hunt: gta6-malicious-installer-wiper-activity
  relation: follows
scenario:
  stages:
  - name: Initial Access via SEO Poisoning
    observables:
    - gta6installer.exe
    - https://clck.ru/34uJnp
    - Large ISO files masquerading as GTA6
    slug: initial-access-seo-poisoning
    tactic: initial-access
    techniques:
    - T1190
  - name: Fake Installer Execution and Staging
    observables:
    - '%TEMP%\checkinternetconnection.bat'
    - '%TEMP%\find.vbs'
    - '%TEMP%\licensechecker.exe'
    - '%TEMP%\rockstar.exe'
    - '%TEMP%\steam.exe'
    - '%TEMP%\rockstargames.exe'
    - '%TEMP%\YandexPackLoader.exe'
    - C:\Windows\System32\drivers\etc\hosts
    - WScript.exe find.vbs
    slug: fake-installer-deployment
    tactic: execution
  - name: RAT Command and Control with Tunneling
    observables:
    - 7.tcp.eu.ngrok.io:12684
    - 35.157.111.131
    - 3.68.56.232
    - 3.67.15.169
    - a0700877.xsph.ru
    - 141.8.197.42
    - any.ran.exe
    - UserOOBEBroker.exe
    slug: rat-c2-and-tunneling
    tactic: command-and-control
    techniques:
    - T1090.003
    - T1572
  - name: Infostealer Collection and Exfiltration
    observables:
    - adminapp.exe
    - Mercurial Grabber
    - https://discord.com/api/webhooks/995445114254139543/NmpxQmuBCD6sm3UkVvupGtx-Y0M_A86oJHp00O-l8F4jakfVhqFXzMBoy1uBDdj2rBLc
    slug: infostealer-credential-theft
    tactic: credential-access
    techniques:
    - T1555
    - T1115
  - name: Wiper Impact and Recovery Inhibition
    observables:
    - gta6.exe
    - '%USERPROFILE%\AppData\Roaming\svchost.exe'
    - vssadmin.exe delete shadows /all /quiet
    - bcdedit /set {default} recoveryenabled No
    - read_it.txt
    - YOU HAVE BEEN HACKED BY THE ASHA HACKER TEAM!
    slug: wiper-impact-and-recovery-inhibition
    tactic: impact
    techniques:
    - T1486
    - T1490
  summary: Threat actors are exploiting Grand Theft Auto VI hype by distributing malicious
    ISO files via SEO poisoning and gaming forums. The infection chain uses a fake
    installer to deploy a variety of malware including NJRAT, DCRAT, Mercurial Grabber,
    and Chaos ransomware, which acts as a wiper to destroy user data while inhibiting
    system recovery.
series:
  index: 2
  slug: grand-theft-auto-vi-hype-leads-to-malware
  title: Grand Theft Auto VI hype leads to malware
  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
  network:
    category: network
    name: Network telemetry
    telemetry:
    - network
tlp: clear
type: investigation
---


# GTA 6 Hype: RAT C2 and Data Theft

This hunt identifies post-infection activity from fake GTA 6 installers by targeting the C2 and exfiltration phases. It looks for processes running from temporary paths that communicate with known malicious infrastructure or Discord webhooks. The hunt uses fleet-wide prevalence to isolate unique malware binaries from legitimate installer noise.

## suspicious-path-execution
<!-- Execution from temporary and default user paths -->
Identify processes launching from %TEMP% or C:\Users\Default which are the primary execution stages for this malware bundle.

```sqlite target=endpoint role=scoping params=(lookback_days=lookback_days, scope_hosts=scope_hosts)
~~~yaml
expected: A list of processes running from user-writable paths. Most will be legitimate
  installers, which the prevalence step will filter.
reads:
- device_hostname
- process_name
- process_path
- process_cmd_line
- user_name
- time
silence: not_evidence_of_absence
source: hb_process_activity
verified: dry-run
verified_at: '2026-09-20'
~~~
SELECT device_hostname, process_name, process_path, process_cmd_line, user_name, time FROM hb_process_activity WHERE (LOWER(process_path) LIKE '%\temp\%' OR LOWER(process_path) LIKE '%\users\default\%') AND ('{{scope_hosts}}' = '' OR instr(',' || '{{scope_hosts}}' || ',', ',' || device_hostname || ',') > 0) AND time >= datetime('now', '-{{lookback_days}} days')
```

## corroborate-behavior
<!-- Corroborate with rarity and network signals -->
parallel:
- → binary-rarity-baseline
- → c2-network-activity
join: → triage-evidence

## binary-rarity-baseline
<!-- Prevalence of binaries in temporary paths -->
Filter the lead results by identifying binaries that are rare across the fleet, suggesting they are malware variants rather than enterprise software.

```sqlite target=endpoint role=baseline params=(lookback_days=lookback_days, scope_hosts=scope_hosts)
~~~yaml
baseline:
  compare: first_seen
  window: '{{lookback_days}}d'
expected: A stack-counted list of binaries; paths seen on 3 or fewer hosts are the
  primary indicators of opportunistic malware.
prevalence:
  by: device_hostname
  key:
  - process_path
  rare_below: 3
reads:
- process_path
- device_hostname
- time
silence: not_evidence_of_absence
source: hb_process_activity
verified: dry-run
verified_at: '2026-09-20'
~~~
SELECT LOWER(process_path) AS path, COUNT(DISTINCT device_hostname) AS host_count, MIN(time) AS first_seen FROM hb_process_activity WHERE (LOWER(process_path) LIKE '%\temp\%' OR LOWER(process_path) LIKE '%\users\default\%') AND ('{{scope_hosts}}' = '' OR instr(',' || '{{scope_hosts}}' || ',', ',' || device_hostname || ',') > 0) AND time >= datetime('now', '-{{lookback_days}} days') GROUP BY path HAVING host_count <= 3
```

## c2-network-activity
<!-- Malicious C2 and ngrok network activity -->
Match host connections to the reported RAT infrastructure and identify potential Discord data exfiltration.

```sqlite target=network role=detection-candidate params=(lookback_days=lookback_days, scope_hosts=scope_hosts, c2_ips=c2_ips, c2_domains=c2_domains)
~~~yaml
expected: Outbound connections to AWS, ngrok, or Discord hosts. Silence proves absence
  only for the specified indicators.
reads:
- device_hostname
- process_name
- dst_endpoint_ip
- dst_endpoint_hostname
- dst_endpoint_port
- time
silence: not_evidence_of_absence
source: hb_network_connection
verified: dry-run
verified_at: '2026-09-20'
~~~
SELECT device_hostname, process_name, dst_endpoint_ip, dst_endpoint_hostname, dst_endpoint_port, time FROM hb_network_connection WHERE (instr(',' || '{{c2_ips}}' || ',', ',' || dst_endpoint_ip || ',') > 0 OR instr(',' || '{{c2_domains}}' || ',', ',' || LOWER(dst_endpoint_hostname) || ',') > 0) AND ('{{scope_hosts}}' = '' OR instr(',' || '{{scope_hosts}}' || ',', ',' || device_hostname || ',') > 0) AND time >= datetime('now', '-{{lookback_days}} days')
```

## triage-evidence
<!-- Triage binary and network evidence -->
```agent target=hunter
cite: required
context:
- suspicious-path-execution
- binary-rarity-baseline
- c2-network-activity
max_iterations: 5
objective: Identify high-confidence compromises by finding rare binaries in temporary
  directories that are responsible for the detected C2 or Discord traffic.
success_criteria: A verdict of malicious or suspicious per host, citing specific rare
  binaries and their associated network activity.
tools:
- endpoint
- network
```

## route-on-verdict
<!-- Route on verdict -->
if~: "the triage verdict confirms a rare binary is communicating with malicious infrastructure" (confidence: high, judge=hunter)
then: → contain-host
indeterminate: → analyst-manual-review
unavailable: → analyst-manual-review (blind_spot: missing-network-telemetry)
else: → close-out

## contain-host
<!-- Isolate host and preserve evidence -->
```action target=endpoint
~~~yaml
approval: required
~~~
Isolate the host from the network immediately to prevent further exfiltration. Preserve the identified rare binary for reverse engineering and forensic analysis.
```
→ analyst-manual-review

## analyst-manual-review
<!-- Analyst review and exfiltration check -->
```manual target=analyst
Review the host's activity leading up to the infection. Check hb_http_activity for specific Discord webhook paths used and confirm whether tokens or passwords were exfiltrated. Update the c2_domains parameter if new infrastructure is discovered.
```
→ end

## close-out
<!-- Close out -->
```manual target=analyst
Document the absence of the GTA 6 malware bundle. Record any benign temporary installers that were stack-counted for future exclusion lists.
```
→ 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.