Post

SigmaPredator Lab - CyberDefender

Detection Engineering

SigmaPredator Lab - CyberDefender

Kalau kamu pernah kepikiran gimana rasanya jadi defender yang harus “ngejar” jejak attacker dari berbagai artefak log, CTF yang satu ini bener-bener menggambarkan itu. Beberapa waktu lalu aku nyobain challenge dari CyberDefenders, yaitu SigmaPredator Lab. Di sini kita nggak cuma disuruh baca log, tapi juga ditantang untuk bikin dan validasi Sigma rules sendiri—khususnya buat mendeteksi teknik event log clearing yang sering dipakai attacker buat nutup jejak.
Yang menarik, scenarionya nggak cuma dari satu sudut aja. Kita harus melihat berbagai jalur eksekusi—mulai dari command line (CLI), WMI, sampai PowerShell. Jadi kerasa banget kayak lagi investigasi beneran, di mana attacker bisa pakai banyak cara buat achieve tujuan yang sama: defense evasion.
Di tulisan ini aku mau sharing gimana proses aku ngerjain lab ini—mulai dari eksplorasi log, trial and error bikin Sigma rules, sampai validasi pakai Chainsaw. Santai aja, anggap kita lagi diskusi ringan tapi tetap ngopi ☕.


Sedikit Cerita mengenai CTF kali ini yaitu :

Within the CyberPredator Enterprise, you operate as a Detection & Hunting Engineer, translating adversary TTP research into operational detection capabilities. This workflow focuses on an in-depth analysis of Indicator Removal—specifically, Windows Event Log Clearing (T1070.001) as observed in campaigns attributed to APT28, APT41, and Aquatic Panda, aimed at degrading investigative visibility.
Your assignment is to deconstruct the Windows Event Log Clearing tradecraft—mapping associated tools, impacted event channels, and residual forensic traces. Following this, you will identify high-fidelity telemetry sources, craft resilient Sigma detection rules, and validate their efficacy against historical datasets using chainsaw, iteratively tuning detection logic before staging and production deployment.

nahh dari cerita itu terbagi menjadi 2 section yaitu Tecnique Research dan Rule Deployment.

Tecnique Research

1. Soal Pertama,

Process Creation Detection: Which built-in Windows command-line utility provides native support for managing—and in particular clearing—event logs?

Dalam soal pertama ini, kita sebagai player diminta untuk mencari tahu mengenai bagaimana Mendeteksi dari process creation melalui built-in Windows commandline utility yang bertujuan untuk mengelola dan menghapus log event yang tersedia secara native.
hmm, dari pertanyaan ini cukup memancing rasa penasaran hehe. Disini kita diharuskan untuk melakukan research baik melalui bantuan dari internet (Namun jangan chat GPT ya) 😄.
Ok berdasarkan informasi dari hasil research, terdapat beberapa built-in windows commandline seperti yang dapat dilihat pada gambar dibawah ini :



Namun yang mendukung aktivitas mengelola dan menghapus log event tersebut adalah wevtutil. Dimana terdapat beberapa syntax yang umum digunakan seperti Clear-log, Export-log serta export-log.

2. Soal kedua,

Process Creation Detection: Which WMI class typically appears in logs when attackers use WMIC commands to clear critical Windows event logs via the command line?

Selanjutnya, kita diminta untuk mengetahui Class dari WMI (Windows Management Instrumentation) yang umum digunakan oleh attacker dalam melakukan malicious activity dan muncul disi log monitoring via Windows agent. Pertanyaan ini sangat bagus untuk membantu kita dalam mengetahui, Parameter commandline apa yang sering digunakan oleh threat actor terlebih spesifik menggunakan WMI.



Kami mengulangi langkah sebelumnya, dimana kembali melakukan research melalui google sampai kami mendapati informasi yang relevan. Umumnya threat actor akan menjalankan commandline sperti

1
wmic nteventlog where LogFileName='Security' call ClearEventLog

Dimana commmandline tersebut berisikan parameter methode cleareventlog() dan class yang diakses adalah Win32_NTEventLogFile.

3. Soal ketiga,

PowerShell Detection: Which PowerShell logging channel must be enabled to capture this technique’s execution, and which Event ID should be monitored as recommended in the MITRE ATT&CK technique page?

Selanjutnya pertanyaan mengenai Powershel logging channel mana yang harus diaktifkan dari sisi Defender untuk dapat memonitoring terkait dengan process execution dan sebutkan juga nama eventid terkait. Dari sini sudah mulai membahas mengenai logging log serta event id. Jujur Pengetahuan eventid bagi sisi defender akan sangat menguntungkan karena akan membuat efisiensi dalam process detection.
Berdasarkan informasi yang dimuat pada gambar gambar diras, terlihat bahwa untuk memonitoring berakitan dengan process execution, defender dapat memanfaatkan logging script block di powershell. Dimana melalui logging tersebut memungkinkan defender mengetahui adanya malicious process berdasarkan eventID 4104.



