Konudaki Başlıklar
[TR] NTFS Dosya Sistemi Analizi | Windows Forensics
Merhaba değerli okurlar, bu yazımızda NTFS Dosya sisteminden ve adli analizinden bahsedeceğiz. Tanımlamalarla giriş yapalım
NTFS DOSYA SİSTEMİ NEDİR ?
NTFS (New Technology File System), Windows’un FAT dosya sisteminin yerini alması için geliştirdiği bir dosya sistemidir. Birçok bakımdan FAT dosya sistemine üstün ve daha karmaşık bir dosya sistemidir. Yapısında Klasörler, dosyalar, Önyükleme verileri, Dosya tahsis bitmapleri ve metadata verilerini barındırır.
NTFS Dosya Sistemi Özellikleri
- Yüksek hacimli diskler içerisinde kullanılabilir
- Yer kazanmak için sıkıştırmayı destekler
- Yerel güvenlik imkanı sunar
- Dosya ve Dizinler farklı fiziksel disklerin içerisine yerleştirilebilir.
- Windowsun boot edilme süresini azaltır.
- FAT Dosya sistemine göre daha güvenlidir.
- Kurtarılabilir yapısı vardır.
- Uzun dosya isimlerini destekler
NTFS dosya sistemi hakkında veriler MFT tarafından depolanmaktadır.
MASTER FILE TABLE (MFT) NEDİR ?
NTFS dosya sistemi, içerisinde MFT (Master File Table) adı verilen tabloyu barındırmaktadır. MFT, sistemde bulunan tüm dosya ve dizinler hakkında bilgi içeren ve dosya adı $MFT olarak bilinen bir tablodur. Bu tabloda sistem üzerindeki dosyalara ait 16 bitlik sıra numarası tanımlanmıştır. Ve bu sıra numaraları benzersizdir, sürekli artandır. MFT kaydı, Entry Header, Attributes ve Unused Space kısımlarını içerisinde bulundurur.
MFT içerisinde çeşitli öznitelik türleri bulunmaktadır. Burada bize lazım olan kısımlar Standart Information ve File Name dosyalarıdır.
$STANDART_INFORMATION
Dosya ve Dizinler hakkında zaman damgalarını, sahiplik bilgilerini ve metaverileri barındıran attribute’dür. Kullanıcı düzeyindedir, değiştirilebilir. İçerisinde 4 adet zaman damgası (oluşturulma, değiştirilme, son kullanılma, MFT son kullanılma tarihi) bulundurur.
$FILE_NAME
Dosya ve Dizinlerin isimlerini (UTF-16 formatında) , zaman damgalarını barındırır. Sistem çekirdeği tarafından değiştirilmektedir. İçerisinde 4 adet zaman damgası (oluşturulma, değiştirilme, son kullanılma, MFT son kullanılma tarihi) bulundurur.
$USNJRNL
Sistem güncellemesi gibi sistemde değişiklik yapılırken Microsoft’un güvenilirliğini arttırmak maksadıyla dosya sisteminde yapılan değişikliklerin kaydını tutar. Bir problem olması durumunda ise kendini eski haline getirir
$LOGFILE
Dosya ve dizinler ile ilgili bilgi tutmasının yanı sıra sistem dosyalarının bozulmaması için kayıt tutan ve herhangi bir çökme anında yapılan son işlemleri kayıtlar üzerinden tekrar ederek bilgi kurtarmaya yarayan sistem dosyasıdır.
NTFS DOSYA SİSTEMİNİN ADLİ ANALİZİ
Tanımlamaları aktardıktan sonra artık analiz işlemlerine geçebiliriz. İlk olarak analiz edeceğimiz dosyaların az önce bahsettiğimiz $MFT, $LOGFILE, $USNJRL olduğunu belirtelim. Bu dosyaların hangi yolda bulunduğunu aşağıda belirttim,
$MFT
C:\$MFT
$LOGFILE
C:\$LOGFILE
$USNJRNL
C:\$Extend\UsnJrnl
Buradaki dosyaları FTK Imager yazılımı yardımı ile çekip kaydedeceğiz. Bunun için FTK Imager isimli yazılımımızı çalıştırıyoruz. Disk imajı aldıktan sonra belirtilen dosyaları belirtilen yollardan bularak “Export Files” seçeneği ile dışarı çıkartıyoruz.
İnceleme yapacağımız dosyaları çıkarttığımıza göre artık ANJP isimli aracımızla inceleme işlemlerine geçebiliriz. Aracımızı indirip kurduktan sonra çalıştırıyoruz. Karşımıza aşağıdaki gibi bir ekran gelecek.
bu ekranda “Case Name” kısmına bir isim verip Path kısmında çıktı dosyasının konumunu belirtiyoruz. Daha sonra az önce çıkarttığımız sistem dosyalarını ilgili kutucuklarda belirtiyoruz.
Ardından aşağıdan “options” penceresini açıyoruz. Burada analiz edeceğimiz dosyaları aldığımız bilgisayarın zaman dilimini seçiyoruz, Apply diyerek çıkıyoruz.
Artık parse işlemine başlayabiliriz. “parse” butonuna basıyoruz ve işlem başlıyor. (İşlemin tamamlanması yarım saat kadar sürebilir.)
parse işlemini başlattıktan 29 dakika sonra işlem tamamlandı.
Üst panelden “reports” kısmına gelip çıkartılan .db dosyamızı seçip “Connect” diyoruz. ve sol tarafa tablolar yükleniyor
şimdi ise mft isimli tablomuzu incelemeye başlayalım. üstüne çift tıkladığımızda aşağıdaki gibi tablo listeleniyor. Burada işletim sistemindeki tüm dosya ve dizinlere ait veriler listeleniyor.
Aynı zamanda çeşitli sütunlar da gözümüze çarpıyor. Bu sütunlarda dosyaya ait oluşturulma, değiştirme, MFT kayıt ve son erişim tarihleri bulunmakta.
Sütunların devamında FileName‘e ait zaman damgalarını, dosyanın türü gibi verileri de görebiliyoruz
Burada bulunan veriler elbette dışarı çıkartılabilir. Pencerede yer alan “Export” kısmından bu verileri .txt ve .xlsx formatında export edebiliriz
Şimdi ise LOGFILE dosyasının içeriğine göz atalım sol taraftaki tablodan “logfile” altındaki “logfile events” > “transaction events” kısmına geliyoruz. Burada oluşturulma, değiştirilme ve silinme verileri bulunmakta. Aynı zamanda dosyaların konumlarını da görebiliyoruz. Yine zaman damgaları ve dosya türü bilgisi de mevcut.
“Creations” tablosundan oluşturulma verilerini görüntüleyebiliriz.
Aynı şekilde “Deletions” tablosundan silinenlere bakabiliriz.
Kullandığımız uygulama bize filtre imkanı da sunuyor. Az önce bahsettiğimiz “Export” butonunun hemen yanındaki “Filter” butonunu bu amaçla kullanabiliriz. Kolona, dosya adına, türe göre filtreleme imkanı sunmakta.
Başlığı burada noktalıyorum. Sonraki başlıklarda görüşmek dileğiyle…