T1113 Google Chronicle · YARA-L

Detect Screen Capture in Google Chronicle

Adversaries may attempt to take screen captures of the desktop to gather information over the course of an operation. Screen capturing functionality may be included as a feature of a remote access tool used in post-compromise operations. Taking a screenshot is also typically possible through native utilities or API calls, such as CopyFromScreen (.NET), xwd (Linux), or screencapture (macOS). Threat actors including Dragonfly, Gamaredon (Pteranodon), APT33 (TURNEDUP), Agent Tesla, and BlackEnergy have all used screen capture as part of post-compromise collection operations.

MITRE ATT&CK

Tactic
Collection
Technique
T1113 Screen Capture
Canonical reference
https://attack.mitre.org/techniques/T1113/

YARA-L Detection Query

Google Chronicle (YARA-L)
yaral
rule t1113_screen_capture_process {
  meta:
    author = "Argus Detection Engineering"
    description = "Detects MITRE ATT&CK T1113 screen capture via known utilities from suspicious parents or scripting engines using screenshot APIs"
    mitre_attack_technique = "T1113"
    mitre_attack_tactic = "Collection"
    severity = "MEDIUM"
    confidence = "MEDIUM"
    version = "1.0"

  events:
    $e.metadata.event_type = "PROCESS_LAUNCH"
    (
      // Branch 1: Known screenshot tool launched from suspicious scripting parent
      (
        (
          re.regex($e.target.process.file.full_path,
            `(?i)(scrot|xwd|gnome-screenshot|ksnapshot|spectacle|screencapture|psr\.exe|snippingtool\.exe|snipingtool\.exe|screenshot\.exe|xrandr)`) or
          re.regex($e.target.process.command_line,
            `(?i)(CopyFromScreen|GetDC|BitBlt|PrintWindow|xwd\s+-root|scrot\s+|screencapture\s+|xrandr\s+--screenshot)`)
        ) and
        re.regex($e.principal.process.file.full_path,
          `(?i)(cmd\.exe|powershell\.exe|pwsh\.exe|wscript\.exe|cscript\.exe|mshta\.exe|regsvr32\.exe|rundll32\.exe|svchost\.exe)`)
      ) or
      // Branch 2: Scripting engine invoking screenshot .NET or Win32 APIs
      (
        re.regex($e.target.process.file.full_path,
          `(?i)(powershell\.exe|pwsh\.exe|cscript\.exe|wscript\.exe|mshta\.exe)`) and
        re.regex($e.target.process.command_line,
          `(?i)(CopyFromScreen|System\.Drawing\.Graphics|System\.Windows\.Forms\.Screen|Graphics\.CopyFromScreen|PrintWindow|VK_SNAPSHOT|keybd_event|0x2C)`)
      )
    )

  condition:
    $e
}

rule t1113_screen_capture_file_staging {
  meta:
    author = "Argus Detection Engineering"
    description = "Detects suspicious image file creation in temp/staging paths by non-UI processes, indicating screenshot staging for exfiltration (T1113)"
    mitre_attack_technique = "T1113"
    mitre_attack_tactic = "Collection"
    severity = "MEDIUM"
    confidence = "MEDIUM"
    version = "1.0"

  events:
    $e.metadata.event_type = "FILE_CREATION"
    re.regex($e.target.file.full_path, `(?i)\.(png|jpg|jpeg|bmp|gif)$`)
    re.regex($e.target.file.full_path,
      `(?i)(\\Temp\\|\\AppData\\Local\\Temp\\|\\ProgramData\\|\\Users\\Public\\|/tmp/|/var/tmp/)`)
    not re.regex($e.principal.process.file.full_path,
      `(?i)(explorer\.exe|chrome\.exe|firefox\.exe|msedge\.exe|iexplore\.exe|outlook\.exe|teams\.exe|slack\.exe|zoom\.exe|mspaint\.exe|photoshop\.exe|gimp\.exe|OneDrive)`)

  condition:
    $e
}
medium severity medium confidence

