AraştırmaBlue Team & DFIR

WMI Event Subscription Persistence Detection (MITRE T1546.003)

Sysmon, Wazuh ve Sigma ile Purple Team Kalıcılık Analizi ve Tespiti

Emir Raşit Gökçe
Emir Raşit GökçeSOC Analyst | Detection Engineer | Threat Hunting | Wazuh | Sigma | MITRE ATT&CK
4 Haziran 2026
4 dakika okuma
Özet

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
Emir Raşit Gökçe
SOC Analyst | Detection Engineer | Threat Hunting | Wazuh | Sigma | MITRE ATT&CK
Kurumsal altyapıları hedef alan gelişmiş siber tehdit senaryoları üzerine odaklanan siber güvenlik araştırmacısıdır. SIEM mimarileri, çekirdek seviyesindeki (Kernel-land) tehditlerin tespiti ve yüksek doğruluklu kural mühendisliği (Detection Engineering) alanlarında çalışmalar yürütmektedir. Savunma tarafındaki sinsi güvenlik kör noktalarını (blind spots) görünür kılmayı amaçlayan analitik yaklaşımlar ve tehdit avcılığı metodolojileri geliştirmektedir.

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