Screen capture invoked from the command line
Screen capture on Windows is normally reached either through the GDI and .NET drawing APIs, where a script names CopyFromScreen, BitBlt or CopyPixelOperation inline, or through a small set of built in and portable utilities invoked with capture switches. This rule matches process creation where the command line carries one of those API or utility markers, because the command line is the only place in Sysmon EventID 1 where the intent to grab the screen is actually visible. Scripts that call the same APIs from a file on disk rather than an inline one liner will not appear here, so this covers the interactive and staged half of the analytic rather than all of it. UNVERIFIED AS AUTHORED — derived from MITRE ATT&CK DET0346, 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: Screen capture invoked from the command lineid: a1f413cf-6abd-4e92-92d2-bd38545a98a4status: experimentaldescription: | Screen capture on Windows is normally reached either through the GDI and .NET drawing APIs, where a script names CopyFromScreen, BitBlt or CopyPixelOperation inline, or through a small set of built in and portable utilities invoked with capture switches. This rule matches process creation where the command line carries one of those API or utility markers, because the command line is the only place in Sysmon EventID 1 where the intent to grab the screen is actually visible. Scripts that call the same APIs from a file on disk rather than an inline one liner will not appear here, so this covers the interactive and staged half of the analytic rather than all of it. UNVERIFIED AS AUTHORED — derived from MITRE ATT&CK DET0346, 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/T1113 - https://attack.mitre.org/detectionstrategies/DET0346author: Siemphony pipeline (machine-derived from MITRE ATT&CK v19.2)date: 2026-08-16tags: - attack.collection - attack.t1113logsource: category: process_creation product: windowsdetection: selection: CommandLine|contains: - 'CopyFromScreen' - 'CopyPixelOperation' - 'System.Drawing.Bitmap' - 'Drawing.Graphics]::FromImage' - 'BitBlt' - 'PrintWindow' - 'savescreenshot' - 'psr.exe /start' - 'Get-Screenshot' condition: selectionfalsepositives: - "Helpdesk and IT documentation workflows that capture the desktop on request, typically launched from the interactive shell. MITRE names ParentProcessName as the tuning knob here, because an environment where explorer.exe is the normal parent can filter on it and one where an automation agent is the normal parent cannot." - "Robotic process automation and UI regression test harnesses that call CopyFromScreen or BitBlt on a fixed interval. MITRE's TimeWindow knob is what separates a scheduled test harness from interval based collection, and this rule deliberately does not encode a threshold." - "Image processing and report generation scripts that instantiate System.Drawing.Bitmap without ever touching the screen, which match the broadest of the terms above on the type name alone." - "Installer and packaging tooling that shells out to a portable screenshot utility to record a build artefact."level: mediumSentinel · KQL
Run this as a search.
DeviceProcessEvents| where (ProcessCommandLine contains "CopyFromScreen" or ProcessCommandLine contains "CopyPixelOperation" or ProcessCommandLine contains "System.Drawing.Bitmap" or ProcessCommandLine contains "Drawing.Graphics]::FromImage" or ProcessCommandLine contains "BitBlt" or ProcessCommandLine contains "PrintWindow" or ProcessCommandLine contains "savescreenshot" or ProcessCommandLine contains "psr.exe /start" or ProcessCommandLine contains "Get-Screenshot")
Splunk · SPL
Run this as a search.
index=* (CommandLine="*CopyFromScreen*" OR CommandLine="*CopyPixelOperation*" OR CommandLine="*System.Drawing.Bitmap*" OR CommandLine="*Drawing.Graphics]::FromImage*" OR CommandLine="*BitBlt*" OR CommandLine="*PrintWindow*" OR CommandLine="*savescreenshot*" OR CommandLine="*psr.exe /start*" OR CommandLine="*Get-Screenshot*")Elastic · ES|QL
Run this as a search.
FROM logs-*| WHERE (TO_LOWER(process.command_line) LIKE "*copyfromscreen*" OR TO_LOWER(process.command_line) LIKE "*copypixeloperation*" OR TO_LOWER(process.command_line) LIKE "*system.drawing.bitmap*" OR TO_LOWER(process.command_line) LIKE "*drawing.graphics]::fromimage*" OR TO_LOWER(process.command_line) LIKE "*bitblt*" OR TO_LOWER(process.command_line) LIKE "*printwindow*" OR TO_LOWER(process.command_line) LIKE "*savescreenshot*" OR TO_LOWER(process.command_line) LIKE "*psr.exe /start*" OR TO_LOWER(process.command_line) LIKE "*get-screenshot*")
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. --> <rule id="100000" level="7"> <!-- Set <if_sid> to the decoder/base rule for windows so this only evaluates relevant events. --> <field name="CommandLine" type="pcre2">(?i)(CopyFromScreen|CopyPixelOperation|System\.Drawing\.Bitmap|Drawing\.Graphics\]::FromImage|BitBlt|PrintWindow|savescreenshot|psr\.exe /start|Get-Screenshot)</field> <description>Screen capture invoked from the command line</description> <mitre> <id>T1113</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.