WMI Event Subscription Persistence Detection (MITRE T1546.003)
Sysmon, Wazuh ve Sigma ile Purple Team Kalıcılık Analizi ve Tespiti
Bu çalışma, Windows işletim sistemlerinde en sinsi kalıcılık yöntemlerinden biri olan WMI Event Subscription tekniğinin (MITRE ATT&CK T1546.003) Purple Team metodolojisiyle analiz edilmesini ve tespit edilmesini konu almaktadır. Sysmon Event ID 19, 20 ve 21 telemetry verileri kullanılarak Wazuh üzerinde özel tespit kuralları ve portable bir Sigma kuralı geliştirilmiştir.
Genel Bakış ve Kör Nokta
SIEM implementasyonları ve SOC ekiplerinin büyük bir kısmı, persistence denildiğinde hemen bilinen bileşenlere odaklanır:
- Registry Run Keys
- Windows Task Scheduler
Saldırganlar tam olarak bu blind spot (kör nokta) alanından faydalanmaktadır.
WMI Event Subscriptions, tamamen in-memory ve fileless çalışan, diskte yeni bir dosya oluşturmayan ve reboot sonrasında hayatta kalan en stealth kalıcılık mekanizmalarından biridir.
MITRE ATT&CK kapsamında T1546.003 altında takip edilen bu teknik, yalnızca file-based indicator’ları izleyen geleneksel AV/EDR çözümleri tarafından sıklıkla kaçırılmaktadır.
Bu boşluğu kapatmak adına Sysmon Event ID 19/20/21 telemetry verilerini custom Wazuh detection kuralları ve portatif bir Sigma kuralı ile korele edeceğiz.
Laboratuvar Ortamı
Çalışmanın test edildiği ve doğrulandığı Purple Team laboratuvar ortamı:
- Target Machine: Windows 10 Enterprise + Wazuh Agent + Sysmon v15.15
- SIEM: Wazuh SIEM (Log Ingestion, Rule Engine, Alerting)
Aşama 1: WMI Telemetrisini Aktif Etmek (Sysmon Config)
Varsayılan ayarlarda Sysmon, WMI aktivitelerini loglamaz.
İlk adım olarak aktif Sysmon konfigürasyonuna (shell_config.xml) Event ID 19, 20 ve 21’i dahil etmek gerekir.
Yapılandırma
<WmiEvent onmatch="include">
<Operation condition="is">Created</Operation>
</WmiEvent>
Konfigürasyonu uyguladıktan sonra:
sysmon64 -c shell_config.xml
Doğrulanması gereken çıktı:
WmiEvent onmatch: include — Operation: is 'Created'
Aşama 2: Atak Simülasyonu — WMI Persistence Zincirini Kurmak
Atak senaryosu tamamen PowerShell üzerinden post-exploitation aşamasını simüle edecek şekilde gerçekleştirilmiştir.
Bir WMI persistence zinciri üç temel bileşenden oluşur:
__EventFilter→ WQL trigger sorgusunu tanımlar.CommandLineEventConsumer→ Çalıştırılacak payload’u belirler.__FilterToConsumerBinding→ Filter ve Consumer bileşenlerini birbirine bağlar.
Attack Script (Simplified)
# 1. EventFilter — trigger
$filter = Set-WmiInstance -Namespace root\subscription -Class __EventFilter -Arguments @{
Name = "AltaySecPersist"
Query = "SELECT * FROM __InstanceModificationEvent WITHIN 60 WHERE TargetInstance ISA 'Win32_PerfFormattedData_PerfOS_System'"
QueryLanguage = "WQL"
EventNameSpace = "root\cimv2"
}
# 2. EventConsumer — payload
$consumer = Set-WmiInstance -Namespace root\subscription -Class CommandLineEventConsumer -Arguments @{
Name = "AltaySecConsumer"
CommandLineTemplate = "cmd.exe /c echo WMIPersistTest >> C:\wmi_test.txt"
}
# 3. Binding — complete the chain
Set-WmiInstance -Namespace root\subscription -Class __FilterToConsumerBinding -Arguments @{
Filter = $filter
Consumer = $consumer
}
Kayıt sonrasında aşağıdaki nesnelerin başarıyla oluşturulduğu doğrulanmıştır:
AltaySecPersist(EventFilter)AltaySecConsumer(EventConsumer)
Namespace:
root\subscription
Aşama 3: Sysmon Tespiti — Event ID 19, 20, 21
Atak sonrasında Sysmon aşağıdaki olayları kaydetmiştir.
Event ID 19
WmiEventFilter Activity Detected
EventType: WmiFilterEvent
Name: AltaySecPersist
Query: SELECT * FROM __InstanceModificationEvent...
Event ID 20
WmiEventConsumer Activity Detected
EventType: WmiConsumerEvent
Name: AltaySecConsumer
Destination: cmd.exe /c echo WMIPersistTest >> C:\wmi_test.txt
Event ID 21
WmiEventConsumerToFilter Binding Detected
EventType: WmiBindingEvent
Consumer: AltaySecConsumer
Filter: AltaySecPersist
Bu loglar, persistence zincirinin başarıyla kurulduğunu göstermektedir.
Aşama 4: Özel Detection Kural Mimarisi (Wazuh)
<group name="sysmon,wmi,persistence,altaysec">
<rule id="100200" level="12">
<if_group>sysmon_eid19_detections</if_group>
<description>AltaySec: WMI EventFilter registered - T1546.003 Persistence</description>
<mitre>
<id>T1546.003</id>
</mitre>
</rule>
<rule id="100201" level="12">
<if_group>sysmon_eid20_detections</if_group>
<description>AltaySec: WMI EventConsumer registered - T1546.003 Persistence</description>
<mitre>
<id>T1546.003</id>
</mitre>
</rule>
<rule id="100202" level="15">
<if_group>sysmon_eid21_detections</if_group>
<description>AltaySec: WMI FilterToConsumerBinding - Full persistence chain complete T1546.003</description>
<mitre>
<id>T1546.003</id>
</mitre>
</rule>
</group>
Custom kurallar Wazuh Dashboard üzerinde aktif hale getirilmiştir:
- Level 12
- Level 15
- MITRE T1546.003 tagging
Aşama 5: SIEM Triage ve Alert Sonuçları
Gerçek zamanlı simülasyon sırasında Rule 100201 başarıyla tetiklenmiştir.
| Field | Value |
|---|---|
| rule.id | 100201 |
| rule.level | 12 |
| rule.description | AltaySec: WMI EventConsumer registered - T1546.003 Persistence |
| rule.mitre.id | T1546.003 |
| rule.mitre.tactic | Privilege Escalation, Persistence |
| agent.name | Windows10 |
| data.win.eventdata.name | AltaySecConsumer |
| data.win.eventdata.destination | cmd.exe /c echo WMIPersistTest >> C:\wmi_test.txt |
Deep Log Analysis
Bu alert sayesinde:
- Payload içeriği
- IOC detayları
- Persistence bağlamı
kolayca analiz edilebilmektedir.
Aşama 6: Sigma Kuralı — Portable Detection
title: WMI Event Subscription Persistence Detection
id: a1b2c3d4-0001-0001-0001-000000000001
status: experimental
description: Detects WMI Event Subscription persistence via Sysmon Event ID 19/20/21
author: Emir Rasit Gokce (@V3nG4mxV1p3r) - AltaySec Labs
date: 2026/05/05
tags:
- attack.persistence
- attack.privilege_escalation
- attack.t1546.003
logsource:
product: windows
category: wmi_event
detection:
selection:
EventID:
- 19
- 20
- 21
condition: selection
falsepositives:
- Legitimate software using WMI subscriptions (e.g. SCCM, monitoring agents)
level: high
Önemli Çıkarımlar
Fileless Persistence
WMI kalıcılığı tamamen fileless yapıdadır:
- Disk üzerinde artifact bırakmaz.
- Registry Run Key oluşturmaz.
Behavioral Detection
Payload veya malware imzasının değişmesi tespiti engellemez.
Önemli olan:
WMI subscription yapısının oluşturulmasıdır.
Telemetry Bağımlılığı
Bu teknik için en güvenilir telemetry kaynakları:
- Sysmon Event ID 19
- Sysmon Event ID 20
- Sysmon Event ID 21
Blind Spot
Sadece:
- File monitoring
- Registry monitoring
mekanizmalarına güvenen savunma ekipleri bu saldırı vektörüne karşı kör kalmaktadır.
Laboratuvar Dosyaları ve Uygulamalar
Çalışmada kullanılan:
- Atak simülasyon scriptleri
- Sysmon konfigürasyon dosyaları
- Wazuh kural setleri
- Sigma kuralları
GitHub laboratuvar reposunu ziyaret edebilirsiniz:
GitHub - WMI-Persistence-Detection-Lab
Sen de yaz, arşivde yerini al
AltaySec Arşiv'e katkı ver — uzmanlığını Türkçe siber güvenlik literatürüne kat.
Yazar Ol