Two Chronicle YARA-L 2.0 rules targeting T1113 Screen Capture. Rule 1 (t1113_screen_capture_process) fires on PROCESS_LAUNCH events where a known screenshot utility (scrot, xwd, psr.exe, screencapture, snippingtool.exe) is launched from a suspicious scripting parent, or where a scripting engine command line references CopyFromScreen, PrintWindow, or VK_SNAPSHOT APIs. Rule 2 (t1113_screen_capture_file_staging) fires on FILE_CREATION events where an image file is written to a staging path by a process that is not a known UI or browser application.

Data Sources

Google Chronicle Security OperationsWindows endpoint logs via Chronicle forwarder agentEDR telemetry normalized to Chronicle UDM

Required Tables

UDM events with event_type PROCESS_LAUNCHUDM events with event_type FILE_CREATION

False Positives & Tuning

  • Authorized red team or penetration testing tooling (Cobalt Strike screenshot beacon, Metasploit screengrab module) during sanctioned engagements that will trigger the scripting engine API branch
  • Enterprise screen recording or video conferencing software (Zoom local recording, Microsoft Teams background blur) that creates intermediate image frames in temp directories during meetings
  • Batch image processing or document conversion pipelines (ImageMagick, LibreOffice headless) that write PNG/JPEG output to /tmp or %TEMP% as part of standard document rendering workflows
Download portable Sigma rule (.yml)

Other platforms for T1113


Testing Methodology

Validate this detection against 5 adversary techniques from Atomic Red Team. Each test below lists the behaviour to exercise and the telemetry you should expect to see. Executable commands and cleanup steps are available with Pro.

  1. Test 1Windows Screen Capture via PowerShell CopyFromScreen

    Expected signal: Sysmon Event ID 1: Process Create — Image=powershell.exe, CommandLine containing 'CopyFromScreen', 'System.Drawing.Graphics', 'System.Windows.Forms.Screen'. Sysmon Event ID 11: File Create — TargetFilename=C:\Users\<user>\AppData\Local\Temp\df00tech-capture.png, Image=powershell.exe. PowerShell ScriptBlock Log Event ID 4104 with full script content. Sysmon Event ID 7: Image Load — gdi32.dll loaded by powershell.exe.

  2. Test 2Windows Screen Capture via PSR.exe (Problem Steps Recorder)

    Expected signal: Sysmon Event ID 1: Process Create — Image=C:\Windows\System32\psr.exe, CommandLine containing '/start /output ... /sc 1 /maxsc 5'. Second Event ID 1 for the /stop invocation. Sysmon Event ID 11: File Create — TargetFilename ending in .zip in TEMP path, created by psr.exe. Security Event ID 4688 (if command line auditing enabled) for psr.exe execution.

  3. Test 3Linux Screen Capture via xwd (X Window Dump)

    Expected signal: Linux auditd syscall log: execve syscall for xwd with arguments '-root -silent -out /tmp/df00tech-capture.xwd'. File creation event in /tmp/. Syslog entry if auditd is configured with -a always,exit -F arch=b64 -S execve rule. Process accounting record for xwd execution. /var/log/auth.log may show the user context.

  4. Test 4macOS Screen Capture via screencapture Utility

    Expected signal: macOS Unified Log: log show --predicate 'process == "screencapture"' will show the invocation. Endpoint security framework (ESF) event for ES_EVENT_TYPE_NOTIFY_EXEC for screencapture. File creation event in /tmp/ for the PNG file. If Defender for Endpoint macOS agent is deployed: DeviceProcessEvents with FileName=screencapture and DeviceFileEvents for the output file.

  5. Test 5Windows VK_SNAPSHOT Keyboard Simulation Screenshot

    Expected signal: Sysmon Event ID 1: Process Create — Image=powershell.exe, CommandLine containing 'keybd_event', '0x2C', 'VK_SNAPSHOT'. PowerShell ScriptBlock Log Event ID 4104 with full P/Invoke code. Sysmon Event ID 7: Image Load — user32.dll loaded by powershell.exe. Sysmon Event ID 11: File Create for .png in TEMP if clipboard contained image data.

Unlock Pro Content

Get the full detection package for T1113 including response playbook, investigation guide, and atomic red team tests.

Response PlaybookInvestigation GuideHunting QueriesAtomic Red Team TestsTuning Guidance

Related Detections