Back to Intelligence

UNC6993 LLMJacking & SnakeKeylogger Quotation Phishing: OTX Pulse Analysis — Cloud Credential Theft Detection Pack

SA
Security Arsenal Team
November 12, 2026
9 min read

Two concurrent OTX pulses paint a coherent picture of a credential-centric threat economy: adversaries are monetizing stolen access — not just to endpoints, but to enterprise cloud and AI infrastructure.

Pulse 1 — LLMJacking (UNC6993): Google Threat Intelligence Group attributes multiple intrusions to UNC6993, a financially motivated actor hijacking enterprise Large Language Model (LLM) access across financial services, retail, technology, and transportation sectors in North America, South America, and Asia Pacific. Unlike cryptojacking's slow resource bleed, LLMJacking monetizes stolen cloud/API credentials rapidly — reselling access through proxy infrastructure and "LLM mixer" services that launder stolen model quotas. The campaign leverages CVE-2026-40217 and stolen API keys, with associated infrastructure including jet-night.com and newapi.pro, and tooling linked to Bankshot (S0239) and Trojan Manuscript.

Pulse 2 — SnakeKeylogger Quotation Phishing: A phishing campaign impersonating purchasing/material management personnel sends fake quotation inquiry emails containing compressed attachments. Extraction reveals JavaScript droppers that launch obfuscated PowerShell, decrypting multi-stage payloads protected with AES-256-CBC and XOR operations, ultimately deploying SnakeKeylogger via process hollowing for credential theft and keylogging. C2 infrastructure observed at hosting2.ro.hostsailor.com.

Collective assessment: These campaigns represent two ends of the same supply chain. Endpoint-level infostealers like SnakeKeylogger harvest the cloud and API credentials that feed LLMJacking-style monetization operations. Stolen keys are brokered through proxy/mixer infrastructure, meaning a single phished procurement clerk can translate directly into thousands of dollars in hijacked LLM compute billed to your cloud account.

Threat Actor / Malware Profile

UNC6993 (LLMJacking)

  • Objective: Financial — monetize compromised cloud and model resources by reselling hijacked LLM access via proxy infrastructure and LLM mixer services.
  • Initial access: Compromised cloud credentials and API keys; exploitation of CVE-2026-40217.
  • Tooling: Bankshot (S0239) — a backdoor historically associated with destructive/financially-motivated operations; Trojan Manuscript.
  • Behavior: Once valid LLM API credentials are obtained, the actor routes high-volume model requests through attacker-controlled proxies, masking origin while the victim organization absorbs compute costs. Tag evidence points to the "Manus" agent ecosystem being abused for unauthorized AI access.
  • Infrastructure: jet-night.com, newapi.pro — consistent with reseller/proxy frontends for stolen model access.

SnakeKeylogger (Quotation Phishing Campaign)

  • Distribution: Phishing emails disguised as quotation inquiries from purchasing/material management teams; compressed archive attachments containing JavaScript files.
  • Execution chain: JS dropper → obfuscated PowerShell → AES-256-CBC + XOR decryption routines → multi-stage payload → SnakeKeylogger injected via process hollowing into legitimate processes.
  • Payload behavior: Keylogging, browser/email/FTP credential harvesting, clipboard capture; exfiltration typically via SMTP, FTP, or Telegram bot API.
  • Anti-analysis: Multi-layer obfuscation (JavaScript → PowerShell → encrypted shellcode), AES-256-CBC encrypted stages, XOR-rolled strings, and process hollowing to evade parent-child process reputation checks.
  • C2: hosting2.ro.hostsailor.com (Hostsailor — a known bulletproof-adjacent hosting provider frequently abused for malware staging).
  • Persistence: SnakeKeylogger commonly establishes persistence via Run registry keys or scheduled tasks masquerading as updater entries.

IOC Analysis

TypeIndicatorContext
CVECVE-2026-40217Exploited for unauthorized LLM/cloud access
Domainjet-night.comUNC6993 LLMJacking proxy/reseller infra
Domainnewapi.proUNC6993 LLMJacking proxy/reseller infra
Hostnamehosting2.ro.hostsailor.comSnakeKeylogger C2/staging
MD5e89c8668c8b5041768a59c1532edf2adSnakeKeylogger campaign payload
SHA2562c03ae90ed7f33a8599d22efb8811a9f0f0d535a64cbc34360e83be852845d68SnakeKeylogger campaign payload

