Antivirus and EDR agents enumerated from the command line
Matches MITRE's AN0048 in the form a single process-creation record can carry: a command line naming the Windows Security Center WMI classes, a Defender status cmdlet, a firewall-profile dump, or one of the enumeration tools carrying the name of a security agent. The first three arms need no tool gate because those class and cmdlet names appear nowhere else, while the vendor arm is gated on the enumeration tool because a product name on its own turns up in ordinary paths all day; the vendor and service names are the author's population of MITRE's ImagePathContains knob, not MITRE's list. It shares its shape with the published T1518.002 rule for backup-software discovery, but the value lists are disjoint and the three ungated arms have no equivalent there. This category is fed here by Security EventID 4688, which needs Audit Process Creation and the separate policy that includes the command line in the event — every arm of this rule reads CommandLine, so without that second policy it matches nothing at all. UNVERIFIED AS AUTHORED — derived from MITRE ATT&CK DET0016, not hand-written and not tested by its author. Any lab result is on this rule's own page.Full descriptionShow less
The detection
The 4 SIEM queries below are previews produced by Siemphony’s own translator, not pySigma, and none has been executed against a real backend — review before you deploy.
detection.yml
title: Antivirus and EDR agents enumerated from the command lineid: d4c5a372-3753-46c3-b4d5-75d49d6f22d4status: experimentaldescription: | Matches MITRE's AN0048 in the form a single process-creation record can carry: a command line naming the Windows Security Center WMI classes, a Defender status cmdlet, a firewall-profile dump, or one of the enumeration tools carrying the name of a security agent. The first three arms need no tool gate because those class and cmdlet names appear nowhere else, while the vendor arm is gated on the enumeration tool because a product name on its own turns up in ordinary paths all day; the vendor and service names are the author's population of MITRE's ImagePathContains knob, not MITRE's list. It shares its shape with the published T1518.002 rule for backup-software discovery, but the value lists are disjoint and the three ungated arms have no equivalent there. This category is fed here by Security EventID 4688, which needs Audit Process Creation and the separate policy that includes the command line in the event — every arm of this rule reads CommandLine, so without that second policy it matches nothing at all. UNVERIFIED AS AUTHORED — derived from MITRE ATT&CK DET0016, not hand-written and not tested by its author. Any lab result is on this rule's own page.references: - https://attack.mitre.org/techniques/T1518/001 - https://attack.mitre.org/detectionstrategies/DET0016author: Siemphony pipeline (machine-derived from MITRE ATT&CK v19.2)date: 2026-08-16tags: - attack.discovery - attack.t1518.001logsource: category: process_creation product: windowsdetection: selection_securitycenter: CommandLine|contains: - 'securitycenter2' - 'AntiVirusProduct' - 'AntiSpywareProduct' - 'FirewallProduct' selection_defender_cmdlet: CommandLine|contains: - 'Get-MpComputerStatus' - 'Get-MpPreference' - 'Get-MpThreat' selection_firewall_dump: Image|endswith: '\netsh.exe' CommandLine|contains: 'firewall show' selection_agent_name: Image|endswith: - '\tasklist.exe' - '\sc.exe' - '\reg.exe' - '\findstr.exe' - '\wmic.exe' - '\powershell.exe' - '\pwsh.exe' CommandLine|contains: - 'windefend' - 'msmpeng' - 'crowdstrike' - 'csfalcon' - 'sentinelone' - 'sentinelagent' - 'carbonblack' - 'cbdefense' - 'cylance' - 'cybereason' - 'sophos' - 'symantec' - 'mcafee' - 'kaspersky' - 'trendmicro' - 'tanium' condition: 1 of selection*falsepositives: - "Endpoint management, asset inventory and compliance tooling. Configuration-management agents and vulnerability scanners call the Defender status cmdlets, dump firewall profiles with netsh and query agent services with sc on a fixed schedule, and on a managed fleet that is the rule's dominant volume by a wide margin." - "The security products themselves. Antivirus, EDR and firewall agents run their own health checks through these same cmdlets and WMI classes, and their installers query the Security Center classes in order to register the product with Windows." - "Helpdesk and support workflows, where confirming that the antivirus service is running is the first troubleshooting step and uses the same tasklist or sc query command an adversary would type." - "The vendor names are unanchored substrings tested against the whole command line, so any powershell.exe or findstr.exe invocation whose script path, log directory or share name contains a product name matches even though no enumeration took place."level: lowSentinel · KQL
Run this as a search.
DeviceProcessEvents| where ((ProcessCommandLine contains "securitycenter2" or ProcessCommandLine contains "AntiVirusProduct" or ProcessCommandLine contains "AntiSpywareProduct" or ProcessCommandLine contains "FirewallProduct") or (ProcessCommandLine contains "Get-MpComputerStatus" or ProcessCommandLine contains "Get-MpPreference" or ProcessCommandLine contains "Get-MpThreat") or (FolderPath endswith "\\netsh.exe" and ProcessCommandLine contains "firewall show") or ((FolderPath endswith "\\tasklist.exe" or FolderPath endswith "\\sc.exe" or FolderPath endswith "\\reg.exe" or FolderPath endswith "\\findstr.exe" or FolderPath endswith "\\wmic.exe" or FolderPath endswith "\\powershell.exe" or FolderPath endswith "\\pwsh.exe") and (ProcessCommandLine contains "windefend" or ProcessCommandLine contains "msmpeng" or ProcessCommandLine contains "crowdstrike" or ProcessCommandLine contains "csfalcon" or ProcessCommandLine contains "sentinelone" or ProcessCommandLine contains "sentinelagent" or ProcessCommandLine contains "carbonblack" or ProcessCommandLine contains "cbdefense" or ProcessCommandLine contains "cylance" or ProcessCommandLine contains "cybereason" or ProcessCommandLine contains "sophos" or ProcessCommandLine contains "symantec" or ProcessCommandLine contains "mcafee" or ProcessCommandLine contains "kaspersky" or ProcessCommandLine contains "trendmicro" or ProcessCommandLine contains "tanium")))
Splunk · SPL
Run this as a search.
index=* ((CommandLine="*securitycenter2*" OR CommandLine="*AntiVirusProduct*" OR CommandLine="*AntiSpywareProduct*" OR CommandLine="*FirewallProduct*") OR (CommandLine="*Get-MpComputerStatus*" OR CommandLine="*Get-MpPreference*" OR CommandLine="*Get-MpThreat*") OR (Image="*\\netsh.exe" AND CommandLine="*firewall show*") OR ((Image="*\\tasklist.exe" OR Image="*\\sc.exe" OR Image="*\\reg.exe" OR Image="*\\findstr.exe" OR Image="*\\wmic.exe" OR Image="*\\powershell.exe" OR Image="*\\pwsh.exe") AND (CommandLine="*windefend*" OR CommandLine="*msmpeng*" OR CommandLine="*crowdstrike*" OR CommandLine="*csfalcon*" OR CommandLine="*sentinelone*" OR CommandLine="*sentinelagent*" OR CommandLine="*carbonblack*" OR CommandLine="*cbdefense*" OR CommandLine="*cylance*" OR CommandLine="*cybereason*" OR CommandLine="*sophos*" OR CommandLine="*symantec*" OR CommandLine="*mcafee*" OR CommandLine="*kaspersky*" OR CommandLine="*trendmicro*" OR CommandLine="*tanium*")))Elastic · ES|QL
Run this as a search.
FROM logs-*| WHERE ((TO_LOWER(process.command_line) LIKE "*securitycenter2*" OR TO_LOWER(process.command_line) LIKE "*antivirusproduct*" OR TO_LOWER(process.command_line) LIKE "*antispywareproduct*" OR TO_LOWER(process.command_line) LIKE "*firewallproduct*") OR (TO_LOWER(process.command_line) LIKE "*get-mpcomputerstatus*" OR TO_LOWER(process.command_line) LIKE "*get-mppreference*" OR TO_LOWER(process.command_line) LIKE "*get-mpthreat*") OR (TO_LOWER(process.executable) LIKE "*\\\\netsh.exe" AND TO_LOWER(process.command_line) LIKE "*firewall show*") OR ((TO_LOWER(process.executable) LIKE "*\\\\tasklist.exe" OR TO_LOWER(process.executable) LIKE "*\\\\sc.exe" OR TO_LOWER(process.executable) LIKE "*\\\\reg.exe" OR TO_LOWER(process.executable) LIKE "*\\\\findstr.exe" OR TO_LOWER(process.executable) LIKE "*\\\\wmic.exe" OR TO_LOWER(process.executable) LIKE "*\\\\powershell.exe" OR TO_LOWER(process.executable) LIKE "*\\\\pwsh.exe") AND (TO_LOWER(process.command_line) LIKE "*windefend*" OR TO_LOWER(process.command_line) LIKE "*msmpeng*" OR TO_LOWER(process.command_line) LIKE "*crowdstrike*" OR TO_LOWER(process.command_line) LIKE "*csfalcon*" OR TO_LOWER(process.command_line) LIKE "*sentinelone*" OR TO_LOWER(process.command_line) LIKE "*sentinelagent*" OR TO_LOWER(process.command_line) LIKE "*carbonblack*" OR TO_LOWER(process.command_line) LIKE "*cbdefense*" OR TO_LOWER(process.command_line) LIKE "*cylance*" OR TO_LOWER(process.command_line) LIKE "*cybereason*" OR TO_LOWER(process.command_line) LIKE "*sophos*" OR TO_LOWER(process.command_line) LIKE "*symantec*" OR TO_LOWER(process.command_line) LIKE "*mcafee*" OR TO_LOWER(process.command_line) LIKE "*kaspersky*" OR TO_LOWER(process.command_line) LIKE "*trendmicro*" OR TO_LOWER(process.command_line) LIKE "*tanium*")))
Wazuh · XML rule
Deploy to your manager — this is a rule, not a search.
<group name="sigma,windows,process_creation,"> <!-- Rule ids must be unique on your manager; 100000+ is the user range. --> <!-- 4 rules: the Sigma condition ORs across different fields, which one rule cannot express. Any one matching is a hit. --> <rule id="100000" level="5"> <!-- Set <if_sid> to the decoder/base rule for windows so this only evaluates relevant events. --> <field name="CommandLine" type="pcre2">(?i)(securitycenter2|AntiVirusProduct|AntiSpywareProduct|FirewallProduct)</field> <description>Antivirus and EDR agents enumerated from the command line (1/4)</description> <mitre> <id>T1518.001</id> </mitre> </rule> <rule id="100001" level="5"> <!-- Set <if_sid> to the decoder/base rule for windows so this only evaluates relevant events. --> <field name="CommandLine" type="pcre2">(?i)(Get-MpComputerStatus|Get-MpPreference|Get-MpThreat)</field> <description>Antivirus and EDR agents enumerated from the command line (2/4)</description> <mitre> <id>T1518.001</id> </mitre> </rule> <rule id="100002" level="5"> <!-- Set <if_sid> to the decoder/base rule for windows so this only evaluates relevant events. --> <field name="Image" type="pcre2">(?i)\\netsh\.exe$</field> <field name="CommandLine" type="pcre2">(?i)firewall show</field> <description>Antivirus and EDR agents enumerated from the command line (3/4)</description> <mitre> <id>T1518.001</id> </mitre> </rule> <rule id="100003" level="5"> <!-- Set <if_sid> to the decoder/base rule for windows so this only evaluates relevant events. --> <field name="Image" type="pcre2">(?i)(\\tasklist\.exe$|\\sc\.exe$|\\reg\.exe$|\\findstr\.exe$|\\wmic\.exe$|\\powershell\.exe$|\\pwsh\.exe$)</field> <field name="CommandLine" type="pcre2">(?i)(windefend|msmpeng|crowdstrike|csfalcon|sentinelone|sentinelagent|carbonblack|cbdefense|cylance|cybereason|sophos|symantec|mcafee|kaspersky|trendmicro|tanium)</field> <description>Antivirus and EDR agents enumerated from the command line (4/4)</description> <mitre> <id>T1518.001</id> </mitre> </rule></group>
Verdicts · reactions · comments
Community
Verdicts from engineers who actually deployed it, and the conversation around it.
Nobody has run this in a real environment and said what happened.
Verdicts from engineers who deployed it
0 castNo verdicts reported yet. The first one is worth more than the tenth — say what you ran it against.
Log in to report a verdict.
Log in to join the discussion.
No comments yet. Someone who deploys this will have something to say about it.