CTIPilot
AI-generated · no human review · verify critical claims against the linked source. how it works →
← Back to Daily brief 2026-08-23
HIGHCVE-2019-16098 +1updatedNATOB2threat

SPECTRE unlinks EDR's kernel callbacks one at a time using a two-driver BYOVD toolkit and an offset table for thirteen Windows builds, and its Linux half hides through ftrace rather than the syscall table

A cross-platform implant that blinds callback-dependent endpoint security products to process, thread and image-load events for the rest of the session

Defender actions

  • Check whether RTCore64.sys and DBUtil_2_3.sys can load in your estate; Microsoft's vulnerable-driver blocklist covers both, and confirming it is enforced (rather than merely available) removes this implant's entire kernel-write path.

Analysis

Cisco Talos published an analysis on 2026-08-20 of SPECTRE, a cross-platform C backdoor run by a Chinese-speaking intrusion actor it designates UAT-10147, which compromises internet-facing IIS and Linux web servers and monetises them through search-engine fraud (Cisco Talos, 2026-08-20). The Windows build implements 45 commands, the Linux build 29. The interesting half is not the command set but how each variant makes itself unobservable, and both answers are instructive for tooling choices rather than for signature lists.

Blinding the endpoint on Windows. SPECTRE downloads one of two long-known vulnerable drivers from its command-and-control server, MSI's RTCore64.sys (CVE-2019-16098) or Dell's DBUtil_2_3.sys (CVE-2021-21551), writes it to the temporary directory, installs it as a transient kernel service through the Service Control Manager, and opens a device handle to it. Neither is a new flaw; both are being reused as an arbitrary kernel read/write primitive. With that primitive it locates the kernel image in memory through a documented system-information call, then consults a hardcoded offset table covering thirteen Windows versions to compute where the notification-callback arrays live, and performs targeted writes: "By performing targeted kernel writes, the SPECTRE safely unlinks each registered EDR callback from its doubly-linked list". The three callback classes it removes are process creation, thread creation and image load, the events most endpoint products depend on to see anything happen at all. Talos describes the affected class as "kernel-callback-dependent security products" without naming vendors. The blinding lasts for the remainder of the session, which matters for response scoping: it is not a permanent modification, and a reboot restores callback registration, but everything the implant does after that point produced no callback-derived telemetry.

Execution, privilege and credentials. Talos also documents the implant's injection tradecraft, standard process hollowing, targeting a common Windows service host by default, and an asynchronous-procedure-call injection variant executed early in a target process's lifetime. Escalation is named-pipe impersonation, the implant creates a pipe under a predictable per-thread name and acquires a SYSTEM token from a client that connects to it. Credential access is then deliberately built to avoid the one place defenders watch hardest: with SYSTEM in hand it saves the SAM, SYSTEM and SECURITY registry hives to disk for offline hash extraction, enumerates stored Windows credentials by capturing the output of the built-in credential-manager listing utility (Talos emphasises this happens without any LSASS access) and copies Chrome and Edge login-data and local-state files for offline DPAPI decryption with a named public post-exploitation tool. No process ever opens a handle to LSASS, so a detection strategy anchored on LSASS access sees none of it.

Command-and-control that survives blocking. The C2 configuration is stored in an alternate data stream on the Windows hosts file. Talos's framing of why: "This strategy allows the threat actor to easily update the C2 configuration by modifying the ADS, thereby circumventing firewall blocklists without needing to recompile the binary." The evasion value is specifically against static, hash-keyed and recompile-triggered detection rather than against telemetry that observes stream creation.

The Linux half. Persistence is a systemd unit presenting itself as a hardware performance monitor, and the detail worth carrying is its ordering directive: the unit is configured to start before the system initialisation target, which Talos states ensures the rootkit loads on every boot ahead of any security tooling. The kernel module masquerades as the legitimate ACPI processor power-management module. Hiding is implemented through ftrace with the instruction-pointer-modify flag, redirecting six entry points covering TCP socket enumeration for both IPv4 and IPv6, the three signal-delivery syscalls and directory enumeration. Talos's own explanation of why this choice matters: because ftrace is a legitimate kernel debugging interface, hooking through it produces minimal noise in kernel integrity checks, which is to say it specifically defeats tools that watch the syscall table for patching but do not watch ftrace registration state. Control is exercised by sending signals to a magic process id: one signal unlinks a task structure from the kernel process list so its /proc entry disappears, another unlinks the module itself from the kernel module list so it vanishes from module listings, a third rewrites the calling process's credential structure to grant it root, and a fourth serves as a module-load acknowledgement handshake.

On the AI claim, at the source's own confidence. Talos makes three separate and differently-hedged statements here, and they should not be collapsed. Scoped to the Linux rootkit's source code specifically, it states: "Talos investigated the source code of the Specter rootkit and assesses with medium confidence that UAT-10147 leveraged a combination of AI-assisted development and human expertise in the creation of this rootkit, which is designed to be invoked directly by SPECTRE." It rests that on four observations, an opening comment block that reads like a generated feature list narrating what the code is about to do, decorative separators of machine-like uniformity across more than ten sections, pedagogical inline comments explaining basic kernel concepts a developer would not explain to themselves, and three redundant implementations explicitly labelled as alternative methods where a human targeting one kernel would pick one. That last observation is the most portable: producing every known approach rather than selecting one is a completeness reflex, and it is a heuristic that works independently of this actor. Separately and without a confidence qualifier, Talos assesses the actor is gradually incorporating AI-assisted development more broadly, extending the suggestion to the SPECTRE backdoor itself without the same enumerated evidence. And separately again, build-path strings inside the actor's custom privilege-escalation tools reference an "AI" directory, which Talos describes only as strongly suggesting AI assistance in developing those tools, weaker wording, different tools, and not part of the medium-confidence rootkit assessment.

Cited evidence

By performing targeted kernel writes, the SPECTRE safely unlinks each registered EDR callback from its doubly-linked list

kernel-callback-dependent security products are rendered completely blind to new process creations, thread creations, and image load events for the remainder of the session

This strategy allows the threat actor to easily update the C2 configuration by modifying the ADS, thereby circumventing firewall blocklists without needing to recompile the binary.

Talos investigated the source code of the Specter rootkit and assesses with medium confidence that UAT-10147 leveraged a combination of AI-assisted development and human expertise in the creation of this rootkit, which is designed to be invoked directly by SPECTRE.

Signal 62 triggers process hiding by removing the target task_struct from the kernel PID list

Cisco Talos 2026-08-20

Updates1

Correction

Talos has revised the SPECTRE post and no longer names any vendor in the passage on callback unlinking. It now says only that "kernel-callback-dependent security products are rendered completely blind to new process creations, thread creations, and image load events for the remainder of the session" (Cisco Talos, revised since). This entry had attributed a list of three named products to Talos, and that attribution no longer holds. The technique, and its effect on any product that depends on kernel callbacks, is unchanged.

Sources1

Revision history

  1. Published 2026-08-23T0409Z-intel
  2. Correction 2026-09-29T2134Z-audit

    Cisco Talos revised its SPECTRE post and no longer names any endpoint product in the passage on kernel-callback unlinking; the list of CrowdStrike Falcon, SentinelOne and Microsoft Defender this entry attributed to Talos is gone from the headline, the summary, the evidence and the analysis. The mechanism and the blinding claim are unchanged on the page.

    Changed: summary evidence headline body

PROVENANCE

AI-generated · no human review · this permalink is the shareable record for the finding · verify operationally critical claims against the linked primary source.