Blog'a Dön
Windows Komut Satırı Obfuscation: Siber Güvenlikte Görünmez Tehdit ve Savunma Stratejileri

Windows Komut Satırı Obfuscation: Siber Güvenlikte Görünmez Tehdit ve Savunma Stratejileri

Umid Mammadov
01 August 2025
01 August 2025 tarihinde güncellendi

Siber saldırganlar, gelişmiş güvenlik çözümlerini atlatmak için sürekli yeni teknikler geliştiriyor. Bu tekniklerden biri olan komut satırı obfuscation, Windows’un yerleşik araçlarının (Living-off-the-Land) kötüye kullanılmasıyla gerçekleştiriliyor. Basit bir ping veya certutil komutu, doğru şekilde manipüle edildiğinde, antivirüs (AV), EDR (Endpoint Detection and Response) ve SIEM sistemlerini atlatabiliyor.

Peki bu nasıl çalışıyor ve savunma ekipleri bu tehdide karşı nasıl hazırlanmalı?

Komut Satırı Obfuscation Nedir?

Komut satırı obfuscation, bir komutun işlevini değiştirmeden farklı şekillerde yazılmasıdır. Bu, saldırganların kötü amaçlı faaliyetlerini gizlemek için kullandığı bir yöntemdir. Örneğin:

Standart komut:

tasklist /fi “IMAGENAME eq notepad.exe”

Obfuscate edilmiş hali:

tasklist -fⁱ “IMA””GENAME eq not””epad.exe” /FO csv -N

Buradaki Unicode karakterler ve tırnak işaretleri, komutu loglarda tespit edilmez hale getirebilir.

  • Unicode karakter (ˣ), x harfinin yerine kullanılıyor.
  • Tırnak işaretleri, komutun parçalarını bölüyor.
  • Seçenek karakteri (- yerine /), farklı bir formatta yazılıyor.

Burada olan küçük değişiklikler, statik imza tabanlı güvenlik çözümlerini kolayca atlatabilir.

En Yaygın Komut Satırı Obfuscation Teknikleri

a) Seçenek Karakter Değişimi (Option Char Substitution)

Windows’ta genellikle / kullanılırken, Unix benzeri sistemlerde — tercih edilir. Ancak bazı Windows araçları her ikisini de kabul eder:

Normal kullanım:

certutil /encode malware.exe encoded.b64

Obfuscate edilmiş versiyon:

certutil -encode malware.exe encoded.b64

Savunma için:
SIEM kurallarınız yalnızca /encode mı arıyor? -encode gibi varyasyonları da eklemelisiniz.

b) Unicode Karakter Takası (Character Substitution)

Unicode, benzer görünen farklı karakterler sunar. Örneğin, a yerine а (Kiril alfabesi) kullanılabilir:

Normal:

powershell -enc ZQBjAGgAbwAgACIASABhAGMAawBlAGQAIgA=

Obfuscate edilmiş:

powershell -еnc ZQBjAGgAbwAgACIASABhAGMAawBlAGQAIgA= # ‘e’ yerine Kiril ‘е’

Savunma için:
Komut satırında Unicode normalizasyonu yaparak bu tür atakları engelleyebilirsiniz.

c) Tırnak İşareti Ekleyerek (Quote Insertion)

Tırnak işaretleri, komutun anlamını değiştirmeden boşluklar ekleyerek tespiti zorlaştırır:

Normal:

netsh advfirewall show currentprofile

Obfuscate edilmiş:

netsh “adv”firewall “show” current”profile”

Savunma için:
Log analizinde “ karakterlerini filtreleyerek anormal komutları tespit edebilirsiniz.

d) Karakter Ekleme (Character Insertion)

Bazı araçlar, komut satırına gereksiz karakterler eklendiğinde bile çalışmaya devam eder:

Normal:

wevtutil qe Security /q:”*[System[(EventID=4688)]]”

Obfuscate edilmiş:

wevtutil qe Securitࢯ /q:”*[System[(EventID=4688)]]” # ‘y’ yerine Unicode eklenmiş

Savunma için:
Komut satırında geçersiz karakterleri otomatik olarak temizleyen bir ön işleme sistemi kullanın.

e) Kısaltmalar (Shorthands)

Bazı komutlar, uzun argümanların kısaltılmış versiyonlarını kabul eder:

Normal:

cmdkey /list

Obfuscate edilmiş:

cmdkey /l # ‘/list’ yerine ‘/l’ kullanılıyor

Savunma için:
Kısaltmaları tanıyan detection kuralları oluşturun.

Savunma Stratejileri: Obfuscation Nasıl Tespit Edilir?

a) Regex Tabanlı Tespit (Sigma Kuralları)

Bu kural, reg export komutunun Unicode, tırnak veya seçenek karakteri değişimiyle gizlenmiş versiyonlarını yakalar.

b) Komut Satırı Normalizasyonu

  • Unicode → ASCII dönüşümü yapın.
  • Fazla tırnak işaretlerini kaldırın.
  • Seçenek karakterlerini (- ve /) standartlaştırın.

c) Davranış Analizi (Behavioral Detection)

  • Anormal komut uzunluklarını izleyin.
  • Sık kullanılmayan Unicode karakterlerini tespit edin.
  • Standart dışı parametre kombinasyonlarını engelleyin.

4. Sonuç: Obfuscation’a Karşı Nasıl Hazırlanmalı?

Komut satırı obfuscation, saldırganların en sevdiği tekniklerden biridir. Savunma ekipleri:

  1. Detaylı loglama yapmalı (Process Command Line kayıtları).
  2. Regex tabanlı kuralları Unicode ve tırnak varyasyonlarını içerecek şekilde güncellemeli.
  3. Yapay zeka destekli analiz ile anormal komutları tespit etmeli.

https://attack.mitre.org/techniques/T1027/

ArgFuscator

Generate obfuscated command-line arguments for common system-native executables now with ArgFuscator.

argfuscator.net