4. Soal keempat,

PowerShell detection: Which built-in PowerShell cmdlets are commonly leveraged by attackers to clear Windows Event Logs?

Disini lebih mendalam untuk membahas mengenai buil-tin Cmdlet powershell mana yang umum digunakan oleh attacker dalam melakukan penghapusan log event disisi windows.





Berdasarkan hasil informasi yang kami baca seperti pada gambar diatas, terdapat 2 cmdlet yang dapat disalahgunakan oleh attacker dalam melakukan penghapusan log windows event. dimana 2 cmdlet tersebut adala clear event log dan remove event log.

5. Soal kelima,

PowerShell detection: Which native .NET API methods in the System.Diagnostics.Eventing.Reader and System.Diagnostics namespaces can an attacker invoke from PowerShell to clear Windows Event Logs?

Soal ini memberitahukan defender bahwa, attacker tidak selalu bergantung terhadap penggunaan cmdlet seperti Clear-EventLog. Dimana attacker juga dapat secara langsung memanfaatkan .NET API untuk melakukan penghapusan Event log.
Berdasarkan informasi yang kami daptkan terdapat 2 metode yang dapat dimanfaatkan oleh attacker yaitu :

NameSpace: System.Diagnostics.Evening.Reader
1
EventLogSession.ClearLog()

Contoh untuk di Powershell

1
([System.Diagnostics.Eventing.Reader.EventLogSession]::GlobalSession).ClearLog("Security")
Namespace: System.Diagnostics
1
EventLog.Clear()

Contoh untuk di powershell

1
2
$log = New-Object System.Diagnostics.EventLog("Security")
$log.Clear()





Sehingga dari informasi yang kami dapatkan tersebut, maka jawaban untuk sola ke lima ini adalah EventLogSession.ClearLog & EventLog.Clear .

6. Soal keenam,

File Deletion Detection: Which Windows Event IDs should be monitored to detect the clearing of System or Security event logs as an indication of potential log removal?

Untuk soal ini, kita sebagai defender diminta untuk memahami Eventid berapa yang dapat dimanfaatkan dalam memonitoring berkaitan dengan bukti penghapusan event log berhasil di windows. Disini kami mendapati bahwa eventID yang dapat dimanfaatkan adalah 1102 seeperti pada gambar dibawah ini.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
- <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
- <System>
 <Provider Name="Microsoft-Windows-Eventlog" Guid="{fc65ddd8-d6ef-4962-83d5-6e5cfe9ce148}" /> 
 <EventID>1102</EventID> 
 <Version>0</Version> 
 <Level>4</Level> 
 <Task>104</Task> 
 <Opcode>0</Opcode> 
 <Keywords>0x4020000000000000</Keywords> 
 <TimeCreated SystemTime="2015-10-16T00:39:58.656871200Z" /> 
 <EventRecordID>1087729</EventRecordID> 
 <Correlation /> 
 <Execution ProcessID="820" ThreadID="2644" /> 
 <Channel>Security</Channel> 
 <Computer>DC01.contoso.local</Computer> 
 <Security /> 
 </System>
- <UserData>
- <LogFileCleared xmlns="http://manifests.microsoft.com/win/2004/08/windows/eventlog">
 <SubjectUserSid>S-1-5-21-3457937927-2839227994-823803824-1104</SubjectUserSid> 
 <SubjectUserName>dadmin</SubjectUserName> 
 <SubjectDomainName>CONTOSO</SubjectDomainName> 
 <SubjectLogonId>0x55cd1d</SubjectLogonId> 
 </LogFileCleared>
 </UserData>
 </Event>

Rule Development (Section 2)

1. Soal Pertama,

PowerShell Detection: Create a Sigma rule to detect event log clearing through ScriptBlock Logging. Validate it using Chainsaw with your historical logs. What is the timestamp of the earliest detection?

Note: PowerShell is operating in Constrained Language Mode, so your Sigma rule should disregard any .NET binaries.

Saatnya kita memasukin bagian practical. Dimana pada bagian ini, kita sebagai defender diminta untuk membuat sigma Rule untuk mendeteksi adanya aktivitas penghapusan log menggunakan scriptblock logging. untuk mendeteksinya, kita diberikan tools chainsaw serta historical data event log yang dapat diaksess.



Disini kami membuat sigma rule yang dapat dilihat seperti dibawah ini :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
title: PowerShell Event Log Clearing via ScriptBlock
id: powershell-eventlog-clearing
status: experimental
description: Detects clearing of Windows Event Logs via PowerShell ScriptBlock Logging
logsource:
  product: windows
  service: powershell
detection:
  selection:
    EventID: 4104
    ScriptBlockText|contains:
      - 'Clear-EventLog'
      - 'Remove-EventLog'
      - 'wevtutil cl'
  condition: selection
fields:
  - ScriptBlockText
  - Computer
  - UserID
