LabubaRAT — Rust-Based RAT Masquerading as NVIDIA Software

Unsigned 64-bit Rust RAT, multi-channel C2 (HTTPS / WebView2 / DNS tunnel), LabubaPanel MaaS infrastructure — Blackpoint Cyber Adversary Pursuit Group, first observed 2026-07-02
Threat
LabubaRAT
Severity
HIGH
Type
RAT / Malware-as-a-Service
Access
Post-foothold deployment (initial vector not independently confirmed)
Version
v0.1 (Draft) — 2026-09-23
Author
HuntPack
Confidence
High (threat profile) / Single-source (atomic IOCs)
01

Executive Summary

LabubaRAT is an unsigned 64-bit Rust remote access trojan that impersonates NVIDIA container runtime software (nvidia-sysruntime.exe) to establish a durable, hands-on-keyboard foothold on Windows hosts. It is not a downloader: the operator gets host profiling, command execution (cmd/PowerShell/JavaScript), file transfer, screenshot capture, and SOCKS5 traffic-proxying from a single binary, enrolled at launch via command-line flags or ZM_-prefixed environment variables (org, group, server, API key) rather than a hardcoded C2. That configuration model, three redundant C2 channels (HTTPS polling, WebView2, DNS tunneling), and a panel-branded backend ("LabubaPanel") point to a reusable, multi-tenant access framework consistent with a malware-as-a-service offering rather than a one-off implant.

The attacker's objective is durable remote access with built-in pivot capability: LabubaRAT's SOCKS5 proxy support lets an operator route further traffic and tooling through the compromised host, and its renamed-MSBuild follow-on stage (BuildCoordinator.exe proxy-executing a build project that loads DotNetZip.dll) shows the operator escalating from the implant into trusted-utility abuse once access is confirmed.

The single highest-value defensive angle is the masquerade itself: nvidia-sysruntime.exe is not a real NVIDIA binary name under any legitimate install, so any execution of a file by that name is a near-zero-false-positive tripwire (Q1, below). Pair that with blocking the three confirmed C2 IPs and the pipicka[.]xyz domain (Q7) and an ASR rule against untrusted new executables (§12), and the highest-confidence portion of this campaign is covered without waiting on deeper DNS-tunnel or in-memory analysis.

Defender priority: block/detect the confirmed C2 (Q7, §10 CSV) and hunt for nvidia-sysruntime.exe execution (Q1) and its HKCU Run-key persistence (Q3) fleet-wide this week — those three checks alone cover the implant's entry point, its C2, and its survival mechanism.

02

Source Review & Web Hunter Notes

Four sources were fetched directly and saved verbatim to LabubaRAT-Hunt-sources/ for provenance tracing. All four trace to a single primary research effort — Blackpoint Cyber's Adversary Pursuit Group (APG) — republished by two secondary outlets that cite Blackpoint and add no independent atomic indicators of their own. The original technical disclosure was published 2026-07-14; the Blackpoint Threat Snapshot dated 2026-09-17 is a condensed re-publication of the same research and is the most current dated reporting, not a new investigation. No corroborating IOC set from a second, independently-researching vendor (Mandiant, Talos, Microsoft, Unit 42, etc.) was located as of 2026-09-23.

TierSourceKey FindingCarry Forward
1 · PrimaryBlackpoint Cyber — Threat Snapshot: LabubaRAT (2026-09-17)Condensed IOC table (hashes, mutex, PDB path, C2 domain, 3 host IPs, BuildCoordinator.exe hash), MITRE TTP table, recommendationsYes — primary IOC source
1 · PrimaryBlackpoint Cyber — original analysis (2026-07-14, Decker & Beal)Full technical writeup: Rust build artifacts, -b Base64 config wrapper, SQLite schema, WebView2/DNS transport internals, security-tool enumeration, tasking modelYes — primary technical detail
2 · SecondaryHelp Net Security (2026-07-15, Sinisa Markovic)Confirms Blackpoint's findings; no new IOCs; corroborates capability list and MaaS framing (hedged — "stopped short of attributing")Partial — corroboration only
2 · SecondaryThe Hacker News (2026-07-14, Ravie Lakshmanan)Confirms Blackpoint's findings; no new IOCs; confirms MaaS signals as tentative ("some signs")Partial — corroboration only

Corrections against the task brief: the brief's atomic values (hashes, domain, IPs, config values) were verified character-for-character against the fetched sources and are accurate as given. One brief claim is softened here: the brief states LabubaRAT is "offered under a malware-as-a-service model" as fact; both Blackpoint's own original analysis and both secondary outlets frame this as an inference from the framework-like architecture (configurable org/group/server/key, panel branding) rather than a confirmed commercial offering — Help Net Security explicitly notes Blackpoint "stopped short of attributing it to a malware-as-a-service offering." This pack treats MaaS as likely, evidence-based, not confirmed.

Because every atomic indicator in this pack traces to a single research origin (Blackpoint APG), no indicator ships at Falcon CSV action prevent regardless of narrative severity — all IOC-management rows in §10 ship as detect. This matches HuntPack's standing two-source policy for prevent/critical-severity action, and the §4 IOC table's Action column is kept consistent with that CSV rather than diverging from it.

03

Hunt Brief & Attack Chain

Hunt hypotheses

  1. H1 (high conf): A process file-named nvidia-sysruntime.exe executing anywhere in the environment is LabubaRAT — the name is not a real NVIDIA artifact. → Q1.
  2. H2 (high conf): A process command line or environment carries --org/--key/--group/--server, a long Base64 blob after -b, or a ZM_-prefixed variable — the implant's enrollment configuration. → Q2.
  3. H3 (high conf): An HKCU Run-key entry combines a long Base64 value with an NVIDIA-themed or LabubaRAT-named target — the implant's persistence mechanism. → Q3.
  4. H4 (high conf): A process file-named BuildCoordinator.exe is a renamed MSBuild binary used to proxy-execute a follow-on build project. → Q4.
  5. H5 (medium conf): Elevated or bursty DNS query volume with long subdomain labels toward a single low-reputation domain indicates the DNS-tunneling C2 channel. → Q5.
  6. H6 (high conf): A WebView2 runtime process is spawned by the LabubaRAT process tree rather than a browser — the implant's WebView2 C2 channel. → Q6.
  7. H7 (high conf): Any connection to the three confirmed host IPs or the pipicka[.]xyz domain is LabubaRAT C2 traffic. → Q7.
  8. H8 (medium conf): A flagged LabubaRAT process fanning out to many distinct remote IPs indicates the SOCKS5 proxy/relay capability in use. → Q8.
  9. H9 (medium conf): Creation or access of nvctr_sys.db (+ -wal/-shm) is the implant's local enrollment/state database. → Q9.
  10. H10 (high conf): wscript.exe/cscript.exe invoked against a wupd_-prefixed temporary script with //NoLogo //E:JScript is the implant's JavaScript task handler. → Q10.

Attack chain

