Detect Screensaver in Sumo Logic CSE
Adversaries may establish persistence by modifying the Windows screensaver configuration. Screensavers are programs that execute after a configurable time of user inactivity and consist of Portable Executable (PE) files with a .scr file extension. Adversaries can abuse this by modifying the SCRNSAVE.EXE registry value in HKCU\Control Panel\Desktop to point to a malicious executable that runs whenever the screen saver activates.
MITRE ATT&CK
- Tactic
- Privilege Escalation Persistence
- Technique
- T1546 Event Triggered Execution
- Sub-technique
- T1546.002 Screensaver
- Canonical reference
- https://attack.mitre.org/techniques/T1546/002/
Sumo Detection Query
_sourceCategory=windows/sysmon (EventCode=12 OR EventCode=13)
| where TargetObject matches "*Control Panel\\Desktop*"
| where TargetObject matches "*SCRNSAVE.EXE*" OR TargetObject matches "*ScreenSaveActive*" OR TargetObject matches "*ScreenSaverIsSecure*" OR TargetObject matches "*ScreenSaveTimeOut*"
| eval IsScrnsaveExe = if(TargetObject matches "*SCRNSAVE.EXE*", 1, 0)
| eval DetailsLower = toLowerCase(Details)
| eval SuspiciousPath = if(
DetailsLower matches "*appdata*" OR
DetailsLower matches "*\\temp\\*" OR
DetailsLower matches "*programdata*" OR
DetailsLower matches "*\\public\\*" OR
DetailsLower matches "*powershell*" OR
DetailsLower matches "*cmd.exe*" OR
DetailsLower matches "*wscript*" OR
DetailsLower matches "*cscript*" OR
DetailsLower matches "*rundll32*",
1, 0
)
| eval NotSystemPath = if(
IsScrnsaveExe == 1
AND !(DetailsLower matches "*windows\\system32*")
AND !(DetailsLower matches "*syswow64*")
AND Details != "",
1, 0
)
| where SuspiciousPath == 1 OR NotSystemPath == 1
| fields _messageTime, Computer, User, EventCode, TargetObject, Details, SuspiciousPath, NotSystemPath, Image, CommandLine
| sort by _messageTime desc Detects T1546.002 screensaver persistence in Sumo Logic by parsing Sysmon registry modification events targeting HKCU\Control Panel\Desktop screensaver values. Identifies malicious configurations where SCRNSAVE.EXE is redirected outside trusted Windows directories or where registry values contain suspicious interpreter or staging path references.
Data Sources
Required Tables
False Positives & Tuning
- Third-party screen lock or privacy software that installs a custom .scr file in a vendor application directory outside of system32
- IT automation scripts that bulk-configure screensaver timeouts across endpoints using WMI or PowerShell, triggering on the CommandLine filter
- Developer workstations where screensaver configuration is managed by dotfile management tools storing configs in AppData
Other platforms for T1546.002
Testing Methodology
Validate this detection against 3 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.
- Test 1Set Malicious Screensaver Path in Registry
Expected signal: Sysmon Event ID 13 (Registry Value Set) for HKCU\Control Panel\Desktop\SCRNSAVE.EXE with Details=C:\Windows\System32\cmd.exe. Additional Event ID 13 records for ScreenSaveActive and ScreenSaveTimeOut. Security Event ID 4657 if registry auditing is enabled.
- Test 2Disable Screensaver Lock Screen for Silent Execution
Expected signal: Sysmon Event ID 13: TargetObject HKCU\Control Panel\Desktop\ScreenSaverIsSecure, Details=0. This should be correlated with concurrent SCRNSAVE.EXE changes.
- Test 3Deploy Fake Screensaver via AppData
Expected signal: Sysmon Event ID 11 (File Created): malicious.scr in AppData path. Sysmon Event ID 13: SCRNSAVE.EXE value set to AppData path. Both the file creation and registry modification events fire. The AppData path in the registry value is the primary detection trigger.
Unlock Pro Content
Get the full detection package for T1546.002 including response playbook, investigation guide, and atomic red team tests.