falsepositives:
  - Administrative activity
level: high

Terlihat bahwa dari sigma rule tersebut berasal dari windows powershell log dan spesifik berhubungan dengan event id 4104. Disini pencarian berdasarkan beberapa strings yang terdapat dalam scriptblocktext tersebut seperti

  • Clear-EventLog
  • Remove-EventLog
  • Wevtutil cl
    Dari hasil pencarian menggunakan tools dan sigma rule yang sudah dibuat seperti diatas tadi. kami mendapati jawabanya seperti pada gambar dibawah ini.

    2. Soal Kedua,

    Process Creation Detection: Create a Sigma rule to detect event log clearing via native CLI utilities (e.g., wevtutil, excluding WMI). Validate it using Chainsaw with the historical logs you have. What’s the timestamp of the latest match?

    Note: You can use Sysmon as a data source in your rule.

    Selanjutnya kita diminta untuk mendeteksi adanya aktivitas penghapusan log via CLI dan untuk log sourcenya bisa memanfaatkan sysmon melalui process creation yaitu dengan event id 1. Perlu di perhatikan untuk pertanyaaa ini, kita diminta untuk menemukan timestamp paling akhir.

    Oh iyaa, sebelum terlalu jauh. Kembali kita ingat bahwa process penghapusann log event melalui cli bisa menggunakan built-in powershell windows utility yaitu wevtutil

    1
    2
    
    wevtutil cl System
    wevtutil cl Security
    

    Sehingga dari hipotesa yang sudah kita dapatkan diawal tadi, menjadikan landasan sigma rule yang akan kita buat seperti ini

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    
    title: Wevtutil Log Clearing Sysmon
    id: 123
    status: experimental
    description: Detect clearing event logs using wevtutil
    logsource:
      product: windows
      service: sysmon
    detection:
      selection:
        EventID: 1
        CommandLine|contains: wevtutil
      condition: selection
    fields:
      - CommandLine
      - Image
    falsepositives:
      - Administrative activity
    level: medium
    

    Dimana dari hasil penggunaan sigma rule berdasarkan log sysmon dan spesifik eventid 1, berhasil membantu kita untuk mengetahui adanya malicious commandline yang berhubungan dengan penghapusan log.

    3. Soal Ketiga,

    File Deletion Detection: Create a Sigma rule to detect event-log clearing. Validate it using Chainsaw with the historical logs you have. What is the timestamp of the earliest match?

    Sebelumnya kita diminta untuk mendeteksi adanya percobaan penghapusan log melalui cli, sedangkan pada soal terkahir ini kita sebagai defender diminta untuk mendeteksi adanya bukti valid bahwa log windows event sudah benar benar terhapus.
    Berdasarkan hasil research kami sebelumnya untuk membuktikan adanya penghapusan log windows event tersebut sudah berhasil dilakukan dapat memanfaatkan eventID 1102 (Security log cleared) dan 104 (Event log service cleared log), sehingg sigma rule yang kami bikin menjadi seperti ini

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    
    title: Windows Event Log Cleared
    id: log-cleared-104-1102
    status: experimental
    description: Detects clearing of Windows event logs
    logsource:
      product: windows
    detection:
      selection1:
        EventID: 1102
      selection2:
        EventID: 104
      condition: selection1 or selection2
    fields:
      - EventID
      - Computer
    falsepositives:
      - Legitimate admin activity
    level: medium
    

    Akhirnya, melalui dari lab ini kita sebagai defender dapat mengetahui dan mendeteksi aktivitas seperti penghapusan event log bukan cuma soal tahu satu teknik, tapi bagaimana kita memahami berbagai cara attacker bekerja dan menerjemahkannya ke dalam detection yang efektif. Semoga tulisan ini bisa jadi gambaran sekaligus referensi buat kita semua yang lagi belajar ataupun mendalami detection engineering. Kalau ada pendekatan lain ataupun insight tambahan, feel free buat sharing juga ya karena di dunia blue team, belajar itu nggak pernah berhenti 🚀.

    Reference

    • https://learn.microsoft.com/en-us/answers/questions/342398/windows-event-logs-clea
    • https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-10/security/threat-protection/auditing/event-1102
    • https://learn.microsoft.com/en-us/dotnet/api/system.diagnostics.eventlog.clear?view=windowsdesktop-10.0
    • https://learn.microsoft.com/en-us/dotnet/api/system.diagnostics.eventing.reader.eventlogsession.clearlog?view=windowsdesktop-10.0
    • https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_logging?view=powershell-5.1
    • https://learn.microsoft.com/en-us/previous-versions/windows/desktop/eventlogprov/cleareventlog-method-in-class-win32-nteventlogfile
    • https://github.com/WithSecureLabs/chainsaw
    • https://cyberdefenders.org/blueteam-ctf-challenges/sigmapredator/
  • This post is licensed under CC BY 4.0 by the author.