CVE-2021-41379
MEDIUM(5.5)KEV — Aktiv ausgenutztCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
- CVSS 5.5 — Mittel
- Im CISA KEV-Katalog (aktiv ausgenutzt)
CISA KEV
Bestätigt ausgenutzt
EPSS-Score
19.4%
Exploit-Wahrscheinlichkeit (30 Tage)
CVSS Score
5.5
Technische Schwere
SecBoard-Einordnung
CVE-2021-41379 ist eine Elevation-of-Privilege-Schwachstelle im Windows Installer, die es einem Angreifer ermöglichen kann, höhere Berechtigungen auf einem betroffenen System zu erlangen. Diese Schwachstelle betrifft verschiedene Versionen von Windows 10 und Windows 11. Ein erfolgreicher Exploit könnte einem Angreifer erweiterte Kontrolle über das System verschaffen.
KI-gestützte Einordnung auf Basis der NVD-Daten.
Beschreibung
Windows Installer Elevation of Privilege Vulnerability
Erkennung & Indikatoren
Ausnutzung
Aktiv ausgenutzt (CISA KEV).
Threat-Hunting-Queries
Die Schwachstelle ermöglicht eine Privilegienausweitung durch Missbrauch des Windows Installer-Dienstes, um eine Datei oder ein Verzeichnis zu löschen, nachdem ein Junction erstellt wurde. Die Detektion sollte auf ungewöhnliche Aktivitäten des Windows Installer-Dienstes abzielen, insbesondere auf das Erstellen von Junctions gefolgt von Löschvorgängen durch Prozesse mit niedrigen Privilegien, die d
Sentinel/Defender KQL
DeviceProcessEvents
| where InitiatingProcessFileName =~ "msiexec.exe" or InitiatingProcessParentFileName =~ "msiexec.exe"
| where ProcessCommandLine contains "/i" or ProcessCommandLine contains "/x" // Installer/Uninstaller activity
| where InitiatingProcessIntegrityLevel == "Low" or InitiatingProcessIntegrityLevel == "Medium" // Low-privileged process
| join kind=inner (DeviceFileEvents
| where ActionType == "FileCreated" and FileName contains ".lnk" // Junction/symlink creation indicator
| where InitiatingProcessIntegrityLevel == "Low" or InitiatingProcessIntegrityLevel == "Medium"
| summarize JunctionCreationTime = min(TimeGenerated) by DeviceId, InitiatingProcessId
) on DeviceId, InitiatingProcessId
| join kind=inner (DeviceFileEvents
| where ActionType == "FileDeleted" or ActionType == "DirectoryDeleted"
| where InitiatingProcessIntegrityLevel == "System" // SYSTEM-level deletion
| summarize DeletionTime = min(TimeGenerated) by DeviceId, InitiatingProcessId
) on DeviceId, InitiatingProcessId
| where DeletionTime > JunctionCreationTime and DeletionTime < JunctionCreationTime + 1h // Deletion shortly after junction creation
| project TimeGenerated, DeviceName, InitiatingProcessFileName, InitiatingProcessCommandLine, InitiatingProcessIntegrityLevel, FileName, ActionType, JunctionCreationTime, DeletionTimeSplunk SPL
index=windows (sourcetype=WinEventLog:Security OR sourcetype=WinEventLog:System OR sourcetype=WinEventLog:Microsoft-Windows-Sysmon/Operational)
| (EventCode=4688 OR EventCode=1) ProcessName IN ("msiexec.exe")
| search CommandLine IN ("*/i*", "*/x*")
| search (User_Integrity_Level="Low" OR User_Integrity_Level="Medium")
| transaction ProcessId startswith (EventCode=1 OR EventCode=4688) ProcessName IN ("msiexec.exe") CommandLine IN ("*/i*", "*/x*") (User_Integrity_Level="Low" OR User_Integrity_Level="Medium") endswith (EventCode=11 OR EventCode=23) (TargetFilename="*.lnk*" OR TargetFilename="*.symlink*") (User_Integrity_Level="Low" OR User_Integrity_Level="Medium")
| search (EventCode=11 OR EventCode=23) (TargetFilename="*.lnk*" OR TargetFilename="*.symlink*") (User_Integrity_Level="Low" OR User_Integrity_Level="Medium")
| join ProcessId
[ search index=windows (sourcetype=WinEventLog:Security OR sourcetype=WinEventLog:System OR sourcetype=WinEventLog:Microsoft-Windows-Sysmon/Operational)
| (EventCode=11 OR EventCode=23) (TargetFilename="*.lnk*" OR TargetFilename="*.symlink*") (User_Integrity_Level="Low" OR User_Integrity_Level="Medium")
| rename _time as JunctionCreationTime
| fields ProcessId, JunctionCreationTime
]
| join ProcessId
[ search index=windows (sourcetype=WinEventLog:Security OR sourcetype=WinEventLog:System OR sourcetype=WinEventLog:Microsoft-Windows-Sysmon/Operational)
| (EventCode=11 OR EventCode=23) (TargetFilename="*" OR TargetFilename="*") (User_Integrity_Level="System")
| rename _time as DeletionTime
| fields ProcessId, DeletionTime
]
| where DeletionTime > JunctionCreationTime AND DeletionTime < relative_time(JunctionCreationTime, "+1h")
| table _time, host, ProcessName, CommandLine, User_Integrity_Level, TargetFilename, JunctionCreationTime, DeletionTimeSigma
title: Windows Installer Privilege Escalation via Junction Abuse
id: 9a1b2c3d-4e5f-6789-abcd-ef0123456789
status: experimental
description: Detects potential privilege escalation attempts abusing the Windows Installer service by creating junctions and triggering file deletions.
author: SecBoard Operations
date: 2023/10/27
modified: 2023/10/27
tags:
- attack.privilege_escalation
- cve.2021-41379
- cisa_kev
logsource:
category: process_creation
product: windows
detection:
selection_installer:
Image|endswith:
- '\msiexec.exe'
CommandLine|contains:
- '/i'
- '/x'
filter_low_privilege:
IntegrityLevel:
- 'Low'
- 'Medium'
selection_junction_creation:
EventID: 11 # Sysmon FileCreate
TargetFilename|endswith:
- '.lnk'
- '.symlink'
selection_system_deletion:
EventID: 23 # Sysmon FileDelete
IntegrityLevel: 'System'
condition: all of selection_installer and filter_low_privilege and selection_junction_creation and selection_system_deletion
falsepositives:
- Legitimate software installations/updates that might involve complex file operations.
level: highElastic ES|QL
from process where event.action == "process_started" and (process.executable : "*\\msiexec.exe" or process.parent.executable : "*\\msiexec.exe") and (process.args : "/i" or process.args : "/x") and (process.integrity_level : "low" or process.integrity_level : "medium")
| join (from file where event.action == "creation" and (file.extension : "lnk" or file.extension : "symlink") and (process.integrity_level : "low" or process.integrity_level : "medium")) on process.entity_id
| join (from file where event.action == "deletion" and process.integrity_level : "system") on process.entity_id
| where file.creation.timestamp < file.deletion.timestamp and file.deletion.timestamp < file.creation.timestamp + INTERVAL 1 HOUR
| select @timestamp, host.name, process.executable, process.command_line, process.integrity_level, file.path, event.action, file.creation.timestamp, file.deletion.timestampSecBoard-generated · behavioral · requires customization — Von SecBoard erzeugt und nicht in einer Zielumgebung validiert. Vor dem Einsatz an die eigene Protokollierung anpassen.
Betroffene Produkte
- cpe:2.3:o:microsoft:windows_10_1507:*:*:*:*:*:*:*:*
- cpe:2.3:o:microsoft:windows_10_1607:*:*:*:*:*:*:*:*
- cpe:2.3:o:microsoft:windows_10_1809:*:*:*:*:*:*:*:*
- cpe:2.3:o:microsoft:windows_10_1909:*:*:*:*:*:*:*:*
- cpe:2.3:o:microsoft:windows_10_2004:*:*:*:*:*:*:*:*
- cpe:2.3:o:microsoft:windows_10_20h2:*:*:*:*:*:*:*:*
- cpe:2.3:o:microsoft:windows_10_21h1:*:*:*:*:*:*:*:*
- cpe:2.3:o:microsoft:windows_11_21h2:*:*:*:*:*:*:*:*
- cpe:2.3:o:microsoft:windows_7:-:sp1:*:*:*:*:*:*
- cpe:2.3:o:microsoft:windows_8.1:-:*:*:*:*:*:*:*
- cpe:2.3:o:microsoft:windows_rt_8.1:-:*:*:*:*:*:*:*
- cpe:2.3:o:microsoft:windows_server_2004:*:*:*:*:*:*:*:*
- cpe:2.3:o:microsoft:windows_server_2008:-:sp2:*:*:*:*:*:*
- cpe:2.3:o:microsoft:windows_server_2008:r2:sp1:*:*:*:*:x64:*
- cpe:2.3:o:microsoft:windows_server_2012:-:*:*:*:*:*:*:*
- cpe:2.3:o:microsoft:windows_server_2012:r2:*:*:*:*:*:*:*
- cpe:2.3:o:microsoft:windows_server_2016:*:*:*:*:*:*:*:*
- cpe:2.3:o:microsoft:windows_server_2019:*:*:*:*:*:*:*:*
- cpe:2.3:o:microsoft:windows_server_2022:*:*:*:*:*:*:*:*
- cpe:2.3:o:microsoft:windows_server_20h2:*:*:*:*:*:*:*:*