Conversation
…indows_dll.toml to rules/windows/defense_evasion_masquerading_windows_dll.toml
Escape backslashes in Windows paths within the investigation guide so pytoml can load the rule file. Co-authored-by: Cursor <cursoragent@cursor.com>
…ion-rules into Samirbous-patch-4
Identify abuse of BTR driver (microsoft driver) to tamper with system objects from kernel mode such as locked file deletion. Normal process that drops changelist ADS or modify Args registry is the MRT.exe (malware removal tool). This rule fies on other than MRT.
|
⛔️ Test failed Results
|
|
⛔️ Test failed Results
|
|
⛔️ Test failed Results
|
|
⛔️ Test failed Results
|
There was a problem hiding this comment.
Pull request overview
Adds a Windows detection for potential BTR.sys abuse involving ADS and service registry modifications, alongside unrelated DNS detection updates.
Changes:
- Added BTR abuse detection and investigation guidance.
- Added DNS exfiltration detection.
- Extended the NsLookup DNS tunneling rule for CrowdStrike data.
Reviewed changes
Copilot reviewed 1 out of 1 changed files in this pull request and generated 2 comments.
| File | Review findings |
|---|---|
rules/windows/defense_evasion_boot_time_removal_tool.toml |
Moderate issues: use file.path for ADS detection and require a trusted Microsoft signature for MRT suppression. |
rules/windows/exfiltration_dns_excessive_chunked_queries.toml |
Unrelated scope, incorrect dates, and duplicate Esql.base_domain selection. |
rules/windows/command_and_control_dns_tunneling_nslookup.toml |
Unrelated scope and stale updated_date. |
Suppressed comments (3)
rules/windows/defense_evasion_boot_time_removal_tool.toml:102
- The MRT exclusion is not null-safe: for an unsigned MRT event,
process.code_signature.subject_nameis null, so the innerANDand itsNOTevaluate to null and the ES|QLWHEREdrops the event. This contradicts the guide's claim that unsigned MRT still alerts; coalesce missing signature fields and requireprocess.code_signature.trusted == truebefore excluding Microsoft-signed MRT.
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")
)
rules/windows/defense_evasion_boot_time_removal_tool.toml:113
- ES|QL
LIKEis case-sensitive, butregistry.data.stringsis not normalized here. Because Windows stream names are case-insensitive, anArgsvalue containing:ChangeList(or another casing) bypasses this predicate; normalize the field before matching.
and to_lower(registry.data.strings) like "*:changelist"
rules/windows/defense_evasion_boot_time_removal_tool.toml:101
- The MRT exclusion trusts only the path and signer subject, so a Microsoft-signed executable with a different original name can be copied or renamed to
System32\MRT.exeand have its BTR staging suppressed. Require the PE original filename and a verified trusted signature in addition to the existing subject check so only the real MRT binary is excluded.
and to_lower(process.executable) like """?:\\windows\\system32\\mrt.exe"""
and process.code_signature.subject_name in ("Microsoft Windows", "Microsoft Corporation")
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
|
⛔️ Test failed Results
|
| severity = "high" | ||
| tags = [ | ||
| "Domain: Endpoint", | ||
| "OS: Windows", |
There was a problem hiding this comment.
| "OS: Windows", | |
| "OS: Windows", | |
| "Platform: Windows", |
There was a problem hiding this comment.
@terrancedejesus why do we need to tags that say same thing?
Co-authored-by: Bryan Porras <bryan.porras@elastic.co>
|
⛔️ Test failed Results
|
|
⛔️ Test failed Results
|
Identify abuse of BTR driver (microsoft driver) to tamper with system objects from kernel mode such as locked file deletion. Normal process that drops changelist ADS or modify Args registry is the MRT.exe (malware removal tool). This rule fies on other than MRT.