Back to Intelligence

GTA VI Phishing Lures, AWS Bedrock Token-Jacking, and Bank-Phishing Cloaking Networks: OTX Credential-Theft Campaign Analysis — Enterprise Detection Pack

SA
Security Arsenal Team
November 7, 2026
12 min read

Open Threat Exchange pulse data for the first week of November 2026 reveals three concurrent, high-volume credential-theft operations that, while attributed to distinct unknown actors, share a single monetization objective: the harvesting, validation, and resale of identity material at industrial scale.

The first operation capitalizes on the Grand Theft Auto VI release window (November 19, 2026). Researchers identified 121 newly registered domains impersonating the leaker persona "CyberLeek" and Rockstar Games itself, delivering trojanized APK payloads, credential-harvesting content lockers, and cryptocurrency scam flows. The lure categories — fake early access, bogus key-code generators, and impersonated leaker downloads — are classic pre-release hype-jacking tradecraft optimized for consumer credential and payment-data theft.

The second pulse documents a maturing cloud-credential ecosystem. Harvesting platforms, including one tracked as KMON_NOC, no longer stop at validating stolen AWS access keys via GetCallerIdentity. They now programmatically probe for Amazon Bedrock access through ListFoundationModels and model-invocation calls — a technique researchers are calling LLM token-jacking. Stolen keys with Bedrock entitlements command premium pricing on dark web marketplaces because they enable free-riding on victim LLM infrastructure, model abuse, and data exfiltration through generative AI endpoints.

The third pulse is the most operationally sophisticated: a bank-phishing network spanning 248 live look-alike domains targeting 189 US financial institutions. Its distinguishing feature is an anti-takedown cloaking mechanism — returning visitors and scanner infrastructure are shown a fabricated "account suspended" page, suggesting the domain has already been neutralized, while first-time victims receive the live phishing kit. This dramatically extends campaign lifespan by deceiving both automated takedown pipelines and human analysts performing verification visits.

Collectively, these pulses describe a credential-theft kill chain that begins with high-volume lure infrastructure (gaming hype, banking urgency), proceeds through automated validation of harvested material (AWS key testing, LLM entitlement checks), and ends with monetization through fraud, resale, or cloud resource abuse.

Threat Actor / Malware Profile

Attribution: All three campaigns are currently unattributed (OTX: "Unknown"), consistent with the commoditized nature of modern phishing-as-a-service and credential-validation tooling. The bank-phishing network's operational security discipline — cloaking, uniform naming patterns, and rapid domain rotation — suggests an experienced crew rather than opportunistic actors.

Distribution methods:

  • GTA VI campaign: SEO poisoning and social-media amplification of look-alike domains (gta6cyberleek.com, cyberleek.click, mygta6.icu, gta6keycodes.com, contact-rockstargames.com). Payloads include trojanized Android APKs and Windows "launcher" executables fronted by content lockers demanding credentials or survey completion.
  • AWS token-jacking: Credentials sourced from infostealer logs, exposed Git repositories, and leaked environment files, then fed into validation platforms such as KMON_NOC.
  • Bank-phishing network: 248 look-alike domains combining urgency keywords with bank names (e.g., 53primaryset.com, authorize-valley.com, commercial-atfirst.com, protect-pinnaclefp.com), distributed via smishing and business-email lures referencing treasury and business-banking portals.

Payload behavior:

  • The GTA VI droppers harvest browser-stored credentials, session cookies, and cryptocurrency wallet data before staging content lockers; some variants deliver generic infostealer payloads bundled inside APKs sideloaded by victims.
  • The AWS validation tooling executes a deterministic API sequence: sts:GetCallerIdentity to confirm key validity, followed by bedrock:ListFoundationModels and bedrock:InvokeModel/Converse calls to enumerate available Anthropic Claude and other foundation models. Validated keys are tagged by capability tier for resale.
  • The bank-phishing kit performs full credential capture (username, password, MFA challenge responses) with real-time relay characteristics, then conditionally serves the fake "suspended" page based on cookies and IP reputation to evade revisits.

