Detection rules › Sigma

Mimispool printer driver installation (PrintNightmare vulnerability - CVE-2021-36958)

Status
experimental
Severity
high
Log source
product windows, service printservice
Author
mdecrevoisier
Source
github.com/mdecrevoisier/SIGMA-detection-rules

Help to detect scenarios where an attacker exploit the Mimispool print driver to escalate privileges.

MITRE ATT&CK coverage

Rule body yaml

title: Mimispool printer driver installation (PrintNightmare vulnerability - CVE-2021-36958)
description: Help to detect scenarios where an attacker exploit the Mimispool print driver to escalate privileges.
requirements: event logs 'PrintService\*' must be enabled.
references:
- https://github.com/mdecrevoisier/EVTX-to-MITRE-Attack/tree/master/TA0004-Privilege%20Escalation/T1574-DLL%20side-loading
- https://github.com/GossiTheDog/SystemNightmare
- https://github.com/outflanknl/PrintNightmare
- https://github.com/cube0x0/CVE-2021-1675
- https://github.com/xbufu/Mimispool
- https://github.com/gentilkiwi/mimikatz/tree/master/mimispool
- https://www.theregister.com/2021/09/21/microsoft_printnightmare/
- https://www.exabeam.com/information-security/detecting-the-printnightmare-cve-2021-1675-34527-vulnerability-using-exabeam/
tags:
- attack.privilege_escalation
- attack.t1574.002
author: mdecrevoisier
status: experimental
logsource:
  product: windows
  service: printservice
detection:
  selection_load:
    Channel: Microsoft-Windows-PrintService/Admin
    EventID: 808 # Print spooler failed to load plug-in module
    PluginDllName|endswith: .dll # If too many false positives, replace by 'mimispool.dll'

  selection_init:
    Channel: Microsoft-Windows-PrintService/Admin
    EventID: 354 # Legit Printer initialization
    Param2|endswith: .dll # If too many false positives, replace by 'mimispool.dll'

  selection_install:
    EventID: 321
    Channel: Microsoft-Windows-PrintService/Operational
  selection_install_add1:
    Param1|contains: mimispool
  selection_install_add2:
    Param2|contains: printnightmare.gentilkiwi.com

  condition: selection_load or selection_init or (selection_install and (selection_install_add1 or selection_install_add2))
falsepositives:
- none
level: high

Stages and Predicates

Stage 0: condition

selection_load or selection_init or (selection_install and (selection_install_add1 or selection_install_add2))

Stage 1: selection_load

selection_load:
  Channel: Microsoft-Windows-PrintService/Admin
  EventID: 808
  PluginDllName|endswith: .dll

Stage 2: selection_init

selection_init:
  Channel: Microsoft-Windows-PrintService/Admin
  EventID: 354
  Param2|endswith: .dll

Stage 3: selection_install

selection_install:
  EventID: 321
  Channel: Microsoft-Windows-PrintService/Operational

Stage 4: selection_install_add1

selection_install_add1:
  Param1|contains: mimispool

Stage 5: selection_install_add2

selection_install_add2:
  Param2|contains: printnightmare.gentilkiwi.com

Indicators

Each row is a field, operator, and value that the rule matches. The corpus column counts how many other rules in the catalog look for the same combination: high numbers point to widely-used, community-vetted indicators. Blank or 1 shows that the indicator is specific to this rule.

FieldKindValues
Param1match
  • mimispool
Param2ends_with
  • .dll
Param2match
  • printnightmare.gentilkiwi.com
PluginDllNameends_with
  • .dll