T1547.010 Sumo Logic CSE · Sumo

Detect Port Monitors in Sumo Logic CSE

Adversaries may use port monitors to run an adversary-supplied DLL during system boot for persistence or privilege escalation. A port monitor can be set through the AddMonitor API call to set a DLL to be loaded at startup. This DLL can be located in C:\Windows\System32 and will be loaded and run by the print spooler service, spoolsv.exe, under SYSTEM level permissions on boot. Alternatively, an arbitrary DLL can be loaded if permissions allow writing a fully-qualified pathname for that DLL to the Driver value of an existing or new arbitrarily named subkey of HKLM\SYSTEM\CurrentControlSet\Control\Print\Monitors.

MITRE ATT&CK

Tactic
Persistence Privilege Escalation
Technique
T1547 Boot or Logon Autostart Execution
Sub-technique
T1547.010 Port Monitors
Canonical reference
https://attack.mitre.org/techniques/T1547/010/

Sumo Detection Query

Sumo Logic CSE (Sumo)
sql
(_sourceCategory="windows/sysmon" OR _sourceCategory="WinEventLog/Sysmon")
| parse "EventID=*" as event_id
| parse "TargetObject=*" as target_object nodrop
| parse "Image=*" as image nodrop
| parse "Details=*" as details nodrop
| parse "CommandLine=*" as command_line nodrop
| parse "User=*" as user nodrop
| parse "TargetFilename=*" as target_filename nodrop
| where (
    (event_id = "13" AND target_object matches "*Control\\Print\\Monitors*")
    OR (event_id = "1" AND image matches "*spoolsv.exe*"
        AND !(command_line matches "*splwow64.exe*"
              OR command_line matches "*PrintIsolationHost.exe*"
              OR command_line matches "*printfilterpipelinesvc.exe*"))
    OR (event_id = "11"
        AND target_filename matches "C:\\Windows\\System32\\*.dll"
        AND !(image matches "*TiWorker.exe*"
              OR image matches "*TrustedInstaller.exe*"
              OR image matches "*msiexec.exe*"
              OR image matches "*svchost.exe*"))
  )
| eval detection_type = if(event_id = "13", "Registry Modification",
    if(event_id = "1", "Suspicious Spooler Child Process",
    if(event_id = "11", "Suspicious DLL Creation", "Unknown")))
| eval is_driver_value = if(target_object matches "*Driver*", "true", "false")
| eval is_dll_value = if(details matches "*.dll*", "true", "false")
| fields _messageTime, host, user, image, target_object, details, target_filename, command_line, detection_type, is_driver_value, is_dll_value
| sort by _messageTime desc
high severity high confidence

Detects T1547.010 Port Monitor persistence using Sysmon events for registry modifications to Print Monitors key (EventID 13), suspicious child processes spawned by spoolsv.exe (EventID 1), and unauthorized DLL creation in System32 (EventID 11). Enriches results with detection type classification.

Data Sources

Sysmon Operational LogWindows Event Log

Required Tables

_sourceCategory=windows/sysmon

False Positives & Tuning

  • Enterprise print management solutions such as PaperCut or PrinterLogic that register custom port monitors during installation or updates
  • Third-party printer driver packages that create DLL files in System32 during standard installation via msiexec child processes not captured by exclusions
  • Windows print spooler service launching legitimate helper processes during normal printing operations on systems with specialized hardware
Download portable Sigma rule (.yml)

Other platforms for T1547.010


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.

  1. Test 1Port Monitor Registry Key Creation

    Expected signal: Sysmon Event ID 13: Registry Value Set with TargetObject=HKLM\SYSTEM\CurrentControlSet\Control\Print\Monitors\TestMonitor_df00tech\Driver, Details=localspl.dll, Image=reg.exe. Security Event ID 4688 with CommandLine containing reg add.

  2. Test 2DLL Drop in System32 Simulating Port Monitor Payload

    Expected signal: Sysmon Event ID 11: File Create with TargetFilename=C:\Windows\System32\df00tech_test_monitor.dll, Image=cmd.exe. DeviceFileEvents with ActionType=FileCreated, FolderPath starting with C:\Windows\System32.

  3. Test 3PowerShell AddMonitor API Simulation via Registry

    Expected signal: Sysmon Event ID 12: Registry Key Created for PSTestMonitor subkey. Sysmon Event ID 13: Registry Value Set for Driver value. Sysmon Event ID 1: Process Create for powershell.exe with the full command line. PowerShell ScriptBlock Log Event ID 4104 with the registry manipulation commands.

Unlock Pro Content

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

Response PlaybookInvestigation GuideHunting QueriesAtomic Red Team TestsTuning Guidance

Related Detections