C2 and infrastructure: Fast-flux themed domains on cheap TLDs (.icu, .click, .cfd, .world, .my) for the gaming lures; bulletproof hosting with cloaking logic for the banking network. The AWS validators operate from VPS infrastructure making direct calls to AWS API endpoints, blending with legitimate traffic.

Persistence and anti-analysis:

  • APK payloads request Accessibility and Device Admin permissions to survive uninstall attempts.
  • The bank-phishing cloaking engine is the standout anti-analysis technique: server-side fingerprinting of returning IPs, security-vendor ASN detection, and cookie state determines whether the victim sees the phishing kit or the decoy "account suspended" page. This defeats takedown verification, URL scanners, and analyst review.
  • AWS key validators throttle API calls to stay below CloudTrail anomaly-detection baselines.

IOC Analysis

The pulses provide two indicator classes requiring distinct operational handling:

Network indicators (domains): 8 GTA VI-themed domains and 4 bank-phishing look-alike domains are published in the pulses, with the full campaigns spanning 121 and 248 domains respectively. Domains are the highest-fidelity blocking opportunity here — the banking campaign's uniform naming convention (urgency keyword + bank name, e.g., authorize-<bank>.com, protect-<bank>.com) enables proactive pattern-based detection even for unpublished domains. SOC teams should:

  • Push all published domains to DNS sinkholes, secure web gateways, and email security block lists immediately.
  • Build regex watchlists for the banking pattern against new domain registrations and TLS certificate transparency logs.
  • Hunt historical DNS and proxy logs for resolutions, not just forward connections — the cloaking technique means a "suspended" page observed by an analyst does NOT mean the domain is dead.

File hashes (SHA256): Two hashes from the AWS credential-validation pulse represent validator tooling associated with KMON_NOC. These are point-in-time artifacts; hash-based blocking should be treated as a tripwire, with behavioral detection (the CloudTrail API sequence) carrying the durable defensive weight.

Tooling: Domains and hashes decode directly into standard SIEM/EDR indicator feeds (STIX/TAXII ingestion from OTX into Sentinel, Splunk ES, or MISP). For the AWS behavioral layer, CloudTrail Lake or Sentinel's AWS data connector is required to detect the validation sequence. TLS certificate transparency monitoring (CertStream, crt.sh) is the force multiplier for the look-alike domain campaigns.

Detection Engineering

The following detections target the specific behaviors in these pulses: the AWS Bedrock credential-validation sequence (T1078.004 / T1530-adjacent cloud techniques), the bank-phishing cloaking and look-alike domain pattern (T1566), and the GTA VI themed lure delivery (T1566.002 / T1204).

YAML
---
title: AWS Credential Validation Followed by Bedrock LLM Access Probing
id: 7e4a1b2c-9f3d-4e5a-a1c6-otxbedrock001
status: experimental
description: Detects the KMON_NOC-style validation sequence where GetCallerIdentity is followed by Bedrock ListFoundationModels or InvokeModel calls from identities with no prior Bedrock usage, indicating token-jacking of stolen AWS keys.
author: Security Arsenal Threat Intel
references:
    - https://securitylabs.datadoghq.com/articles/beyond-valid-credentials-how-exposed-aws-keys-are-tested-for-amazon-bedrock-access
date: 2026/11/07
logsource:
    product: aws
    service: cloudtrail
detection:
    selection_bedrock:
        eventSource: bedrock.amazonaws.com
        eventName:
            - ListFoundationModels
            - InvokeModel
            - Converse
    filter_known_automation:
        userIdentity|arn|contains:
            - ':assumed-role/bedrock-pipeline'
            - ':assumed-role/approved-ml-workload'
    condition: selection_bedrock and not filter_known_automation
falsepositives:
    - Legitimate ML engineering teams enumerating foundation models during new project onboarding
level: high
tags:
    - attack.credential_access
    - attack.t1078.004
    - attack.impact
