Two pulses from the Open Threat Exchange this cycle paint a converging picture of the modern intrusion economy: a polished, fully-undetectable (FUD) Windows RAT sold as a subscription service on underground forums, and the first confirmed incident in which LLM-driven AI agents autonomously executed a full server takeover. One is old-school commodity crimeware refined to near-zero detection; the other is an emergent attack class that collapses the skill floor for exploitation. Both terminate in the same place — credential theft, session hijacking, and enterprise access resale on dark web markets.
Threat Summary
Pulse 1 — KGB RAT (Group-IB / AlienVault): KGB RAT is a Windows Remote Access Trojan actively marketed on underground forums since late 2025 under a Malware-as-a-Service (MaaS) model, deceptively branded as a legitimate remote administration tool. Pricing tiers run $150 to $800 depending on feature set. Its DNA is unmistakable: code lineage ties it directly to the njRAT / Bladabindi / Njw0rm / LV / Lime-Worm family tree — the .NET RAT ecosystem that has fueled Middle East-origin crimeware for over a decade. KGB RAT packages credential theft, keylogging, hidden VNC (HVNC) desktop takeover, a cryptoclipper, ransomware functionality, and psychological harassment features (screamers, forced BSOD) — the latter designed to terrorize victims into compliance during live intrusions. C2 is brokered through Telegram's API, which both encrypts the channel and blends malicious traffic with legitimate messaging infrastructure.
Pulse 2 — Cairn AI Agent Takeover (ReliaQuest / AlienVault): Investigators confirmed the first documented incident where LLM-driven AI agents executed substantial portions of a live attack. Within 24 hours, an exposed, unauthenticated Apache Tomcat server running Spring Batch's job-submission feature was identified, exploited, and converted into a full server takeover — no zero-days, no novel malware, no human operator at the keyboard for the heavy lifting. The attackers used Cairn, an open-source AI agent orchestration platform, to chain reconnaissance, exploitation, and privilege escalation autonomously.
Collective assessment: These pulses represent the two ends of the access-broker supply chain. KGB RAT is the retail product — cheap, FUD, credential-harvesting tooling sold to low-skill actors. The Cairn incident is the wholesale automation layer — agentic AI compressing attacker dwell time from weeks to hours. Stolen credentials from KGB RAT infections feed dark web credential markets; agentic exploitation converts exposed enterprise services into beachheads at machine speed. The composite attack chain security teams must defend against: phishing/SEO-poisoned loader → KGB RAT payload → Telegram C2 check-in → credential/browser/session theft → dark web resale → agentic AI-driven exploitation of any exposed service the credentials unlock.
Threat Actor / Malware Profile
KGB RAT (njRAT / Bladabindi lineage)
| Attribute | Detail |
|---|---|
| Type | Windows RAT / Infostealer hybrid (MaaS) |
| Price | $150–$800 subscription tiers |
| Lineage | njRAT (S0385), Bladabindi, Njw0rm, LV, Lime-Worm — .NET RAT family |
| Distribution | Underground forum sales, masquerading as legitimate admin tooling; typical delivery via phishing attachments, trojanized utilities, cracked software |
| Payload behavior | Credential theft (browser stores, FTP, mail clients), keylogging, HVNC hidden desktop, screen/webcam capture, cryptoclipper (clipboard hijack for crypto wallet substitution), ransomware module, psychological harassment (screamers, forced BSOD) |
| C2 | Telegram Bot API — HTTPS to api.telegram.org, blending with legitimate traffic; fallback domains include kgbrat.org, dynamic hosts such as ntdoc.m417z.com |
| Persistence | Registry Run keys (HKCU\Software\Microsoft\Windows\CurrentVersion\Run), scheduled tasks, startup folder copies — consistent with njRAT-family behavior |
| Anti-analysis | Marketed as FUD; packer/crypter refreshes per build, AMSI patching, sandbox/sleep checks, .NET obfuscation typical of Bladabindi variants |
Cairn Agentic Attack Framework
| Attribute | Detail |
|---|---|
| Type | Open-source AI agent orchestration platform abused for autonomous attack execution |
| Vector | Exposed, unauthenticated Spring Batch job-submission endpoint on Apache Tomcat |
| Behavior | LLM agents autonomously performed recon, crafted job submissions for code execution, escalated privileges, and established persistence — within 24 hours of endpoint exposure |
| Significance | No zero-day or custom malware required; the agent chains existing offensive tooling. Defenders should expect exponential growth in opportunistic exploitation of misconfigured services |
IOC Analysis
The KGB RAT pulse contains 39 indicators spanning three operational types:
- Domains / Hostnames —
kgbrat.org(infrastructure/marketing and likely panel hosting),ntdoc.m417z.com(dynamic C2 or payload staging under the m417z.com DDNS umbrella). DDNS-hosted C2 is a hallmark of the njRAT ecosystem; m417z.com subdomains should be treated with high suspicion regardless of current blocklist status. - FileHash-SHA256 (6 samples shown, 39 total) — polymorphic builds consistent with per-customer FUD packing. Hash-based detection has a short half-life here; treat hashes as retrospective hunt material, not forward-looking prevention.
- Pulse 2 (Cairn) — indicators restricted at source; detection must be behavior-first (Spring Batch job-submission abuse, Tomcat child processes, unauthenticated POST bursts).
SOC operationalization:
- Push domains/hostnames to DNS sinkhole and egress proxy blocklists; alert on any resolution of
*.m417z.comnot explicitly whitelisted. - Sweep SHA256 hashes across EDR telemetry (historical 90 days) — matches indicate packed builds; isolate and re-image, assume credential compromise.
- Alert on outbound HTTPS to
api.telegram.orgfrom non-standard processes. Telegram is rarely a sanctioned enterprise tool — any process other thanTelegram.exe(if permitted) touching the Bot API is a strong signal. - Tooling: decode .NET payloads with dnSpyEx / ILSpy, unpack with de4dot, detonate in ANY.RUN / Joe Sandbox; pivot infrastructure in VirusTotal / OTX / urlscan.io. Telegram C2 tokens can be extracted from deobfuscated strings and used to enumerate the bot via
getMe/getUpdatesfor infrastructure attribution.
Detection Engineering
---
title: KGB RAT / njRAT-Family Telegram C2 Communication
id: 8f2a1c4e-9b7d-4e3a-a1c5-kgbrat000001
status: experimental
description: Detects non-Telegram processes initiating HTTPS connections to the Telegram Bot API, consistent with KGB RAT / njRAT-family C2 channel abuse.
author: Security Arsenal Threat Intelligence
references:
- https://www.group-ib.com/blog/kgb-rat-windows-fud-trojan
date: 2026/11/14
modified: 2026/11/14
tags:
- attack.command_and_control
- attack.t1102
- attack.t1102.002
logsource:
category: network_connection
product: windows
detection:
selection_domain:
DestinationHostname|contains:
- 'api.telegram.org'
- 'kgbrat.org'
- '.m417z.com'
filter_legit:
Image|endswith:
- '\Telegram.exe'
- '\telegram.exe'
condition: selection_domain and not filter_legit
falsepositives:
- Legitimate Telegram desktop client (filtered by process name)
- Internal tooling using Telegram notifications (tune per-environment)
level: high
---
title: KGB RAT Persistence via Registry Run Key or Suspicious Autoruns
id: 8f2a1c4e-9b7d-4e3a-a1c5-kgbrat000002
status: experimental
description: Detects registry Run key persistence writes from processes in user-writable or temp paths, a hallmark of njRAT/Bladabindi/KGB RAT family implants.
author: Security Arsenal Threat Intelligence
references:
- https://www.group-ib.com/blog/kgb-rat-windows-fud-trojan
date: 2026/11/14
modified: 2026/11/14
tags:
- attack.persistence
- attack.t1060
- attack.t1547.001
logsource:
category: registry_set
product: windows
detection:
selection_key:
TargetObject|contains:
- '\CurrentVersion\Run'
- '\CurrentVersion\RunOnce'
selection_path:
Details|contains:
- '\AppData\Roaming\'
- '\AppData\Local\Temp\'
- '\Users\Public\'
- '\ProgramData\'
filter_sys:
Image|startswith: 'C:\Windows\System32\'
condition: selection_key and selection_path and not filter_sys
falsepositives:
- Software installers registering updaters from ProgramData (allowlist known vendors)
level: high
---
title: Suspicious Spring Batch Job Submission on Exposed Tomcat
id: 8f2a1c4e-9b7d-4e3a-a1c5-cairn0000003
status: experimental
description: Detects Tomcat spawning command shells or script interpreters — behavior observed in the agentic AI (Cairn) takeover of an unauthenticated Spring Batch job-submission endpoint.
author: Security Arsenal Threat Intelligence
references:
- https://reliaquest.com/blog/threat-spotlight-how-ai-agents-turned-one-exposed-endpoint-into-a-server-takeover
date: 2026/11/14
modified: 2026/11/14
tags:
- attack.execution
- attack.t1059
- attack.t1190
- attack.privilege_escalation
logsource:
category: process_creation
product: windows
detection:
selection_parent:
ParentImage|endswith:
- '\tomcat9.exe'
- '\tomcat8.exe'
- '\tomcat.exe'
- '\java.exe'
- '\javaw.exe'
selection_child:
Image|endswith:
- '\cmd.exe'
- '\powershell.exe'
- '\pwsh.exe'
- '\wscript.exe'
- '\cscript.exe'
- '\certutil.exe'
- '\bitsadmin.exe'
- '\curl.exe'
condition: selection_parent and selection_child
falsepositives:
- Rare; legitimate Tomcat applications spawning shells should be explicitly inventoried and allowlisted
level: critical
// KGB RAT & Agentic AI Takeover — Unified Hunt (Microsoft Sentinel)
// Covers: Telegram C2, known KGB RAT infra, packed-payload execution, Tomcat child processes
let kgbrat_hashes = dynamic([
"559df774411724520865fa15aa8b7e209d0ee133db4dc3d3cd180e895d597a36",
"581c440644f93a17191b98158c467be5ae5972ab19668c6e8530a2034833bd45",
"d4fc7867caf1349bbbfd1f2972fe92acedd8507ae89fa822c07f09a194127894",
"d8fb0d64ea8b4a32d6c5869212a62a3c9c6357e4fd7e4cf090a67d22d8f78b62",
"df792f965f693b0a2b5bffd9a1ea5127cbd4b13daa9ddb2559f54523604777d8",
"836ebabb6304dd873343e85eb51a9e8c9b3de8a68d5152c3ab0d496c8fc0fdf7"
]);
let suspicious_c2 = dynamic(["kgbrat.org", "ntdoc.m417z.com", "api.telegram.org"]);
union isfuzzy=true
(DeviceNetworkEvents
| where TimeGenerated > ago(14d)
| where RemoteUrl has_any (suspicious_c2)
| where InitiatingProcessFileName !~ "Telegram.exe"
| project TimeGenerated, DeviceName, InitiatingProcessFileName, InitiatingProcessCommandLine, RemoteUrl, RemoteIP, ActionType, HuntType="KGB RAT C2"),
(DeviceProcessEvents
| where TimeGenerated > ago(14d)
| where SHA256 has_any (kgbrat_hashes)
| project TimeGenerated, DeviceName, FileName, FolderPath, SHA256, ProcessCommandLine, InitiatingProcessAccountName, HuntType="KGB RAT Hash Match"),
(DeviceProcessEvents
| where TimeGenerated > ago(14d)
| where InitiatingProcessFileName has_any ("tomcat", "java.exe", "javaw.exe")
| where FileName has_any ("cmd.exe","powershell.exe","pwsh.exe","certutil.exe","bitsadmin.exe","curl.exe","wscript.exe")
| project TimeGenerated, DeviceName, InitiatingProcessFileName, FileName, ProcessCommandLine, InitiatingProcessAccountName, HuntType="Tomcat/Spring Batch Child Process")
| sort by TimeGenerated desc
# KGB RAT / njRAT-Family IOC Hunt — Security Arsenal
# Run elevated on endpoints. Checks persistence, packed-payload artifacts, Telegram C2, known infra.
$Report = @()
# 1. Known KGB RAT file hashes (from OTX pulse)
$Hashes = @(
"559df774411724520865fa15aa8b7e209d0ee133db4dc3d3cd180e895d597a36",
"581c440644f93a17191b98158c467be5ae5972ab19668c6e8530a2034833bd45",
"d4fc7867caf1349bbbfd1f2972fe92acedd8507ae89fa822c07f09a194127894",
"d8fb0d64ea8b4a32d6c5869212a62a3c9c6357e4fd7e4cf090a67d22d8f78b62",
"df792f965f693b0a2b5bffd9a1ea5127cbd4b13daa9ddb2559f54523604777d8",
"836ebabb6304dd873343e85eb51a9e8c9b3de8a68d5152c3ab0d496c8fc0fdf7"
)
# 2. Registry Run-key persistence (HKCU/HKLM) pointing to user-writable paths
$RunKeys = @(
"HKCU:\Software\Microsoft\Windows\CurrentVersion\Run",
"HKCU:\Software\Microsoft\Windows\CurrentVersion\RunOnce",
"HKLM:\Software\Microsoft\Windows\CurrentVersion\Run"
)
foreach ($key in $RunKeys) {
if (Test-Path $key) {
Get-ItemProperty $key | ForEach-Object {
$_.PSObject.Properties | Where-Object {
$_.Value -match "AppData|Temp|ProgramData|Users\\Public" -and $_.Name -notmatch "^PS"
} | ForEach-Object {
$Report += [PSCustomObject]@{Type="Persistence-RunKey"; Artifact="$key -> $($_.Name) = $($_.Value)"; Risk="HIGH"}
}
}
}
}
# 3. Scheduled tasks executing from temp/user paths (njRAT-family fallback persistence)
Get-ScheduledTask | ForEach-Object {
$t = $_
$t.Actions | Where-Object { $_.Execute -match "AppData|Temp|Users\\Public" } | ForEach-Object {
$Report += [PSCustomObject]@{Type="Persistence-ScheduledTask"; Artifact="$($t.TaskName) -> $($_.Execute)"; Risk="HIGH"}
}
}
# 4. Live Telegram C2 / known KGB RAT infrastructure connections
Get-NetTCPConnection -State Established -ErrorAction SilentlyContinue | ForEach-Object {
$c = $_
try {
$dns = (Resolve-DnsName -Name $c.RemoteAddress -ErrorAction SilentlyContinue).NameHost
} catch { $dns = $null }
$proc = (Get-Process -Id $c.OwningProcess -ErrorAction SilentlyContinue)
if ($dns -match "telegram|kgbrat|m417z" -and $proc.ProcessName -notmatch "^Telegram$") {
$Report += [PSCustomObject]@{Type="C2-Network"; Artifact="$($proc.ProcessName) (PID $($c.OwningProcess)) -> $($c.RemoteAddress):$($c.RemotePort) [$dns]"; Risk="CRITICAL"}
}
}
# 5. Hash sweep of common drop locations
$DropPaths = @("$env:APPDATA","$env:LOCALAPPDATA\Temp","C:\Users\Public","C:\ProgramData")
foreach ($p in $DropPaths) {
Get-ChildItem $p -Recurse -File -Include *.exe,*.dll -ErrorAction SilentlyContinue | ForEach-Object {
$h = (Get-FileHash $_.FullName -Algorithm SHA256 -ErrorAction SilentlyContinue).Hash
if ($Hashes -contains $h.ToLower()) {
$Report += [PSCustomObject]@{Type="IOC-HashMatch"; Artifact="$($_.FullName) [$h]"; Risk="CRITICAL"}
}
}
}
# 6. Tomcat/Spring Batch exposure check (agentic AI vector)
Get-NetTCPConnection -State Listen -ErrorAction SilentlyContinue | Where-Object { $_.LocalPort -in 8080,8443,8009 } | ForEach-Object {
$Report += [PSCustomObject]@{Type="Exposure-Tomcat"; Artifact="Listener on port $($_.LocalPort) (PID $($_.OwningProcess)) — verify Spring Batch endpoints require auth"; Risk="REVIEW"}
}
if ($Report) { $Report | Format-Table -AutoSize; $Report | Export-Csv ".\kgbrat_hunt_$(Get-Date -Format 'yyyyMMdd_HHmm').csv" -NoTypeInformation }
else { Write-Output "[+] No KGB RAT / agentic-AI artifacts detected on $env:COMPUTERNAME" }
Response Priorities
Immediate (0–4 hours)
- Block
kgbrat.org,ntdoc.m417z.com, and alert on all*.m417z.comresolutions at DNS/proxy layers; restrictapi.telegram.orgegress to approved clients only. - Push the six SHA256 IOCs (and pull the full 39-indicator set from the OTX pulse) into EDR blocklists; run the KQL and PowerShell hunts fleet-wide, 90 days retrospective.
- Emergency audit: inventory all internet-facing Tomcat/Spring applications; confirm Spring Batch job-submission endpoints require authentication or take them offline. WAF rule: deny unauthenticated POSTs to
/batch/,/jobs, job-launch paths.
24 Hours
- Any host with a hash match, Telegram C2 hit, or Run-key persistence finding: assume full credential compromise. Force password resets for all users of that endpoint, revoke active sessions/OAuth tokens, rotate service accounts and any credentials stored in browsers or mail clients on the box. Re-image, do not clean — KGB RAT's ransomware module makes partial remediation a liability.
- Check dark web credential marketplaces and stealer-log aggregators for corporate email domains; KGB RAT's MaaS model means harvested credentials are likely already for sale.
- Review Tomcat access logs for the past 30 days for unauthenticated job-submission POSTs and burst patterns consistent with agentic (machine-speed) request cadence — human attackers don't submit recon-to-exploit sequences in seconds.
1 Week
- Architecture hardening: Deploy application allowlisting (WDAC/AppLocker) on user endpoints to blunt FUD packed executables; enable AMSI for script-hosted content; enforce attack surface reduction rules blocking Office-child processes and executables from temp paths.
- Segment management interfaces: Spring Batch/admin consoles behind VPN + mTLS or IP allowlisting; no unauthenticated job submission, ever.
- Egress policy: default-deny outbound to consumer messaging APIs (Telegram, Discord webhooks) from server VLANs and non-standard processes.
- Prepare for agentic-speed attacks: tighten detection-to-containment automation (EDR auto-isolate on critical Sigma hits) — a 24-hour manual response window is now an eternity.
- Tabletop a combined scenario: infostealer credential harvest → dark web sale → agentic AI exploitation of an exposed internal service using those credentials.
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.