Operationalization guidance for SOC teams:

  • Domains/hostnames should be blocked at DNS (protective DNS, Pi-hole enterprise, Cisco Umbrella, Infoblox) and added to proxy deny lists. Alert — don't just block — on historical lookups via passive DNS to identify pre-existing compromise.
  • File hashes go into EDR block lists (CrowdStrike custom IOA, Defender Block file indicators, SentinelOne blacklist). MD5 is collision-prone; prioritize the SHA256 for matching, use MD5 for retro-hunting only.
  • CVE-2026-40217 requires immediate vulnerability scanning of internet-facing LLM gateways, API proxies, and self-hosted model endpoints (LiteLLM, OneAPI/New API deployments — note the newapi.pro domain pattern suggests targeting of New API gateway instances).
  • Tooling: Decode OTX indicators via the OTX DirectConnect API or OTXv2 Python SDK; pivot hashes through VirusTotal/MalwareBazaar; run domains through URLScan.io and passive DNS (SecurityTrails, PassiveTotal) to expand infrastructure clusters.

Detection Engineering

YAML
---
title: SnakeKeylogger Phishing Execution Chain - JS Dropper to PowerShell
id: 7f3a1c2e-9b4d-4e5a-8c1f-2d6e9a0b3f51
status: experimental
description: Detects the SnakeKeylogger quotation-phishing chain where wscript/cscript executes JavaScript from extracted archives spawning obfuscated PowerShell downloaders/decryptors.
author: Security Arsenal Threat Intel
references:
  - https://asec.ahnlab.com/ko/96494/
date: 2026/11/12
logsource:
  category: process_creation
  product: windows
detection:
  selection_parent:
    ParentImage|endswith:
      - '\wscript.exe'
      - '\cscript.exe'
      - '\mshta.exe'
  selection_child:
    Image|endswith: '\powershell.exe'
  selection_obfuscation:
    CommandLine|contains:
      - '-enc'
      - '-encodedcommand'
      - 'FromBase64String'
      - 'IEX'
      - 'Invoke-Expression'
      - 'downloadstring'
      - 'AesCryptoServiceProvider'
      - '-bxor'
  condition: selection_parent and selection_child and 1 of selection_obfuscation
falsepositives:
  - Rare legitimate software installers using JS bootstrapper scripts
level: high
tags:
  - attack.execution
  - attack.t1059.007
  - attack.t1059.001
  - attack.deobfuscate_decode
  - attack.t1027
---
title: SnakeKeylogger Process Hollowing - Suspicious Child of Legitimate System Process
id: 2a8d4f1b-6c3e-4a7d-9f2b-1e5c8d0a4b62
status: experimental
description: Detects process hollowing behavior consistent with SnakeKeylogger payload injection, where hollowed processes show anomalous network or spawning behavior.
author: Security Arsenal Threat Intel
references:
  - https://asec.ahnlab.com/ko/96494/
date: 2026/11/12
logsource:
  category: process_creation
  product: windows
detection:
  selection_unsigned_path:
    Image|endswith:
      - '\svchost.exe'
      - '\RegAsm.exe'
      - '\MSBuild.exe'
      - '\notepad.exe'
      - '\dllhost.exe'
  filter_legit_svchost:
    Image|startswith: 'C:\\Windows\\System32\\'
    CommandLine|contains: ' -k '
  condition: selection_unsigned_path and not filter_legit_svchost
falsepositives:
  - Developer build tooling (RegAsm/MSBuild legitimate usage)
level: high
tags:
  - attack.defense_evasion
  - attack.t1055.012
---
title: LLMJacking - Outbound Connection to UNC6993 Proxy Infrastructure
id: 9c1e5b3d-4f7a-4b8c-a2d6-3e9f1b5c7d83
status: experimental
description: Detects network connections to UNC6993 LLMJacking proxy/reseller domains associated with stolen LLM API access monetization.
author: Security Arsenal Threat Intel
references:
  - https://cloud.google.com/blog/ko/topics/threat-intelligence/llmjacking-monetizing-compromised-cloud-models
date: 2026/11/12
logsource:
  category: dns
  product: windows
detection:
  selection:
    query|contains:
      - 'jet-night.com'
      - 'newapi.pro'
      - 'hostsailor.com'
  condition: selection
falsepositives:
  - Threat research activity