---
title: Bank Phishing Look-Alike Domain Access With Urgency Keyword Pattern
id: 8f5b2c3d-0a4e-5f6b-b2d7-otxbankphish001
status: experimental
description: Detects DNS or web requests to look-alike banking domains using the urgency-keyword naming convention (authorize-, protect-, verify-, secure-, alert-, suspended- prefixes) documented in the 248-domain US financial institution phishing network, including the published OTX indicators.
author: Security Arsenal Threat Intel
references:
    - https://www.kelacyber.com/blog/bank-phishing-campaign-fake-takedown/
date: 2026/11/07
logsource:
    category: dns
detection:
    selection_published_iocs:
        query|contains:
            - '53primaryset.com'
            - 'authorize-valley.com'
            - 'commercial-atfirst.com'
            - 'protect-pinnaclefp.com'
    selection_pattern:
        query|re: '(?i)^(authorize|protect|verify|secure|alert|suspended|primary|commercial)-[a-z0-9-]+\.(com|net|org|icu|click)$'
    condition: 1 of selection_*
falsepositives:
    - Legitimate bank marketing subdomains (rare with this hyphenated third-party pattern)
    - Security researchers validating the fake-takedown cloaking behavior
level: high
tags:
    - attack.initial_access
    - attack.t1566
    - attack.credential_access
    - attack.t1078
---
title: GTA VI Themed Phishing Domain Resolution and Dropper Download
id: 9g6c3d4e-1b5f-6g7c-c3e8-otxgta6001
status: experimental
description: Detects resolution of GTA VI pre-release lure domains impersonating the CyberLeek persona and Rockstar Games, including OTX-published indicators and pattern matches on cyberleek/gta6 keyword combinations in newly observed TLDs associated with APK and trojan distribution.
author: Security Arsenal Threat Intel
references:
    - https://www.netcraft.com/blog/how-attackers-are-capitalizing-on-the-hype-around-the-grand-theft-auto-vi-release
date: 2026/11/07
logsource:
    category: dns
detection:
    selection_published_iocs:
        query|contains:
            - 'gta6cyberleek.com'
            - 'cyberleek.click'
            - 'mygta6.icu'
            - 'gta6keycodes.com'
            - 'cyberleek.my'
            - 'contact-rockstargames.com'
            - 'cyberleek.cfd'
            - 'cyberleek.world'
    selection_pattern:
        query|re: '(?i)(cyberleek|gta6|gta-?vi|rockstargames)[a-z0-9-]*\.(icu|click|cfd|world|my|xyz|top)$'
    condition: 1 of selection_*
falsepositives:
    - Fan sites and legitimate gaming news domains on mainstream TLDs (pattern restricted to high-abuse TLDs to compensate)
level: medium
tags:
    - attack.initial_access
    - attack.t1566.002
    - attack.user_execution
    - attack.t1204
KQL — Microsoft Sentinel / Defender
// OTX 2026-11-07: Hunt for GTA VI lure domains and bank-phishing look-alike network access
// Covers published IOCs plus the urgency-keyword naming pattern from the 248-domain campaign
let GTA6Domains = dynamic(["gta6cyberleek.com","cyberleek.click","mygta6.icu","gta6keycodes.com","cyberleek.my","contact-rockstargames.com","cyberleek.cfd","cyberleek.world"]);
let BankPhishDomains = dynamic(["53primaryset.com","authorize-valley.com","commercial-atfirst.com","protect-pinnaclefp.com"]);
let BankPattern = @"(?i)(authorize|protect|verify|secure|alert|suspended|primary|commercial)-[a-z0-9-]+\.(com|net|org)$";
let GTAPattern = @"(?i)(cyberleek|gta6|gta-?vi|rockstargames)[a-z0-9-]*\.(icu|click|cfd|world|my|xyz|top)$";
union isfuzzy=true
    (DeviceNetworkEvents
    | where TimeGenerated > ago(14d)
    | extend Domain = tolower(RemoteUrl)
    | where Domain has_any (GTA6Domains) or Domain has_any (BankPhishDomains)
       or Domain matches regex BankPattern or Domain matches regex GTAPattern
    | project TimeGenerated, DeviceName, InitiatingProcessAccountName, InitiatingProcessFileName, Domain, RemoteIP, ActionType
    | extend Campaign = case(Domain has "cyberleek" or Domain has "gta6", "GTA VI Lure",
                             Domain has_any (BankPhishDomains), "Bank Phishing Network",
                             "Pattern Match")),
    (DnsEvents
    | where TimeGenerated > ago(14d)
    | extend Domain = tolower(Name)
    | where Domain has_any (GTA6Domains) or Domain has_any (BankPhishDomains)
       or Domain matches regex BankPattern or Domain matches regex GTAPattern
    | project TimeGenerated, ClientIP = ClientIP, Domain, IPAddresses
    | extend Campaign = "DNS Resolution")
