Potential Evasion via Boot Time Removal Tool
Description
Identifies creation of a ":changelist" NTFS alternate data stream or a Windows service Args registry value pointing to a ":changelist" path. Microsoft Defender's Boot-Time Removal (BTR.sys) driver reads an RC4-encrypted transaction blob from a driver ADS named ":changelist", referenced by HKLM\SYSTEM\*ControlSet*\Services\*\Args. Adversaries can reproduce this staging outside Defender to abuse BTR.sys as a signed kernel primitive for arbitrary file and registry operations. This rule focuses on non-System writers and excludes Microsoft-signed MRT.exe running as SYSTEM, which may perform related remediation staging.
Query · esql
from logs-endpoint.events.file-*, logs-endpoint.events.registry-* metadata _id, _version, _index
| where host.os.type == "windows"
and process.pid != 4
and not (
user.id == "S-1-5-18"
and to_lower(process.executable) like """?:\\windows\\system32\\mrt.exe"""
and process.code_signature.subject_name in ("Microsoft Windows", "Microsoft Corporation")
and process.code_signature.trusted == true
)
and (
(
event.category == "file"
and event.type == "creation"
and ends_with(to_lower(file.name), ":changelist")
)
or (
event.category == "registry"
and event.type == "change"
and to_lower(registry.path) like """*\\system\\*controlset*\\services\\*\\args"""
and to_lower(registry.data.strings) like "*:changelist"
)
)
| keep
@timestamp,
host.id,
host.name,
user.id,
user.name,
process.pid,
process.name,
process.executable,
process.code_signature.subject_name,
event.category,
event.type,
file.path,
file.name,
file.size,
registry.path,
registry.value,
registry.data.strings,
data_stream.namespace,
_id,
_version,
_index
| limit 100
Investigation fields
Pivot points the source recommends for triage.
@timestamphost.idhost.nameuser.iduser.nameprocess.pidprocess.nameprocess.executableprocess.code_signature.subject_nameevent.categoryfile.pathfile.namefile.sizeregistry.pathregistry.valueregistry.data.strings
Implementation guide
This rule is designed for data generated by Elastic Defend, which provides native endpoint detection and response, along with event enrichments designed to work with our detection rules.
Setup instructions: https://ela.st/install-elastic-defend
Analyst notes
Investigating Potential Evasion via Boot Time Removal Tool
Windows Defender's Boot-Time Removal driver (BTR.sys) is instructed via an encrypted configuration stored in an
Alternate Data Stream named :changelist on a .sys image. The service Args value under
HKLM\SYSTEM\*ControlSet*\Services\<name>\Args points at that ADS path. Check Point Research (BTR Reforged)
showed that the same staging can be performed by non-Defender tooling (for example BTR_CLI) to drive Ring-0 file and
registry actions, including neutralization of security products during early boot.
Possible investigation steps
- Identify whether the alert is a file ADS creation or a service
Argsregistry write usingevent.category,file.name/file.path, andregistry.path/registry.data.strings. - Review
process.executable,process.name,process.pid,process.parent.executable, anduser.idto determine whether a Defender component, MRT, or an unexpected user-mode binary staged the:changelistartifact. - For file events, inspect the base
.syspath (strip:changelist), size, hash, and code signature. Confirm whether the driver was recently dropped under a user-writable path (Downloads, Temp, Desktop) versus a Defender-managed path. - For registry events, note the service key name under
Services\*and check sibling values (ImagePath,Type,Group). Abuse tooling often setsGrouptoBoot Bus Extenderand may create the service via direct registry writes /NtLoadDriverwithout a corresponding SCM service-install event (7045). - Hunt on the same
host.idfor related activity: creation of*.sys:*.datfeedback ADS, load of a Microsoft-signed driver matching BTR, creation/deletion of\\SystemRoot\\Temp\\BootClean.logby PID 4, and deletions of security binaries attributed to System. - Correlate with other alerts for the same
user.idandhost.idin the prior 48 hours for privilege escalation, driver load, or Defender tampering.
False positive analysis
- Legitimate Defender or MRT reboot remediation may create
:changelistADS and related service Args values. This rule excludes PID 4 and Microsoft-signedMRT.exeas SYSTEM; unsigned or differently signedMRT.exestill alerts. Rare Defender paths (for exampleMsMpEng.exe) may still match and should be validated before exceptioning. - Security research labs intentionally exercising BTR_CLI or similar PoCs will generate true-positive-looking events; confirm host cohort and change windows.
Response and remediation
- If activity is unexplained: isolate the host, preserve the
.sysfile and:changeliststream, export the service registry key, and capture the staging process tree before cleanup. - Search the estate for the same
file.name/ ADS pattern, serviceArgsvalues containing:changelist, and related driver hashes. - Remove unauthorized service keys and staged drivers, restore any deleted security components from known-good media,
and rotate credentials for accounts that held
SeLoadDriverPrivilegeon the host. - Restrict and monitor assignment/use of
SeLoadDriverPrivilege; treat signed remediation drivers as LOLDrivers that require lineage and ADS context monitoring, not signature blocking alone.