BİR TEHDİT VE GİZLENME SANATI: NTFS ALTERNATİF VERİ AKIŞLARI (ADS)
NTFS (New Technology File System), Microsoft Windows işletim sistemlerinde kullanılan gelişmiş dosya sistemidir. NTFS'in az bilinen ancak siber güvenlik açısından oldukça önemli özelliklerinden biri Alternate Data Streams (ADS) yani Alternatif Veri Akışlarıdır.
ADS, ilk olarak Macintosh sistemleriyle dosya uyumluluğunu sağlamak amacıyla geliştirilmiştir. Ancak zamanla saldırganlar tarafından kötü amaçlı yazılımları gizlemek, veri saklamak ve adli bilişim analizlerinden kaçmak için kullanılmaya başlanmıştır.
1. ADS Nedir?
Normalde bir dosya tek bir veri akışından oluşur:
belge.txt
Dosyanın içeriği:
Merhaba Dünya
NTFS ise aynı dosya içinde görünmeyen ek veri akışları oluşturulmasına izin verir:
belge.txt:gizli
Bu durumda:
belge.txt
görünmeye devam eder ancak:
gizli
isimli ikinci veri akışı dosya içinde saklanır.
Yapısal Görünüm
belge.txt│├── Ana Veri Akışı│ └── Merhaba Dünya│└── ADS Akışı└── Gizli Veri
Windows Gezgini bu ikinci akışı göstermez.
Bu nedenle birçok kullanıcı dosyada gizli veri bulunduğunu fark etmez.
2. ADS Nasıl Oluşturulur?
Komut satırından:
echo Gizli Mesaj > rapor.txt:gizli
Dosya görünümü:
rapor.txt
Boyut:
0 KB
Ancak gizli veri içerir.
İçeriği Okuma
more < rapor.txt:gizli
veya
notepad rapor.txt:gizli
çıktı:
Gizli Mesaj
3. ADS'nin Teknik Yapısı
NTFS dosyaları MFT (Master File Table) içerisinde saklanır.
ADS kullanıldığında:
$DATA
özniteliğine ek veri akışları eklenir.
Örnek:
dosya.txt│├── $DATA│├── stream1│└── stream2
Her akış bağımsız veri tutabilir.
4. ADS'nin Meşru Kullanımları
ADS her zaman kötü amaçlı değildir.
Windows tarafından çeşitli amaçlarla kullanılır.
Zone.Identifier
İnternetten indirilen dosyalarda:
program.exe:Zone.Identifier
örneği bulunabilir.
İçeriği:
[ZoneTransfer]ZoneId=3
Bu bilgi dosyanın internetten geldiğini belirtir.
Microsoft Office
Bazı Office uygulamaları:
metadata
sürüm bilgileri
geçici veriler
için ADS kullanabilir.
5. Siber Güvenlik Açısından Riskler
ADS'nin görünmez olması saldırganlar için avantaj sağlar.
Kötü Amaçlı Kod Gizleme
Örnek:
notepad.exe dosya.txt:payload.exe
Buraya zararlı yazılım gömülebilir.
Klasik dosya taramaları bunu gözden kaçırabilir.
Veri Kaçırma
Saldırgan hassas bilgileri:
normal.txt:gizli_veri
şeklinde saklayabilir.
Dosya incelemesinde görünmez.
Persistence
Bazı saldırganlar:
C:\Users\Public\readme.txt:backdoor.exe
gibi akışlarda arka kapı saklar.
Antivirüs Atlatma
Eski güvenlik ürünleri yalnızca:
dosya.exe
üzerinde tarama yaparken
dosya.exe:hidden
akışını incelemeyebilir.
6. ADS ile Zararlı Faaliyet Senaryosu
Aşama 1
Saldırgan sistem erişimi elde eder.
Aşama 2
Payload saklar:
type malware.exe > belge.txt:evil.exe
Aşama 3
PowerShell kullanarak çalıştırır.
Aşama 4
Dosya sistemi görünürde temizdir.
belge.txt
masum görünür.
Sonuç
SOC analisti ilk bakışta zararlı yazılımı göremeyebilir.
7. ADS Tespiti
DIR Komutu
Windows:
dir /r
Örnek çıktı:
rapor.txt26 rapor.txt:gizli
Burada ADS görünür.
PowerShell
Tüm akışları listeleme:
Get-Item rapor.txt -Stream *
Örnek:
:$DATAgizli
Tüm Sistemde Tarama
Get-ChildItem C:\ -Recurse |Get-Item -Stream *
8. Sysinternals Streams Aracı
Microsoft Sysinternals aracı:
Microsoft Sysinternals Streams
Kullanım:
streams.exe dosya.txt
çıktı:
dosya.txt:gizli:$DATA
Silme
streams.exe -d dosya.txt
9. PowerShell ile ADS Silme
Belirli akışı silmek:
Remove-Item dosya.txt -Stream gizli
10. DFIR (Digital Forensics) Açısından ADS
Olay müdahale ekipleri için ADS kritik öneme sahiptir.
İncelenmesi gerekenler:
Kullanıcı profilleri
Temp dizinleri
Downloads klasörü
Public klasörleri
Web sunucuları
Dosya paylaşım sunucuları
IOC Örnekleri
Şüpheli akış isimleri:
payloadshellcmdbackdoorupdatesvchostsystem
11. MITRE ATT&CK Eşleştirmesi
ADS kullanımı genellikle:
MITRE ATT&CK
teknikleriyle ilişkilendirilir.
Özellikle:
| Teknik | Açıklama |
|---|---|
| T1564 | Hide Artifacts |
| T1564.004 | NTFS File Attributes |
| T1027 | Obfuscated Files |
| T1105 | Ingress Tool Transfer |
12. SOC Analistleri İçin Avcılık Kuralları
Aşağıdaki olaylar araştırılmalıdır:
Sysmon Event ID 15
FileCreateStreamHash
Bu olay ADS oluşturulduğunu gösterebilir.
Şüpheli Komutlar
echo > file.txt:hidden
type malware.exe > image.jpg:payload
dir /r
Şüpheli PowerShell
Get-Item -Stream *
Remove-Item -Stream
13. Gerçek Dünya Örnekleri
Tarihsel olarak çeşitli zararlı yazılımlar ADS kullanmıştır:
Trojan Downloader'lar
Rootkit'ler
Backdoor'lar
APT araç setleri
Amaçları:
Dosya gizleme
Persistence
Güvenlik ürünlerinden kaçma
Veri saklama
Modern EDR ürünleri ADS'leri genellikle denetlese de, yanlış yapılandırılmış sistemlerde hâlâ risk oluşturmaktadır.
14. Savunma Önerileri
Sistem Yöneticileri
Sysmon kullanın.
ADS taramaları yapın.
PowerShell loglarını etkinleştirin.
EDR kullanın.
Kullanıcıların yazma izinlerini sınırlandırın.
SOC Ekipleri
Event ID 15 izleyin.
ADS IOC listeleri oluşturun.
Periyodik ADS avcılığı yapın.
DFIR Uzmanları
İmaj analizlerinde ADS kontrol edin.
MFT artefaktlarını inceleyin.
Zone.Identifier kayıtlarını değerlendirin.
Sonuç
NTFS Alternate Data Streams, Windows'un meşru bir özelliği olmasına rağmen saldırganlar tarafından uzun yıllardır gizleme tekniği olarak kullanılmaktadır. ADS'ler dosya içinde görünmez veri depolayabildiğinden, tehdit avcılığı (Threat Hunting), olay müdahalesi (Incident Response), adli bilişim (DFIR) ve SOC operasyonlarında mutlaka kontrol edilmesi gereken artefaktlar arasında yer alır.
Modern güvenlik ekipleri için ADS bilgisi; zararlı yazılım analizi, saldırı yüzeyi incelemesi ve ileri seviye Windows adli analizlerinde temel uzmanlık konularından biri kabul edilmektedir.
NTFS Alternatif Veri Akışları (ADS), hem saldırganların "Living off the Land" (sistemdeki yerleşik araçları kullanma) taktiklerini anlamak hem de SOC ortamlarında tehdit avı (threat hunting) yapmak için mükemmel bir laboratuvar senaryosudur.
Windows işletim sistemlerinde standart dosya sisteminin (NTFS) az bilinen ama siber güvenlik açısından kritik bir özelliği vardır: Alternatif Veri Akışları (Alternate Data Streams - ADS).
Başlangıçta masum bir uyumluluk özelliği olarak tasarlanan ADS, günümüzde siber saldırganların zararlı yazılımları (malware), araçları veya çalınan verileri antivirüslerden (AV) ve sistem yöneticilerinden gizlemek için kullandığı popüler bir tekniktir.
ADS (Alternatif Veri Akışı) Nedir?
NTFS dosya sistemi, her dosya için birden fazla "veri akışına" izin verir. Bir dosyaya tıkladığınızda veya boyutuna baktığınızda gördüğünüz şey, aslında adsız (unnamed) ana veri akışıdır ($DATA). Ancak NTFS, bu ana akışın arkasına, dosyanın boyutunu değiştirmeden başka veri akışları (gizli dosyalar, metinler, çalıştırılabilir kodlar) eklenmesine olanak tanır.
Microsoft bu özelliği ilk olarak Macintosh'un (Apple) HFS (Hierarchical File System) dosya sistemiyle uyumluluk sağlamak için geliştirmiştir. Ancak siber güvenlik dünyasında bu özellik, verileri "görünmez" kılmak için mükemmel bir saklanma alanına dönüşmüştür.
Siber Saldırganlar ADS'yi Nasıl Kullanır?
Saldırganlar sisteme sızdıktan sonra kalıcılık (persistence) sağlamak zorundadır. Standart bir trojan.exe dosyasını masaüstüne bırakmak yerine, bu dosyayı sistemde zaten var olan meşru bir dosyanın (örneğin hesap_makinesi.txt) arkasına gizleyebilirler.
Güvenlik Riskleri:
Boyut Değişmezliği: Ana dosyanın (host file) boyutu, arkasına ne kadar büyük bir veri akışı eklenirse eklensin Windows Gezgini'nde aynı görünür.
Görünmezlik: Gizlenen veri akışları standart
dirkomutuyla veya dosya gezginiyle listelenemez.AV Atlatma (Evasion): Bazı eski nesil veya yanlış yapılandırılmış antivirüs çözümleri, dosyaları tararken yalnızca ana akışı kontrol edip alternatif akışları atlayabilir.
Uygulamalı Laboratuvar Senaryosu: ADS Oluşturma ve Analiz Etme
Aşağıdaki adımları Windows komut satırında (CMD) uygulayarak ADS'nin nasıl çalıştığını analiz edebiliriz.
Adım 1: Masum Bir Dosya Oluşturma
Önce standart bir metin dosyası oluşturalım ve boyutuna bakalım.
C:\Lab> echo "Bu tamamen normal bir metin belgesidir." > normal_dosya.txtC:\Lab> dir normal_dosya.txtGözlem: Dosya boyutu yaklaşık 43 byte olarak görünecektir.
Adım 2: ADS İçine Gizli Veri Yazma
Şimdi bu dosyanın arkasına, gizli_veri.txt adında bir akış (stream) ekleyelim.
C:\Lab> echo "Bu mesaj sistem yöneticilerinden gizlenmistir! - Gizli Payload" > normal_dosya.txt:gizli_veri.txt
Adım 3: İllüzyonu Test Etme
Dosyanın içeriğini okumayı ve boyutunu kontrol etmeyi deneyelim.
C:\Lab> type normal_dosya.txtC:\Lab> dir normal_dosya.txtGözlem: Dosya boyutu hala 43 byte'tır! İçeriği okuduğumuzda sadece 1. adımdaki masum metni görürüz. Gizli verimiz başarıyla saklanmıştır.
Adım 4: Gizli Veriyi Ortaya Çıkarma
Gizlenmiş akışı okumak için PowerShell veya Notepad kullanmamız gerekir.
C:\Lab> notepad normal_dosya.txt:gizli_veri.txt
Bu komut, gizli akıştaki mesajı Not Defteri ile açacaktır.
Tehdit Avı (Threat Hunting) ve SOC Yaklaşımı
Sistem yöneticileri ve SOC (Security Operations Center) analistleri için bu gizli akışları tespit etmek kritik bir yetenektir.
1. Komut Satırı ile Tespit
Windows'ta dizin içindeki akışları görmek için /r parametresi kullanılır.
C:\Lab> dir /r
Bu komutun çıktısında normal_dosya.txt:gizli_veri.txt:$DATA satırını açıkça görebilirsiniz. PowerShell üzerinde Get-Item komutunu kullanarak da akışları tespit edebilirsiniz:
PS C:\Lab> Get-Item -Path .\normal_dosya.txt -Stream *
2. Sysmon ve Wazuh ile İzleme (Event ID 15)
Kurumsal bir laboratuvar veya gerçek bir kurum ağında, her dosyayı manuel olarak kontrol etmek imkansızdır. Bu noktada Sysmon devreye girer.
Sysmon, Olay Kimliği (Event ID) 15 - FileCreateStreamHash ile bir dosyaya alternatif veri akışı eklendiğinde log üretir.
Saldırgan internetten bir zararlı yazılım indirdiğinde ve bunu ADS ile gizlediğinde, Sysmon bu akışın (stream) hash özetini çıkararak SIEM (örneğin Wazuh) sunucusuna gönderir.
SOC analisti, Wazuh paneli üzerinden gelen Event ID 15 loglarını filtreleyerek şüpheli
.exe,.vbsveya.ps1uzantılı akış oluşturma işlemlerini anında tespit edebilir ve ağdaki tehdidi izole edebilir.
Sonuç
Alternatif Veri Akışları, işletim sisteminin mimarisini iyi bilen saldırganların gücünü gösteren klasik bir örnektir. Siber güvenlik, sadece güvenlik yazılımları kurmak değil; işletim sisteminin, ağın ve dosya sistemlerinin en temel seviyede nasıl çalıştığını ve nasıl manipüle edilebileceğini anlamaktır.
Harika, 9. ve 11. sınıf öğrencilerinin bir saldırganın sistemde nasıl gizlenebileceğini uygulamalı olarak kavrayabilmesi için 15 makinelik laboratuvar ortamınızda doğrudan devreye alabileceğiniz uçtan uca bir kural seti hazırladım.
Bu senaryonun başarılı olması için uç noktalarda (Windows makinelerde) Sysmon'un kurulu ve Wazuh Agent'ın Sysmon loglarını toplamak üzere yapılandırılmış olması gerekir.
İşte laboratuvarda adım adım uygulayabileceğiniz tespit mimarisi:
1. Sysmon Yapılandırması (Uç Noktalar İçin)
Wazuh'un ADS oluşturma olayını yakalayabilmesi için Sysmon'un Event ID 15 (FileCreateStreamHash) olaylarını loglaması gerekir. Laboratuvardaki istemcilere Sysmon kurarken veya mevcut konfigürasyonlarını güncellerken aşağıdaki XML bloğunun yapılandırma dosyasında (örneğin sysmonconfig.xml) olduğundan emin olun.
<Sysmon schemaversion="4.50"> <EventFiltering> <FileCreateStreamHash onmatch="include"> <TargetFilename condition="contains">:</TargetFilename> </FileCreateStreamHash> </EventFiltering></Sysmon>2. Wazuh Agent Yapılandırması (ossec.conf)
Laboratuvar makinelerindeki Wazuh ajanlarının Sysmon loglarını merkeze iletebilmesi için C:\Program Files (x86)\ossec-agent\ossec.conf dosyasında şu bloğun bulunduğunu teyit edin:
<localfile> <location>Microsoft-Windows-Sysmon/Operational</location> <log_format>eventchannel</log_format></localfile>3. Wazuh Özel Kural Seti (Custom Rule)
Wazuh sunucusuna (Manager) SSH ile bağlanın ve /var/ossec/etc/rules/local_rules.xml dosyasını düzenleyerek aşağıdaki kuralı ekleyin.
Bu kural, Wazuh'un varsayılan Sysmon Event 15 kuralını (genellikle 61615) temel alır ve hedef dosya adında bir ADS işareti olan . ve : karakterlerini arayarak alarm üretir. Siber güvenlik müfredatına uygun olması adına MITRE ATT&CK ID'sini de (T1564.004) kurala dahil ettim.
<group name="windows, sysmon, ads, threat_hunting,"> <rule id="100100" level="10"> <if_sid>61615</if_sid> <field name="win.eventdata.TargetFilename">:</field> <description>Tehdit Avı: Şüpheli NTFS Alternatif Veri Akışı (ADS) Oluşturuldu. Hedef: $(win.eventdata.TargetFilename)</description> <mitre> <id>T1564.004</id> </mitre> <group>defense_evasion, hidden_files,</group> </rule> <rule id="100101" level="12"> <if_sid>100100</if_sid> <field name="win.eventdata.TargetFilename">\.exe$|\.bat$|\.ps1$|\.vbs$|\.dll$</field> <description>KRİTİK: Alternatif Veri Akışı (ADS) içerisine çalıştırılabilir bir dosya (.exe, .ps1, .vbs vb.) gizleniyor! Hedef: $(win.eventdata.TargetFilename)</description> <mitre> <id>T1564.004</id> </mitre> <group>defense_evasion, malware, critical,</group> </rule></group>Kuralı uyguladıktan sonra Wazuh servisini yeniden başlatmayı unutmayın:
systemctl restart wazuh-manager
4. Sınıf İçi Uygulama ve Doğrulama
Kurulumlar tamamlandıktan sonra, laboratuvardaki herhangi bir makinede daha önce oluşturduğumuz senaryoyu çalıştırın:
C:\> echo "Zararli Payload" > normal_belge.txt:gizli_payload.exe
Bu komut çalıştırıldığı anda:
İstemcideki Sysmon,
:gizli_payload.exeakışını yakalayıp Event ID 15 olarak Windows Olay Görüntüleyicisi'ne yazacaktır.Wazuh Agent bu logu saniyesinde okuyup sunucuya iletecektir.
Yazdığımız 100101 numaralı kural tetiklenecek ve Wazuh Dashboard üzerinde Seviye 12 (KRİTİK) bir uyarı olarak düşecektir.
Öğrenciler, saldırganların bir dosyayı gizlemeye çalıştığı tam o saniyede, SOC ekranında bu faaliyetin nasıl kırmızı bir alarma dönüştüğünü canlı olarak izleyebilirler.
Yorumlar