| summarize FirstSeen=min(TimeGenerated), LastSeen=max(TimeGenerated), Hits=count()
            by Domain, Campaign, DeviceName, InitiatingProcessAccountName
| order by Hits desc;
// Companion identity query: flag Azure/AWS sign-ins from hosts that touched lure domains
// Join the output above against SigninLogs / AWSCloudTrail for same-account activity within 4h
PowerShell
# OTX 2026-11-07 - Credential-Theft Campaign Hunt Script
# Checks for GTA VI lure execution artifacts, bank-phishing domain contact,
# infostealer-style persistence, and suspicious AWS credential usage indicators.
# Run elevated on endpoints; review output before remediation.

$ErrorActionPreference = 'SilentlyContinue'
$report = @()

# --- 1. DNS cache check for published OTX lure domains ---
$lureDomains = @(
    'gta6cyberleek.com','cyberleek.click','mygta6.icu','gta6keycodes.com',
    'cyberleek.my','contact-rockstargames.com','cyberleek.cfd','cyberleek.world',
    '53primaryset.com','authorize-valley.com','commercial-atfirst.com','protect-pinnaclefp.com'
)
$dnsCache = Get-DnsClientCache | Where-Object { $entry = $_.Entry; $lureDomains | Where-Object { $entry -like "*$_*" } }
if ($dnsCache) {
    $report += [pscustomobject]@{Check='DNS_LureDomain'; Severity='CRITICAL'; Detail=($dnsCache | Select-Object Entry, Data | Out-String)}
}

# --- 2. Browser download artifacts: trojanized APK / GTA VI executables ---
$userDirs = Get-ChildItem 'C:\Users' -Directory
foreach ($u in $userDirs) {
    $dl = Join-Path $u.FullName 'Downloads'
    $hits = Get-ChildItem $dl -Recurse -Include '*gta*6*','*gta*vi*','*cyberleek*','*.apk','*rockstar*launcher*' -File |
            Where-Object { $_.LastWriteTime -gt (Get-Date).AddDays(-30) }
    foreach ($h in $hits) {
        $report += [pscustomobject]@{Check='SuspiciousDownload'; Severity='HIGH'; Detail="$($h.FullName) | $($h.LastWriteTime)"}
    }
}

# --- 3. Infostealer persistence: Run keys with non-standard paths ---
$runKeys = @('HKCU:\Software\Microsoft\Windows\CurrentVersion\Run',
             'HKLM:\Software\Microsoft\Windows\CurrentVersion\Run',
             'HKCU:\Software\Microsoft\Windows\CurrentVersion\RunOnce')
foreach ($rk in $runKeys) {
    $props = Get-ItemProperty $rk
    foreach ($p in $props.PSObject.Properties) {
        if ($p.Name -notmatch '^PS' -and $p.Value -match 'AppData|Temp|Public|ProgramData') {
            $report += [pscustomobject]@{Check='SuspiciousRunKey'; Severity='HIGH'; Detail="$rk :: $($p.Name) = $($p.Value)"}
        }
    }
}