level: critical
tags:
  - attack.command_and_control
  - attack.t1071.001
  - attack.exfiltration
  - attack.t1041
KQL — Microsoft Sentinel / Defender
// Hunt: SnakeKeylogger execution chain + UNC6993 LLMJacking infrastructure
// Microsoft Sentinel / Defender XDR — 30-day retrohunt
let BadDomains = dynamic(["jet-night.com", "newapi.pro", "hosting2.ro.hostsailor.com"]);
let BadHashes = dynamic(["e89c8668c8b5041768a59c1532edf2ad", "2c03ae90ed7f33a8599d22efb8811a9f0f0d535a64cbc34360e83be852845d68"]);
union isfuzzy=true
    // Network hits against campaign infrastructure
    (DeviceNetworkEvents
    | where Timestamp > ago(30d)
    | where RemoteUrl has_any (BadDomains)
    | project Timestamp, DeviceName, InitiatingProcessFileName, InitiatingProcessCommandLine, RemoteUrl, RemoteIP, ActionType),
    // JS -> PowerShell phishing execution chain
    (DeviceProcessEvents
    | where Timestamp > ago(30d)
    | where InitiatingProcessFileName in~ ("wscript.exe", "cscript.exe", "mshta.exe")
    | where FileName =~ "powershell.exe"
    | where ProcessCommandLine has_any ("-enc", "FromBase64String", "IEX", "downloadstring", "AesCryptoServiceProvider", "-bxor")
    | project Timestamp, DeviceName, AccountName, InitiatingProcessFileName, FileName, ProcessCommandLine),
    // File hash hits
    (DeviceFileEvents
    | where Timestamp > ago(30d)
    | where MD5 in (BadHashes) or SHA256 in (BadHashes)
    | project Timestamp, DeviceName, FileName, FolderPath, MD5, SHA256),
    // Abnormal LLM API egress (LLMJacking billing anomaly precursor)
    (DeviceNetworkEvents
    | where Timestamp > ago(7d)
    | where RemoteUrl has_any ("api.openai.com", "generativelanguage.googleapis.com", "api.anthropic.com")
    | summarize Connections=count(), UniqueRemoteIPs=dcount(RemoteIP) by DeviceName, InitiatingProcessFileName
    | where Connections > 500 or UniqueRemoteIPs > 20)
PowerShell
# Security Arsenal - SnakeKeylogger & LLMJacking IOC Hunt Script
# Run elevated on endpoints or via RMM/Intune remediation at scale
$Report = @()

# 1. Check for SnakeKeylogger persistence (Run keys commonly abused)
$RunKeys = @(
    "HKCU:\Software\Microsoft\Windows\CurrentVersion\Run",
    "HKLM:\Software\Microsoft\Windows\CurrentVersion\Run",
    "HKCU:\Software\Microsoft\Windows\CurrentVersion\RunOnce"
)
foreach ($key in $RunKeys) {
    if (Test-Path $key) {
        Get-ItemProperty $key | Get-Member -MemberType NoteProperty | ForEach-Object {
            $val = (Get-ItemProperty $key).($_.Name)
            if ($val -match 'AppData|Temp|\.js|powershell.*-enc|wscript') {
                $Report += [PSCustomObject]@{Type="SuspiciousRunKey"; Path=$key; Name=$_.Name; Value=$val}
            }
        }
    }
}

# 2. Scheduled tasks masquerading as updaters (SnakeKeylogger persistence)
Get-ScheduledTask | Where-Object {
    $_.TaskName -match 'update|sync|service' -and
    ($_.Actions.Execute -match 'powershell|wscript|mshta') -and
    $_.TaskPath -notmatch 'Microsoft'
} | ForEach-Object {
    $Report += [PSCustomObject]@{Type="SuspiciousTask"; Path=$_.TaskPath; Name=$_.TaskName; Value=$_.Actions.Execute}
}

# 3. Known payload hashes on disk (common drop locations)
$BadSHA256 = "2c03ae90ed7f33a8599d22efb8811a9f0f0d535a64cbc34360e83be852845d68"
$SearchPaths = @("$env:TEMP", "$env:APPDATA", "$env:LOCALAPPDATA", "$env:USERPROFILE\Downloads")
foreach ($p in $SearchPaths) {
    Get-ChildItem $p -Recurse -File -ErrorAction SilentlyContinue | ForEach-Object {
        if ((Get-FileHash $_.FullName -Algorithm SHA256 -ErrorAction SilentlyContinue).Hash -eq $BadSHA256) {
            $Report += [PSCustomObject]@{Type="HashMatch"; Path=$_.FullName; Name=$_.Name; Value="SnakeKeylogger payload"}
        }
    }
}