StepTelemetryHunt Angle
1. Delivery — implant placed on host (Blackpoint notes delivery observed via the RAT's own JavaScript execution capability, i.e. redeployed from an existing foothold; initial access vector not independently confirmed)Process / file-write telemetry on the dropping processGap — no confirmed initial-access technique to hunt; monitor Q1/Q10 for redeployment
2. Execution — nvidia-sysruntime.exe launched with CLI args or -b Base64 blobProcessRollup2 / SyntheticProcessRollup2Q1, Q2
3. Host profiling — browser inventory, AV/EDR enumeration via registry uninstall keys, hostname/CPU/RAM/domain/UAC collection (in-process, no external calls)None — internal API/registry reads, not surfaced by sensorGap — see §15
4. C2 enrollment — HTTPS bearer-auth polling, WebView2 channel, or DNS-tunnel fallback to pipicka[.]xyzNetworkConnectIP4, DnsRequestQ5, Q6, Q7
5. Local state — nvctr_sys.db SQLite database created/opened for config and event persistenceFileOpenInfoQ9
6. Persistence — HKCU Run key added with the encoded -b autostart argumentRegGenericValueUpdate / AsepValueUpdateQ3
7. Operator tasking — cmd/PowerShell/JavaScript execution, screenshot capture (GDI APIs), file upload/download/archiveProcessRollup2 (script hosts); screenshot capture has no sensor telemetryQ10; native §7 for PowerShell logging; screenshot = gap
8. Follow-on tooling — renamed MSBuild (BuildCoordinator.exe) proxy-executes a build project loading DotNetZip.dllProcessRollup2Q4
9. Proxy/pivot — SOCKS5 relay (socks5_start) tunnels operator traffic through the hostNetworkConnectIP4 fan-outQ8
10. Exfiltration — operator-directed data movement over the same C2 channel(s)NetworkConnectIP4, DnsRequestQ7, Q5
04

Consolidated IOC Table

All atomic indicators below trace to a single research origin (Blackpoint APG) — see §2. Action values are held to detect/hunt/enrich/pivot only; nothing ships at a blocking/prevent action from a single source.

TypeValueConfidenceActionContextExpiry
File namenvidia-sysruntime.exeHighhuntEntry-point binary impersonating NVIDIA Container Runtime Monitor2026-12-23
SHA-256b7443b0ab48d2f5786d1b6f3a580f02621e9ae5a3877ee3a44e01df13d984328HighdetectAnalyzed LabubaRAT sample (nvidia-sysruntime.exe)2027-03-23
MD5d8bf355a198fb5db3ea65cfdfcdfbd19HighdetectAnalyzed LabubaRAT sample (nvidia-sysruntime.exe)2027-03-23
PDB pathnvidia_container.pdbMediumhuntDebug path artifact embedded in the sample2026-12-23
Local databasenvctr_sys.dbHighhuntLocal SQLite state database (config, device state, event log)2026-12-23
MutexLocal\NVIDIAContainerMonitor_SingleInstanceHighenrichSingle-instance mutex — not observable via standard Falcon telemetry (see §15)2026-12-23
C2 domainpipicka[.]xyzHighdetectObserved configured C2 server; hosts the "LabubaPanel" backend2027-03-23
File nameBuildCoordinator.exeMediumhuntRenamed Microsoft Build Engine (MSBuild) used as a LOLBIN loader2026-12-23
SHA-2563d2b22b6bc51e0918263f4420e6bdf7d982d961b54176c470cac11841d1c9b33HighdetectRenamed MSBuild binary (BuildCoordinator.exe)2027-03-23
Config valueZM_key = 8c4e4804f21649e5ddc6a5670f3b3828a43bff304f02f184f9842c2569570f3dMediumhuntObserved API key value from one enrollment (campaign/tenant-specific, may rotate)2026-12-23
Config valueZM_group = rabbitLowenrichObserved group tag; embedded help text shows other examples (room-1, sauna, vip-chair) so this value alone is weakly discriminating2026-10-23
Config valueZM_org = luxespaLowenrichObserved organization tag; same MaaS multi-tenant caveat as ZM_group2026-10-23
IPv4191.44.109.130HighdetectLabubaPanel-structured C2 host infrastructure (German hosting)2027-03-23
IPv487.120.108.18HighdetectLabubaPanel-structured C2 host infrastructure (German hosting)2027-03-23
IPv4168.222.254.204HighdetectLabubaPanel-structured C2 host infrastructure (German hosting)2027-03-23
Build path fragmentC:\Users\funt\.cargo\registry\LowpivotRust build-environment username artifact; useful for sample clustering only2026-10-23
Follow-on payloadDotNetZip.dllMediumhuntFollow-on payload loaded via the renamed-MSBuild project build; sample unrecovered at publication2026-12-23
05

Affected Surface & Telemetry Matrix

SurfaceRequired TelemetryPriorityGap Risk
Windows endpoint process executionProcessRollup2 / SyntheticProcessRollup2HighLow — strong Falcon coverage
Windows registry (HKCU Run persistence)RegGenericValueUpdate / AsepValueUpdateHighLow — strong Falcon coverage
Endpoint file access (SQLite state DB, dropped scripts)FileOpenInfoMediumLow-Medium — event covers access, not always creation-specific
Network egress (HTTPS/WebView2 C2, SOCKS5 proxy)NetworkConnectIP4HighLow — strong Falcon coverage
DNS resolution (tunneling channel)DnsRequestMediumMedium — query metadata visible, tunnel payload content is not
OS synchronization primitives (single-instance mutex)None in standard Falcon event modelLow (compensating controls only)High — full gap, see §15
In-process host/security-tool enumeration (registry reads, WinAPI calls)None — reads are not logged the way writes areLow (compensating controls only)High — full gap, see §15
Screenshot capture (GDI API sequence)None — in-memory API usage, no file/network artifactLow (compensating controls only)High — full gap, see §15
In-memory JavaScript execution engine contentNone — the RAT's internal JS interpreter, not Windows Script HostLow (compensating controls only)High — full gap, see §15
06

ATT&CK Mapping

TacticTechniqueTechnique NameObserved Behavior / Query
ExecutionT1059.001Command and Scripting Interpreter: PowerShellOperator-tasked PowerShell execution via the implant's powershell task handler — Q2, native §7
ExecutionT1059.003Command and Scripting Interpreter: Windows Command ShellOperator-tasked cmd execution — Q2
ExecutionT1059.007Command and Scripting Interpreter: JavaScriptwupd_-prefixed script executed via Windows Script Host — Q10
ExecutionT1127.001Trusted Developer Utilities Proxy Execution: MSBuildRenamed MSBuild (BuildCoordinator.exe) proxy-executes a build project — Q4
Defense EvasionT1036.005Masquerading: Match Legitimate Name or Locationnvidia-sysruntime.exe spoofed NVIDIA version metadata — Q1
Defense EvasionT1036.003Masquerading: Rename System UtilitiesMSBuild renamed to BuildCoordinator.exe — Q4
PersistenceT1547.001Boot or Logon Autostart Execution: Registry Run KeysHKCU Run key with encoded -b autostart argument — Q3
DiscoveryT1082System Information DiscoveryHostname, CPU, RAM, domain, UAC collection — no sensor telemetry, gap
DiscoveryT1016System Network Configuration DiscoveryNetwork/connection-type profiling at registration — no sensor telemetry, gap
DiscoveryT1518.001Security Software DiscoveryAV/EDR enumeration via registry uninstall keys, read in-process — no sensor telemetry, gap
CollectionT1113Screen CaptureGDI-based screenshot capture (GetDC/BitBlt/GetDIBits) — no sensor telemetry, gap
CollectionT1560Archive Collected DataArchive/unarchive file-module actions; local state DB — Q9 (partial)
Command and ControlT1071.001Application Layer Protocol: Web ProtocolsHTTPS bearer-auth polling and WebView2 channel — Q6, Q7
Command and ControlT1071.004Application Layer Protocol: DNSDNS-tunneling fallback channel to pipicka[.]xyz — Q5, Q7
Command and ControlT1090ProxySOCKS5 relay proxies operator traffic through the host — Q8
Command and ControlT1572Protocol TunnelingBase32-chunked DNS tunneling transport — Q5
ExfiltrationT1041Exfiltration Over C2 ChannelData movement over the same HTTPS/DNS channels — Q7, Q5
07

Native Audit-Log Hunts

For endpoints without Falcon sensor coverage, or as compensating telemetry, the following native Windows checks cover the same behaviors as the CQL queries in §8.

  • Event ID 4688 (Process Creation, with command-line auditing enabled via Include command line in process creation events GPO) filtered for NewProcessName ending nvidia-sysruntime.exe or BuildCoordinator.exe, or CommandLine matching the ZM_/--org/--key/--group/--server/-b patterns from Q2.
  • Event ID 4104 (PowerShell Script Block Logging) for encoded or unusual blocks spawned under a nvidia-sysruntime.exe parent — covers the implant's PowerShell task handler where Falcon is absent.
  • Event ID 4657 (registry value modified, requires SACL on the Run key) on HKCU\Software\Microsoft\Windows\CurrentVersion\Run for newly added values containing a long Base64 blob.
  • Windows Defender ASR audit events 1121 (Block) / 1122 (Audit) for the "Block executable files from running unless they meet a prevalence, age, or trusted list criterion" rule (GUID 01443614-cd74-433a-b99e-2ecdc07bfc25) — see §12/§13.
  • DNS server / resolver query logs (on-prem DNS, Umbrella, Cloudflare Gateway, or Defender for DNS) for high query-volume or long-label subdomains resolving to pipicka[.]xyz or an unclassified parent domain — works even without endpoint telemetry and is often the fastest way to catch the DNS-tunnel channel at the network edge.
  • Sysmon Event ID 1 (Process Create) as a fallback where Falcon is not deployed, matching the same filenames and command-line patterns as Q1/Q2/Q4/Q10.
  • Sysmon Event ID 3 (Network Connection) as a fallback for Q7/Q8's remote-IP matching.

The Local\NVIDIAContainerMonitor_SingleInstance mutex is not observable via Windows Security auditing, default Sysmon configuration, or Falcon telemetry — none of these log named-object (mutex/event/semaphore) creation by default. Confirming it requires a custom ETW consumer (Threat-Intelligence provider, Microsoft-Windows-Kernel-Object) or live triage with Sysinternals Handle/Process Explorer. Treat it as a manual-triage artifact, not a scalable hunt signal — see §15.

08

CrowdStrike LogScale CQL Hunt Queries

Pick your tenant's cloud first — every "Open in Falcon" button below uses this selection.
Q1 · Unsigned masquerade execution: nvidia-sysruntime.exe
CONF HIGHFP LOWCOST LOW

Looks for: Any process file-named nvidia-sysruntime.exe executing on an endpoint. FP: none expected — this is not a real NVIDIA Container Toolkit binary name; treat any hit as high priority.

// HUNT: Unsigned process masquerading as NVIDIA Container Runtime Monitor (nvidia-sysruntime.exe)
// MITRE: T1036.005, T1204.002 | CONF: high  FP: low  COST: low
// REQUIRES: ProcessRollup2 / SyntheticProcessRollup2 process visibility
// FALSE POSITIVES: none expected -- "nvidia-sysruntime.exe" is not a real NVIDIA Container Toolkit binary name; treat any hit as high priority
// LOOKBACK: 7d (set window with the Falcon time picker; no in-query time filter)
#event_simpleName=/ProcessRollup2|SyntheticProcessRollup2/
| FileName=/^nvidia-sysruntime\.exe$/i
| table([@timestamp, aid, ComputerName, UserName, ImageFileName, CommandLine, SHA256HashData, AuthenticodeHashData, ParentBaseFileName])
| sort(@timestamp, order=desc)
Q2 · Runtime configuration via CLI flags or ZM_ environment variables
CONF HIGHFP MEDIUMCOST LOW

Looks for: Process command lines carrying --org/--key/--group/--server, a long Base64 blob after -b, or a ZM_-prefixed variable. FP: internal CLI tooling that happens to use --org/--key/--group/--server flags or a ZM_-prefixed variable.

// HUNT: LabubaRAT runtime configuration via command-line flags or ZM_ environment variables
// MITRE: T1059.001, T1059.003, T1027 | CONF: high  FP: medium  COST: low
// REQUIRES: ProcessRollup2 CommandLine visibility
// FALSE POSITIVES: internal CLI tooling that happens to use --org/--key/--group/--server flags or a ZM_-prefixed variable
// TUNING: exclude known-good internal utilities by SHA256HashData or ImageFileName path before promoting to a Custom IOA
#event_simpleName=/ProcessRollup2|SyntheticProcessRollup2/
| CommandLine=/(--org\s|--key\s|--group\s|--server\s|-b\s+[A-Za-z0-9+\/=]{20,}|ZM_key|ZM_group|ZM_org)/i
| table([@timestamp, aid, ComputerName, UserName, ImageFileName, FileName, CommandLine, ParentBaseFileName, SHA256HashData])
| sort(@timestamp, order=desc)
Q3 · HKCU Run-key persistence with encoded autostart argument
CONF HIGHFP LOWCOST LOW

Looks for: A Run-key value combining a long Base64 blob with the LabubaRAT masquerade name. FP: none expected — legitimate autostart entries rarely combine a long Base64 blob with an NVIDIA-themed name.

// HUNT: HKCU Run-key persistence referencing the LabubaRAT masquerade name or its Base64 autostart flag
// MITRE: T1547.001 | CONF: high  FP: low  COST: low
// REQUIRES: RegGenericValueUpdate / AsepValueUpdate registry telemetry
// FALSE POSITIVES: none expected -- legitimate autostart entries rarely combine a long Base64 blob with an NVIDIA-themed name
#event_simpleName=/RegGenericValueUpdate|AsepValueUpdate/
| RegObjectName=/\\Software\\Microsoft\\Windows\\CurrentVersion\\Run/i
| RegStringValue=/(nvidia-sysruntime|-b\s+[A-Za-z0-9+\/=]{20,}|NVIDIAContainer)/i
| table([@timestamp, aid, ComputerName, UserName, RegObjectName, RegValueName, RegStringValue])
| sort(@timestamp, order=desc)
Q4 · Renamed MSBuild: BuildCoordinator.exe (LOLBIN rename)
CONF HIGHFP MEDIUMCOST LOW

Looks for: A process file-named BuildCoordinator.exe — the renamed Microsoft Build Engine used to proxy-execute a follow-on build project. FP: internal CI/CD pipelines that intentionally rename msbuild.exe for packaging — rare outside developer/build hosts.

// HUNT: Microsoft Build Engine renamed to BuildCoordinator.exe (trusted-utility proxy execution / LOLBIN rename)
// MITRE: T1127.001, T1036.003 | CONF: high  FP: medium  COST: low
// REQUIRES: ProcessRollup2 with SHA256HashData
// FALSE POSITIVES: internal CI/CD pipelines that intentionally rename msbuild.exe for packaging -- rare outside developer/build hosts
// TUNING: exclude known CI/CD build-agent hosts by ComputerName/host-group and your internal MSBuild SHA256HashData values
#event_simpleName=/ProcessRollup2|SyntheticProcessRollup2/
| FileName=/^BuildCoordinator\.exe$/i
| table([@timestamp, aid, ComputerName, UserName, ImageFileName, CommandLine, SHA256HashData, ParentBaseFileName])
| sort(@timestamp, order=desc)
Q5 · DNS tunneling volume toward pipicka[.]xyz and long-label queries
CONF MEDIUMFP MEDIUMCOST MEDIUM

Looks for: Elevated query volume or long (45+ character) subdomain labels toward the confirmed C2 domain or an unclassified parent domain. FP: CDN/SaaS/telemetry services that legitimately use long encoded subdomains (Akamai, Azure Front Door, some EDR/MDM heartbeat domains) — baseline your environment's DNS-heavy domains first.

// HUNT: DNS tunneling volume toward the LabubaRAT C2 (pipicka[.]xyz) and long-label DNS queries
// MITRE: T1071.004, T1572, T1041 | CONF: medium  FP: medium  COST: medium
// REQUIRES: DnsRequest telemetry
// FALSE POSITIVES: CDN/SaaS/telemetry services that legitimately use long encoded subdomains (Akamai, Azure Front Door, some EDR/MDM heartbeat domains) -- baseline your environment's DNS-heavy domains first
// TUNING: exclude known-benign long-subdomain SaaS/CDN parent domains with an explicit !in(...) allowlist stage before alerting
// LOOKBACK: 24h (DNS tunneling volume is best viewed in a short window)
#event_simpleName=DnsRequest
| length(DomainName, as=DomLen)
| DomainName=/pipicka\.xyz$/i or DomLen > 45
| groupBy([aid, ComputerName, DomainName], function=count(as=QueryCount), limit=1000)
| sort(QueryCount, order=desc)
| table([aid, ComputerName, DomainName, QueryCount])
Q6 · WebView2 runtime spawned by the LabubaRAT process tree
CONF HIGHFP LOWCOST LOW

Looks for: msedgewebview2.exe spawned by nvidia-sysruntime.exe or BuildCoordinator.exe instead of a browser. FP: none expected once scoped to these two parent names — broaden cautiously if hunting WebView2 abuse generically (many legitimate apps embed it).

// HUNT: Microsoft Edge WebView2 runtime spawned by the LabubaRAT process tree
// MITRE: T1071.001, T1036.005 | CONF: high  FP: low  COST: low
// REQUIRES: ProcessRollup2 parent/child telemetry
// FALSE POSITIVES: none expected once scoped to these two parent names -- broaden cautiously if hunting WebView2 abuse generically (many legitimate apps embed it)
#event_simpleName=/ProcessRollup2|SyntheticProcessRollup2/
| FileName=/^msedgewebview2\.exe$/i
| ParentBaseFileName=/^(nvidia-sysruntime|BuildCoordinator)\.exe$/i
| table([@timestamp, aid, ComputerName, UserName, ImageFileName, CommandLine, ParentBaseFileName, ParentProcessId_decimal])
| sort(@timestamp, order=desc)
Q7 · Outbound connections to confirmed LabubaRAT / LabubaPanel C2
CONF HIGHFP LOWCOST LOW

Looks for: Any connection or DNS resolution touching the three confirmed host IPs or pipicka[.]xyz. FP: none expected — these are campaign-specific C2 indicators.

// HUNT: Outbound connections to confirmed LabubaRAT / LabubaPanel C2 infrastructure
// MITRE: T1071.001, T1071.004, T1041 | CONF: high  FP: low  COST: low
// REQUIRES: NetworkConnectIP4 + DnsRequest telemetry
// FALSE POSITIVES: none expected -- these are campaign-specific C2 indicators
#event_simpleName=/NetworkConnectIP4|DnsRequest/
| RemoteAddressIP4=/^(191\.44\.109\.130|87\.120\.108\.18|168\.222\.254\.204)$/ or DomainName=/pipicka\.xyz$/i
| table([@timestamp, aid, ComputerName, UserName, ContextBaseFileName, RemoteAddressIP4, RemotePort, DomainName])
| sort(@timestamp, order=desc)
Q8 · High fan-out from a flagged process (SOCKS5 proxy / traffic relay)
CONF MEDIUMFP MEDIUM-HIGHCOST MEDIUM

Looks for: A process already named by Q1/Q4 connecting to more than 10 distinct remote IPs — consistent with LabubaRAT's SOCKS5 relay capability. FP: browsers, update agents, and legitimate VPN/proxy clients also fan out to many distinct remote IPs — this hunt is only meaningful scoped to a process already flagged by Q1/Q4.

// HUNT: High fan-out outbound connections from a flagged LabubaRAT process (SOCKS5 proxy / traffic-relay behavior)
// MITRE: T1090, T1572 | CONF: medium  FP: medium-high  COST: medium
// REQUIRES: NetworkConnectIP4 telemetry
// FALSE POSITIVES: browsers, update agents, and legitimate VPN/proxy clients also fan out to many distinct remote IPs -- this hunt is only meaningful scoped to a process already flagged by Q1/Q4
// TUNING: keep the ContextBaseFileName scope limited to nvidia-sysruntime.exe / BuildCoordinator.exe rather than running this environment-wide; raise the DistinctRemoteIPs threshold if your build/CI hosts legitimately fan out
#event_simpleName=NetworkConnectIP4
| ContextBaseFileName=/^(nvidia-sysruntime|BuildCoordinator)\.exe$/i
| groupBy([aid, ComputerName, ContextBaseFileName], function=[count(as=ConnCount), count(RemoteAddressIP4, distinct=true, as=DistinctRemoteIPs)], limit=1000)
| DistinctRemoteIPs > 10
| sort(DistinctRemoteIPs, order=desc)
| table([aid, ComputerName, ContextBaseFileName, ConnCount, DistinctRemoteIPs])
Q9 · Access/creation of the local state database (nvctr_sys.db)
CONF MEDIUMFP LOWCOST LOW

Looks for: File access to nvctr_sys.db or its -wal/-shm companions. FP: none expected — "nvctr_sys.db" is not a legitimate NVIDIA artifact.

// HUNT: Access or creation of the LabubaRAT local state database (nvctr_sys.db)
// MITRE: T1560, T1082 | CONF: medium  FP: low  COST: low
// REQUIRES: FileOpenInfo file-access telemetry -- field availability on this event is not exhaustively documented in the reference; ⚠ validate TargetFileName/ContextBaseFileName in your tenant
// FALSE POSITIVES: none expected -- "nvctr_sys.db" is not a legitimate NVIDIA artifact
#event_simpleName=FileOpenInfo
| TargetFileName=/nvctr_sys\.db(-wal|-shm)?$/i
| table([@timestamp, aid, ComputerName, UserName, TargetFileName, ContextBaseFileName])
| sort(@timestamp, order=desc)
Q10 · JavaScript task execution via Windows Script Host (wupd_ script)
CONF HIGHFP LOWCOST LOW

Looks for: wscript.exe/cscript.exe invoked against a wupd_-prefixed temporary .js file. FP: none expected — the wupd_ filename prefix combined with //NoLogo //E:JScript is specific to this implant's task handler.

// HUNT: LabubaRAT JavaScript task execution via Windows Script Host (wupd_ prefixed temp script)
// MITRE: T1059.007, T1027 | CONF: high  FP: low  COST: low
// REQUIRES: ProcessRollup2 CommandLine visibility
// FALSE POSITIVES: none expected -- the wupd_ filename prefix combined with //NoLogo //E:JScript is specific to this implant's task handler
#event_simpleName=/ProcessRollup2|SyntheticProcessRollup2/
| FileName=/^(wscript|cscript)\.exe$/i
| CommandLine=/wupd_[A-Za-z0-9]+\.js/i
| table([@timestamp, aid, ComputerName, UserName, CommandLine, ParentBaseFileName, ParentProcessId_decimal])
| sort(@timestamp, order=desc)
09

CrowdStrike Custom IOA Recommendations

Six queries are deterministic enough (specific filename, hash, or campaign-confirmed C2 value) to promote directly to Custom IOA rules. The remaining four (Q2, Q5, Q6, Q8) ship as hunt/investigate-only pending tenant-specific tuning — see §8 TUNING notes.

IOA NamePatternExclusionsDeployment Path
Custom-IOA: NVIDIA-Masquerade-Exec (Q1)Process FileName exact-match nvidia-sysruntime.exeNone knownFalcon Console → Endpoint Security → Custom IOA rule groups → new File Creation/Process rule scoped to Windows, action Detect (promote to Prevent only after a validated 7-day monitoring period)
Custom-IOA: LabubaRAT-RunKey-Persistence (Q3)RegObjectName under ...CurrentVersion\Run AND RegStringValue matches Base64/masquerade patternNone knownFalcon Console → Custom IOA → Registry rule, action Detect
Custom-IOA: Renamed-MSBuild-BuildCoordinator (Q4)Process FileName exact-match BuildCoordinator.exeTag and exclude confirmed CI/CD build-agent host group by ComputerName/host groupFalcon Console → Custom IOA → Process rule, action Detect; consider Prevent only on non-developer host groups
Custom-IOA: LabubaRAT-C2-Network (Q7)RemoteAddressIP4 in the three confirmed hosts, or DomainName matches pipicka.xyzNone knownFalcon Console → Custom IOC (not IOA) → IP/Domain indicators → import §10 CSV, action Detect; also add as a Custom IOA network rule for defense-in-depth
Custom-IOA: LabubaRAT-LocalStateDB (Q9)TargetFileName matches nvctr_sys.db(-wal|-shm)?None knownFalcon Console → Custom IOA → File rule, action Detect
Custom-IOA: LabubaRAT-WSH-JSTask (Q10)Process FileName wscript.exe/cscript.exe AND CommandLine matches wupd_*.jsNone knownFalcon Console → Custom IOA → Process rule, action Detect

Promote Q2 (CLI/ZM_ config), Q6 (WebView2 lineage), and Q8 (proxy fan-out) to Custom IOA only after a monitoring period confirms the TUNING exclusions hold in your environment. Q5 (DNS tunneling) is best left as a scheduled hunt search or routed to your DNS-security product's own tunneling detector rather than a Falcon Custom IOA, since its FP profile depends heavily on your SaaS footprint.

10

Machine-Readable IOC Appendix

All rows below are single-sourced to Blackpoint APG (see §2). Action is capped at detect/hunt — nothing ships as prevent from a single source, consistent with §4.

Falcon IOC Management CSVbulk import
type,value,action,severity,expiration,description,tags
sha256,b7443b0ab48d2f5786d1b6f3a580f02621e9ae5a3877ee3a44e01df13d984328,detect,critical,2027-03-23,LabubaRAT entry point nvidia-sysruntime.exe. Single-sourced to Blackpoint APG.,campaign:LabubaRAT
md5,d8bf355a198fb5db3ea65cfdfcdfbd19,detect,critical,2027-03-23,LabubaRAT entry point nvidia-sysruntime.exe MD5. Single-sourced.,campaign:LabubaRAT
sha256,3d2b22b6bc51e0918263f4420e6bdf7d982d961b54176c470cac11841d1c9b33,detect,high,2027-03-23,Renamed MSBuild BuildCoordinator.exe LOLBIN loader. Single-sourced.,campaign:LabubaRAT
domain,pipicka.xyz,detect,critical,2027-03-23,LabubaRAT / LabubaPanel C2 domain. Single-sourced.,campaign:LabubaRAT
ipv4,191.44.109.130,detect,high,2027-03-23,LabubaPanel C2 host infrastructure. Single-sourced.,campaign:LabubaRAT
ipv4,87.120.108.18,detect,high,2027-03-23,LabubaPanel C2 host infrastructure. Single-sourced.,campaign:LabubaRAT
ipv4,168.222.254.204,detect,high,2027-03-23,LabubaPanel C2 host infrastructure. Single-sourced.,campaign:LabubaRAT
filename,nvidia-sysruntime.exe,hunt,high,2026-12-23,LabubaRAT masquerading entry-point filename.,campaign:LabubaRAT
filename,BuildCoordinator.exe,hunt,medium,2026-12-23,Renamed msbuild.exe used as a LOLBIN loader.,campaign:LabubaRAT
filename,nvctr_sys.db,hunt,high,2026-12-23,LabubaRAT local SQLite state database.,campaign:LabubaRAT
Behavioral Signaturesnot literal IOCs
# LabubaRAT behavioral signatures -- hunt patterns, not import-ready indicators
Unsigned 64-bit PE claiming NVIDIA Corporation / NVIDIA Container Runtime Monitor /
NVIDIA Container Toolkit version metadata, running from a non-NVIDIA install path.
Process command line or environment containing --org / --key / --group / --server
or a ZM_ prefixed variable.
Process command line containing a long Base64 blob following a -b flag (LabubaRAT's
packed autostart argument).
msedgewebview2.exe spawned by a non-browser, non-Microsoft-signed parent process.
High-volume DNS queries with long (40+ character) subdomain labels toward a single
low-reputation parent domain.
wscript.exe/cscript.exe invoked against a temp script file with a wupd_ prefix.
Named Malware / Toolingreference
LabubaRAT (nvidia-sysruntime.exe implant) -- Rust-based RAT, likely MaaS, tracked
by Blackpoint Cyber APG. First observed 2026-07-02.
LabubaPanel -- C2 panel/backend infrastructure; page title "LabubaPanel" with a
Labubu-themed favicon.
BuildCoordinator.exe -- renamed Microsoft Build Engine (MSBuild) used as a
trusted-utility proxy loader (T1127.001).
DotNetZip.dll -- follow-on payload loaded via the renamed-MSBuild project build;
sample unrecovered at publication.
HKCU Run-Key AuditPowerShell / RMM
# Flags HKCU Run-key entries matching LabubaRAT's Base64-packed autostart pattern.
# Run per-endpoint or wrap for RMM fleet deployment.
$runKey = 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Run'
if (Test-Path $runKey) {
  (Get-Item $runKey).Property | ForEach-Object {
    $val = (Get-ItemProperty $runKey -Name $_).$_
    if ($val -match '-b\s+[A-Za-z0-9+/=]{20,}' -or $val -match 'nvidia-sysruntime') {
      Write-Output "FLAG: $_ = $val"
    }
  }
}
# Pair with ASR rule 01443614-cd74-433a-b99e-2ecdc07bfc25
# (Block executable files unless prevalence/age/trusted-list criteria are met) -- see Sec13.
11

Detection Validation Gates

GateCheckStatus Before Promotion
1. Telemetry readyConfirm ProcessRollup2, RegGenericValueUpdate/AsepValueUpdate, NetworkConnectIP4, DnsRequest, and FileOpenInfo are flowing for the target host group (* | groupBy(#event_simpleName) over a sample host)Required before any Q1-Q10 query is trusted
2. Benign baselineRun each query over a 7-30 day historical window in a representative host group with zero known LabubaRAT activity; confirm Q1/Q3/Q4/Q6/Q7/Q9/Q10 return zero hits and Q2/Q5/Q8 return only expected internal-tooling noiseRequired before Custom IOA promotion
3. Positive testWhere safe, validate detection logic against a controlled atomic test (e.g. rename a benign signed binary to nvidia-sysruntime.exe and launch it in a lab VM; drop a zero-byte nvctr_sys.db) rather than executing the live sampleRecommended before Prevent-mode promotion
4. Promotion criteriaA query graduates from hunt-only to Custom IOA (Detect) after gates 1-2 pass with zero unexplained FPs across a 7-day window; graduates to Prevent only after a further 7-day Detect-mode monitoring period with zero FPs (§9)Q1, Q3, Q4, Q7, Q9, Q10 eligible now for Detect; Prevent requires the full window
12

Hardening — Tiered

LabubaRAT is entirely a Windows-endpoint threat in current reporting (no AD, cloud, or non-Windows surface observed). Controls below are cited to MITRE ATT&CK Mitigations (the why) plus CIS Microsoft Windows Benchmark / Microsoft Security Baselines and Microsoft's own ASR/WDAC documentation (the what/where), per platform_hardening_routing.md.

Immediate — this week
  • Block the confirmed C2 (§10 CSV: pipicka.xyz + 3 host IPs) at the firewall/proxy/DNS-security layer and as a Falcon Custom IOC. MITRE M1037 (Filter Network Traffic). CIS Microsoft Windows Benchmark does not cover network egress directly; authority here is your firewall/DNS-security vendor's block-list mechanism.
  • Enable ASR rule "Block executable files from running unless they meet a prevalence, age, or trusted list criterion" (GUID 01443614-cd74-433a-b99e-2ecdc07bfc25) in Block mode. MITRE M1038 (Execution Prevention). Microsoft Defender ASR reference; also aligns with CIS Microsoft Windows 11 Benchmark 18.9.x (Defender Exploit Guard / ASR section).
  • Confirm Falcon prevention policy is set to block unsigned/unknown-reputation execution, suspicious-process blocking, and tamper protection are all ON. MITRE M1040 (Behavior Prevention on Endpoint). CrowdStrike Falcon prevention-policy admin guide.
  • Restrict MSBuild execution to designated build/CI hosts via an AppLocker or WDAC publisher+path rule blocking msbuild.exe (by any filename) on non-developer endpoints. MITRE M1038, M1045 (Execution Prevention, Code Signing). CIS Microsoft Windows Benchmark 9.x (AppLocker) / Microsoft WDAC design guide.
Near term — 1 to 4 weeks
  • WDAC or AppLocker policy requiring code-signing for new executables launched from user-writable paths (%TEMP%, %APPDATA%, Downloads) — would have blocked the unsigned nvidia-sysruntime.exe outright. MITRE M1038, M1045. Microsoft WDAC / CIS Microsoft Windows Benchmark 9.x. Pilot on a ring before fleet-wide enforcement mode.
  • Tune DNS-security tunneling detection (Cisco Umbrella, Cloudflare Gateway, Defender for DNS, or resolver logs) for long-label/high-volume query patterns per Q5. MITRE M1021 (Restrict Web-Based Content). Vendor DNS-security config guide; CISA/NSA guidance on protective DNS is the cross-platform fallback authority.
  • Restrict or monitor Windows Script Host (wscript.exe/cscript.exe): require signed scripts or disable WSH via GPO on endpoints where it is not a business requirement. MITRE M1042 (Disable or Remove Feature or Program). CIS Microsoft Windows Benchmark 18.x (Windows Script Host section).
  • Enable PowerShell Script Block Logging (4104) and process-creation command-line auditing (4688) fleet-wide as compensating telemetry, especially on hosts outside Falcon coverage. MITRE M1047 (Audit). Microsoft Security Baseline (Audit Policy) / CIS Microsoft Windows Benchmark 17.x.
Strategic — 1 to 3 months
  • Move from WDAC audit to full enforcement across the endpoint fleet with a managed allowlist that explicitly covers approved NVIDIA driver/toolkit packages, so a masquerading binary with the same name cannot ride along. MITRE M1045, M1033 (Code Signing, Limit Software Installation). Microsoft WDAC deployment guide.
  • Default-deny egress / allowlisted outbound for workstation network segments, removing the fan-out surface LabubaRAT's SOCKS5 proxy relies on. MITRE M1030, M1037 (Network Segmentation, Filter Network Traffic). CIS Controls v8 (Network Infrastructure Management); no single CIS Windows Benchmark line covers this — flagged ⚠ best-practice, no single formal benchmark line, follow CIS Controls v8 Control 12/13.
  • Formal LOLBIN/dev-utility governance: inventory every host with MSBuild or other build tooling installed, remove it from non-developer endpoints, and restrict remaining installs to an AppLocker publisher rule scoped to an authorized build-host group. MITRE M1033, M1038. CIS Microsoft Windows Benchmark 9.x.
13

Deployable Playbooks

Playbook: LabubaRAT Masquerade & LOLBIN-Rename Prevention (T1036.005, T1127.001, T1547.001)

MITRE: T1036.005, T1127.001, T1547.001 → M1037, M1038, M1040, M1042, M1045, M1047
Estimated deploy time: 1-2 hours (Immediate-tier steps); 1 day per pilot ring (WDAC enforcement)
Prerequisites: Windows 10 1809+/Server 2019+ with Defender enabled, local admin on target endpoints, Falcon sensor installed for steps 3 and 5
Reboot required: No for steps 1, 3, 4, 5; No for step 2 (AppLocker policy refresh via gpupdate; a reboot is not required but is recommended for full session cleanup)

Step 1 — Block confirmed LabubaRAT C2 via Windows Firewall (host-level compensating control)

What it does: Blocks outbound connections to the three confirmed C2 IPs at the host firewall as an immediate compensating control ahead of a perimeter/DNS-security change.
Why it works: Even if the implant executes, it cannot reach its enrollment server over these addresses.

$badIPs = @('191.44.109.130','87.120.108.18','168.222.254.204')
New-NetFirewallRule -DisplayName 'Block-LabubaRAT-C2' -Direction Outbound `
  -RemoteAddress $badIPs -Action Block -Profile Any -Enabled True
Write-Output "Firewall rule Block-LabubaRAT-C2 created for $($badIPs.Count) address(es)."

Verify:

Get-NetFirewallRule -DisplayName 'Block-LabubaRAT-C2' |
  Get-NetFirewallAddressFilter | Select-Object RemoteAddress

Rollback:

Remove-NetFirewallRule -DisplayName 'Block-LabubaRAT-C2'

Step 2 — Enable ASR rule: block untrusted/unsigned executables

What it does: Blocks execution of new, low-prevalence, unsigned executables such as a freshly dropped nvidia-sysruntime.exe.
Why it works: LabubaRAT's entry point is unsigned and has no install-base prevalence, so it fails this rule's trust criteria outright.

$asrRule = '01443614-cd74-433a-b99e-2ecdc07bfc25'
Set-MpPreference -AttackSurfaceReductionRules_Ids $asrRule `
                 -AttackSurfaceReductionRules_Actions Enabled
Write-Output "ASR rule $asrRule set to Enabled (Block)."

GPO path: Computer Configuration > Administrative Templates > Windows Components > Microsoft Defender Antivirus > Microsoft Defender Exploit Guard > Attack Surface Reduction > Configure Attack Surface Reduction rules — add value name 01443614-cd74-433a-b99e-2ecdc07bfc25, value data 1 (Block), or 2 (Audit) during pilot.

Verify:

$ids = (Get-MpPreference).AttackSurfaceReductionRules_Ids
$actions = (Get-MpPreference).AttackSurfaceReductionRules_Actions
for ($i = 0; $i -lt $ids.Count; $i++) {
  if ($ids[$i] -eq '01443614-cd74-433a-b99e-2ecdc07bfc25') {
    "ASR rule action: $($actions[$i]) (1=Block, 2=Audit, 6=WarnUser)"
  }
}

Monitor for false positives: Event ID 1121 (Block) / 1122 (Audit) in Microsoft-Windows-Windows Defender/Operational.

Rollback:

Set-MpPreference -AttackSurfaceReductionRules_Ids '01443614-cd74-433a-b99e-2ecdc07bfc25' `
                 -AttackSurfaceReductionRules_Actions Disabled

Step 3 — Restrict MSBuild execution to a designated build-host group (AppLocker publisher rule)

What it does: Prevents MSBuild (original or renamed to any filename, such as BuildCoordinator.exe) from executing outside an approved build/CI host group.
Why it works: AppLocker publisher rules match the Authenticode publisher, not the filename, so a rename does not evade the rule.
Prerequisites: Application Identity service running, AppLocker policy applied via GPO to a security group covering non-developer endpoints.

Start-Service -Name AppIDSvc -ErrorAction SilentlyContinue
$rule = New-AppLockerPolicy -RuleType Publisher -User Everyone -Optimize `
  -ExecutablesFilePath 'C:\Windows\Microsoft.NET\Framework64\v4.0.30319\MSBuild.exe' `
  -Xml
Write-Output "Generated AppLocker publisher rule for MSBuild.exe -- import into the non-developer GPO and set to Deny."

GPO path: Computer Configuration > Windows Settings > Security Settings > Application Control Policies > AppLocker > Executable Rules — import the generated publisher rule scoped to the non-developer OU/security group, action Deny.

Verify:

Get-AppLockerPolicy -Effective -Xml | Select-String 'MSBuild'
# Confirm the deny rule is present and applied to the target OU/group

Rollback: Remove the imported publisher rule from the AppLocker GPO and run gpupdate /force on affected endpoints.

Step 4 — Confirm Falcon prevention policy posture

What it does: Ensures Falcon's ML/behavioral prevention and tamper protection are active for unsigned/unknown-reputation execution — a layer independent of the static controls above.
Not a script — Falcon Console UI: Endpoint security > Prevention policies > for policies applied to workstations/servers: Sensor visibility all ON; Cloud machine learning Detection Aggressive / Prevention Moderate-or-Aggressive; Suspicious Processes ON (Block); Tampering Protection ON.

Verify (from a target endpoint):

Get-Service CSFalconService | Select-Object Name, Status
# Status: Running

Rollback: Revert the prevention-policy toggles in Falcon Console to their prior saved values (export policy JSON before changing, for a clean revert).

Step 5 — Import LabubaRAT Custom IOCs

What it does: Loads the §10 CSV into Falcon's IOC Management so the confirmed hashes/domain/IPs generate Detect-severity alerts fleet-wide.
Not a script — Falcon Console UI: Endpoint security > IOC Management > Upload CSV > select the §10 grab-csv export > confirm action=detect for every row (do not change to Prevent given the single-source caveat in §2/§4).

Verify: Endpoint security > IOC Management > filter by tag campaign:LabubaRAT — confirm 10 indicators present, all action=Detect.

Rollback: Delete the imported indicators by tag campaign:LabubaRAT from IOC Management.

14

Containment Runbook

PhaseActionsOwnerEvidence
1. Identify / TriageConfirm hits from Q1/Q3/Q4/Q7/Q9/Q10. Pull SHA256/MD5 of the flagged nvidia-sysruntime.exe/BuildCoordinator.exe and compare against §4/§10. Capture full process tree, parent chain, command line, and loaded modules.SOC / Threat HunterFalcon process timeline export, hash values, command-line capture
2. IsolateNetwork-contain the host via Falcon RTR "Network Contain" immediately — do not wait for full triage. Block C2 IP/domain fleet-wide (§13 Step 1) if not already deployed. Avoid killing the process before memory/artifact collection if deeper forensics are planned.SOC / IR LeadContainment action log, timestamp of isolation
3. EradicateTerminate nvidia-sysruntime.exe / BuildCoordinator.exe processes. Remove the HKCU Run-key persistence entry (§4/§7). Delete nvctr_sys.db (+ -wal/-shm) and dropped binaries after evidence collection. Remove any wupd_-prefixed temp scripts. Rotate credentials/API keys/browser session tokens resident on the host — the implant enumerates Chrome/Firefox/Edge/Brave profiles, so treat stored sessions as exposed.IR / Endpoint AdminRemoval log, before/after registry and filesystem snapshot, credential-rotation ticket
4. RecoverReimage or restore from known-good backup rather than clean-in-place if the MSBuild/DotNetZip follow-on stage executed — assume deeper compromise given the SOCKS5 proxy and file-transfer capability. Re-validate with a negative-hit re-scan against Q1/Q3/Q4/Q7/Q9/Q10 before returning the host to production. Force credential rotation for any accounts active on the host during the dwell window.Endpoint Admin / IAMReimage record, clean re-scan results, credential-rotation confirmation
5. Lessons Learned / Hardening Follow-UpConfirm §12 Immediate-tier controls are deployed fleet-wide, not just on the affected host. Feed IOCs/TTPs into the threat-intel platform. Update §15 Coverage Map with any new findings from this incident (e.g. a newly observed C2 node).Threat Intel / Detection EngineeringPost-incident review, updated Coverage Map, hardening deployment confirmation
15

Detection Coverage Map

Technique / BehaviorCQLCustom IOACoverage
T1036.005 — nvidia-sysruntime.exe masquerade executionQ1YesGood
T1059.001/.003/.007 — operator command/script executionQ2, Q10Q10 onlyPartial
T1547.001 — HKCU Run-key persistenceQ3YesGood
T1127.001/T1036.003 — renamed MSBuild LOLBINQ4YesGood
T1071.004/T1572 — DNS tunneling channelQ5Hunt-onlyPartial — query metadata only, tunnel payload content not visible to Falcon
T1071.001 — WebView2 C2 channelQ6Investigate-onlyPartial
T1071.001/T1071.004/T1041 — confirmed C2 IP/domainQ7YesGood
T1090/T1572 — SOCKS5 proxy pivotQ8Investigate-onlyPartial
T1560 — local state DB / stagingQ9YesGood
T1082/T1016/T1518.001 — host, network, and security-tool discoveryNoneNoGAP — in-process registry reads and API calls, not surfaced by Falcon or Windows auditing by default
T1113 — screenshot capture (GDI API sequence)NoneNoGAP — in-memory API usage leaves no file/network artifact
Local\NVIDIAContainerMonitor_SingleInstance mutexNoneNoGAP — no OS-level mutex-creation telemetry in Falcon, default Sysmon, or Windows Security auditing; requires custom ETW consumer or live triage (§7)
In-memory JavaScript execution engine (RAT-internal, not WSH)NoneNoGAP — internal interpreter content is not observable; only the WSH-delegated wupd_ task (Q10) is visible

Every gate in §11 (Telemetry ready / Benign baseline / Positive test / Promotion criteria) must pass before a query listed as "Yes" above is promoted beyond Detect-mode Custom IOA.

16

Hunt Summary Ticket

TITLE: LabubaRAT -- NVIDIA-Masquerading Rust RAT (MaaS-Suspected) Hunt
SEVERITY: High
SCOPE: All Windows endpoints and DNS-egress-capable network segments
HYPOTHESIS: LabubaRAT (nvidia-sysruntime.exe) has been deployed to establish a
  hands-on-keyboard foothold with multi-channel C2 (HTTPS/WebView2/DNS tunnel)
  and SOCKS5 proxy pivot capability, persisting via an encoded HKCU Run key and
  optionally escalating through a renamed MSBuild (BuildCoordinator.exe) stage.
QUERIES: Q1-Q10 (Sec8); IOA candidates Q1, Q3, Q4, Q7, Q9, Q10 (Sec9)
DO FIRST:
  1. Run Q1 (masquerade exec) and Q7 (confirmed C2) across the full fleet --
     highest confidence, near-zero FP.
  2. Run Q3 (Run-key persistence) and Q9 (local state DB) to confirm survival
     mechanism on any host flagged by Q1.
  3. Block the three C2 IPs and pipicka.xyz per Sec13 Step 1 regardless of
     hunt results -- this is a zero-cost compensating control.
FINDINGS: [populate post-hunt]
GAPS: Mutex creation, in-process host/security-tool discovery, screenshot
  capture, and in-memory JS execution content are not observable via Falcon
  or default Windows auditing (Sec15). DNS-tunnel payload content requires a
  DNS-security product, not endpoint telemetry.
ACTIONS: Sec12 Immediate tier (C2 block, ASR rule, Falcon prevention posture,
  MSBuild AppLocker restriction) this week; Sec14 containment runbook on any
  confirmed hit.
OWNER: HuntPack / assign to on-call threat hunter
VERSION: v0.1 -- 2026-09-23
17

Changelog

v0.12026-09-23Initial draft. Built from 4 fetched sources (2 primary Blackpoint, 2 secondary corroboration); 10 CQL hunt queries; 6 Custom IOA candidates; tiered hardening and deployable playbook; containment runbook; 4 coverage gaps flagged (mutex, host/security-tool discovery, screenshot capture, in-memory JS).
18

References

TierSourceUsed ForAccess Date
1 · PrimaryBlackpoint Cyber — Threat Snapshot: LabubaRAT (published 2026-09-17)Condensed IOC table, MITRE TTP table, recommendations2026-09-23
1 · PrimaryBlackpoint Cyber — LabubaRAT: A Rust Based Remote Access Tool Masquerading as NVIDIA Software (Decker & Beal, published 2026-07-14)Full technical analysis: Rust artifacts, config model, transport internals, tasking model, IOCs2026-09-23
2 · SecondaryHelp Net Security — LabubaRAT malware infiltrates Windows systems while posing as NVIDIA software (Markovic, published 2026-07-15)Corroboration; MaaS-attribution hedge language2026-09-23
2 · SecondaryThe Hacker News — LabubaRAT Masquerades as NVIDIA Software to Control Windows Hosts (Lakshmanan, published 2026-07-14)Corroboration; MaaS-attribution hedge language2026-09-23

Full verbatim text of all four sources is saved in LabubaRAT-Hunt-sources/ alongside this file for provenance re-verification.