# --- 4. Scheduled tasks masquerading as updaters (common stealer persistence) ---
$tasks = Get-ScheduledTask | Where-Object {
    $_.Actions.Execute -match 'AppData|Temp' -and
    $_.TaskName -match 'update|sync|service|helper'
}
foreach ($t in $tasks) {
    $report += [pscustomobject]@{Check='SuspiciousScheduledTask'; Severity='MEDIUM'; Detail="$($t.TaskName) -> $($t.Actions.Execute)"}
}

# --- 5. AWS credential files accessed recently (token-jacking precursor) ---
foreach ($u in $userDirs) {
    $credFile = Join-Path $u.FullName '.aws\credentials'
    if (Test-Path $credFile) {
        $f = Get-Item $credFile
        if ($f.LastAccessTime -gt (Get-Date).AddDays(-7) -and $f.LastWriteTime -lt (Get-Date).AddDays(-7)) {
            $report += [pscustomobject]@{Check='AWSCredFileRecentAccess'; Severity='MEDIUM'; Detail="$credFile accessed $($f.LastAccessTime) - correlate with CloudTrail for GetCallerIdentity/ListFoundationModels"}
        }
    }
}

# --- 6. Active connections to known-bad VPS ranges / lure IPs (live triage) ---
$conns = Get-NetTCPConnection -State Established |
         Where-Object { $_.RemotePort -in 80,443 -and $_.OwningProcess -in ((Get-Process | Where-Object { $_.Path -match 'AppData|Temp' }).Id) }
foreach ($c in $conns) {
    $proc = (Get-Process -Id $c.OwningProcess).ProcessName
    $report += [pscustomobject]@{Check='SuspiciousOutboundConn'; Severity='HIGH'; Detail="$proc -> $($c.RemoteAddress):$($c.RemotePort)"}
}

if ($report.Count -eq 0) { Write-Output "[+] No indicators found on $env:COMPUTERNAME" }
else { $report | Sort-Object Severity | Format-Table -AutoSize | Out-String | Write-Output }

Response Priorities

Immediate (0-4 hours):

  • Push all 12 published domains to DNS sinkhole, SWG, and email-gateway block lists; add the bank-phishing urgency-keyword regex to DNS alerting and certificate-transparency monitoring.
  • Hunt proxy and DNS logs for the last 14 days against the published IOCs and patterns; remember the cloaking technique — a "suspended" page does not confirm takedown.
  • Search CloudTrail for GetCallerIdentity followed by ListFoundationModels/InvokeModel from identities with no historical Bedrock usage; immediately disable and rotate any AWS key showing this sequence.
  • Add the two SHA256 validator hashes to EDR block/watch lists as tripwires.

24 hours:

  • Because all three campaigns are credential-theft operations, treat any host or user that resolved a lure domain as credential-compromised until proven otherwise: force password resets, revoke active sessions and OAuth tokens, and re-issue MFA where challenge-response capture is suspected (the banking kit relays MFA in real time).
  • Audit AWS IAM for keys with Bedrock permissions; enforce the principle of least privilege by scoping bedrock:InvokeModel to only the roles that require it, and enable Bedrock invocation logging if not already active.
  • Sweep mobile device fleets for sideloaded GTA VI-themed APKs; MDM policies should block non-store APK installation for corporate-enrolled devices.
  • For the 189 targeted US financial institutions: customer-facing teams should prepare fraud-team correlation for account-takeover attempts matching the phishing window.

1 week:

  • Architecturally harden cloud identity: migrate long-lived IAM user access keys to short-lived STS credentials and OIDC federation; alert on any residual static key usage.
  • Deploy browser isolation or URL-rewriting for newly registered domains (NRD policy) — both campaigns depend entirely on fresh look-alike infrastructure, and a 30-day NRD block policy neutralizes the majority of their lure surface.
  • Implement FIDO2/phishing-resistant MFA for treasury, business-banking, and cloud-console access; the banking campaign's real-time relay specifically defeats OTP-based MFA.
  • Feed the confirmed indicator patterns back into detection engineering: promote the urgency-keyword regex from hunt to sustained analytics, and brief the SOC on the fake-takedown cloaking behavior so verification workflows require clean-room re-checks from distinct egress IPs.

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.