# 4. Active/recent connections to campaign infrastructure
$BadHosts = @("jet-night.com", "newapi.pro", "hosting2.ro.hostsailor.com")
foreach ($h in $BadHosts) {
    $resolved = Resolve-DnsName $h -ErrorAction SilentlyContinue
    if ($resolved) {
        $Report += [PSCustomObject]@{Type="DNSResolution"; Path="DNSCache/Resolver"; Name=$h; Value=($resolved.IPAddress -join ",")}
    }
}
Get-NetTCPConnection -State Established -ErrorAction SilentlyContinue | ForEach-Object {
    $rd = try { (Resolve-DnsName $_.RemoteAddress -ErrorAction SilentlyContinue).NameHost } catch { $null }
    if ($BadHosts -contains $rd) {
        $Report += [PSCustomObject]@{Type="ActiveC2Connection"; Path=$_.OwningProcess; Name=$rd; Value="$($_.RemoteAddress):$($_.RemotePort)"}
    }
}

# 5. Hunt for LLM API keys staged in environment variables or config (LLMJacking precursor)
Get-ChildItem Env: | Where-Object { $_.Name -match 'OPENAI|ANTHROPIC|AZURE_OPENAI|GEMINI|API_KEY' } | ForEach-Object {
    $Report += [PSCustomObject]@{Type="LLMKeyExposure"; Path="Environment"; Name=$_.Name; Value="Key present - verify legitimacy"}
}

if ($Report.Count -gt 0) { $Report | Format-Table -AutoSize; $Report | Export-Csv "$env:TEMP\ioc_hunt_$(Get-Date -Format yyyyMMdd).csv" -NoTypeInformation }
else { Write-Output "[+] No IOCs or suspicious artifacts found on $env:COMPUTERNAME" }

Response Priorities

Immediate (0–4 hours)

  • Block jet-night.com, newapi.pro, and hosting2.ro.hostsailor.com at DNS resolver, web proxy, and firewall egress; add the SHA256/MD5 hashes to EDR block lists.
  • Deploy the Sigma and KQL detections above; run the PowerShell hunt script across endpoints prioritized by procurement/finance/accounts-payable users (the quotation-phishing target persona).
  • Retro-hunt 30 days of DNS and proxy logs for the campaign domains — a single historical hit means active compromise, not risk.

24 Hours

  • Rotate all cloud and LLM API keys (OpenAI, Anthropic, Azure OpenAI, Gemini, AWS Bedrock credentials) for any host or service account showing connections to UNC6993 infrastructure. Treat exposed keys as sold.
  • Audit cloud billing and LLM gateway logs for abnormal token consumption spikes — LLMJacking's signature is rapid, high-volume usage inconsistent with business patterns, often from foreign egress IPs.
  • For SnakeKeylogger detections: force password resets and MFA re-enrollment for affected users; the malware harvests browser credential stores, email accounts, and FTP credentials. Invalidate active sessions and refresh tokens (Okta/Entra ID sign-out all sessions).
  • Open a fraud-review ticket on cloud spend for the past 90 days.

1 Week

  • Architecture hardening for LLMJacking: place LLM API gateways behind authenticated egress proxies with per-key rate limiting, per-department quotas, and anomaly-based alerting on token velocity; eliminate long-lived API keys in favor of short-lived workload identity (SPIFFE/managed identity) where possible.
  • Scan for and remediate CVE-2026-40217 across self-hosted model gateways (New API / OneAPI / LiteLLM-class proxies) — the newapi.pro infrastructure suggests these platforms are the exploitation surface.
  • Email security hardening: block or sandbox detonate .js/archive attachments for external mail; enforce DMARC reject; add banner warnings for vendor-impersonation patterns (quotation/RFQ lures).
  • Disable wscript.exe/cscript.exe for standard users via AppLocker/WDAC; constrain PowerShell with Constrained Language Mode where operationally feasible.
  • Brief procurement and finance teams on quotation-inquiry phishing — this exact lure class is in active rotation.

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.