Adli Bilişim

USBSTOR Kayıtları: Adli Bilişim Perspektifinden Detaylı Teknik Analiz

USBSTOR kayıtları, Windows işletim sistemlerinde USB depolama cihazlarının bağlantılarını, kullanımlarını ve özelliklerini belirlemek için kritik öneme sahip adli bilişim artifactlarıdır. Bu kayıtlar, forensic incelemelerde cihaz bağlantı zamanları, cihaz türleri, seri numaraları ve kullanım geçmişi gibi değerli bilgileri ortaya çıkarır. Bu teknik analiz dokümanı, USBSTOR kayıtlarının mimari yapısını, veri içeriğini, analiz yöntemlerini ve adli bilişim perspektifinden önemini detaylı olarak incelemektedir.

USBSTOR, Windows işletim sistemlerinde USB Mass Storage Class (MSC) sürücüsünün bir bileşeni olarak, USB depolama cihazlarının tanımlanması, yüklenmesi ve yönetilmesi amacıyla kullanılan anahtar Registry yapısıdır. Bu sürücü, Windows PnP (Plug and Play) mimarisi içinde konumlandırılmış olup, USB depolama aygıtlarıyla iletişimi sağlayan katmanlı bir yapının parçasıdır.

USB aygıt tanımlama katmanları:

  • Hardware Abstraction Layer (HAL) → USB Host Controller Interface
  • USB Core Stack → USB Hub Sürücüleri → USB Mass Storage Sürücüsü → USBSTOR
  • Storage Class Driver → Disk Sürücü Katmanı → Mantıksal Birim Sürücüsü

Windows işletim sistemi, bir USB depolama cihazı bağlandığında, aşağıdaki işlem akışını izler:

  1. USB cihaz fiziksel olarak bağlanır ve elektriksel olarak tanımlanır
  2. Hub sürücüsü cihazdan tanımlayıcı bilgileri alır
  3. PnP yöneticisi uygun sürücüyü belirler (USBSTOR.SYS)
  4. USBSTOR sürücüsü yüklenir ve cihaz ile iletişim kurar
  5. Windows Registry'de cihaz bilgileri ve özellikleri kaydedilir
  6. Mantıksal disk sürücüleri (disk.sys) yüklenir ve birimler bağlanır
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USBSTOR

Bu konum, PnP alt sisteminin USB depolama cihazlarının donanım kimliklerini ve kurulum parametrelerini sakladığı hiyerarşik veritabanıdır. CurrentControlSet aktif sistem yapılandırmasına işaret eden dinamik bir bağlantıdır ve gerçekte aşağıdaki konumlardan birine yönlendirilir:

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002

Windows başlangıç süreci sırasında, LastKnownGood yapılandırması temelinde hangi ControlSet'in kullanılacağı belirlenir ve bu yapılandırma CurrentControlSet sembolik bağlantısı ile erişilebilir hale getirilir.

2.1. USB Aygıt Tanımlama ve İlişkilendirme

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB

Bu alt anahtar, sistem tarafından tanımlanan tüm USB aygıtlarının Vendor ID (VID) ve Product ID (PID) bilgilerini içerir. Her USB aygıtı, benzersiz bir VID/PID kombinasyonuyla ve Interface Descriptor bilgileriyle temsil edilir.

2.2. Mantıksal Birim Bağlantıları

HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices

Biçimlendirilmiş bölümlerin mantıksal sürücü harflerine eşleştirildiği binary veri yapılarını içerir. Her değer, Volume GUID ve sürücü harfi atamaları için binary disk tanımlayıcı veri yapılarını (disk signature, partition offset) barındırır.

2.3. Sürücü Yükleme Parametreleri

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR

USB depolama sürücüsünün yükleme parametrelerini, Windows başlangıç davranışını ve çalışma modlarını tanımlar.

2.4. Cihaz Sınıfı Eşleştirmeleri

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceClasses

Cihaz arabirim GUID'lerine (örn. {53f56307-b6bf-11d0-94f2-00a0c91efb8b} - disk cihazları için) göre gruplandırılmış, tüm bağlanan cihazların kapsamlı bir veritabanını içerir.

2.5. Cihaz Güvenlik Politikaları

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\StorageDevicePolicies

USB depolama cihazlarıyla ilgili yazma koruması, erişim kısıtlamaları gibi sistem genelindeki politikaları tanımlar.

2.6. USB Cihaz Erişim Denetleyicileri

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Portable Devices

USB taşınabilir cihazlar için WPD (Windows Portable Devices) arabirim ve erişim bilgilerini içerir.

USBSTOR altındaki anahtar isimleri katı bir hiyerarşik yapı şablonu takip eder:

Disk&Ven_{VendorID}&Prod_{ProductID}&Rev_{RevisionCode}\{UniqueInstanceID}

Bu yapıyı oluşturan bileşenler şu şekilde elde edilir:

  • Ven_{VendorID}: USB descriptor'ından alınan Vendor String (ASCII)
  • Prod_{ProductID}: USB descriptor'ından alınan Product String (ASCII)
  • Rev_{RevisionCode}: USB descriptor'ından alınan bcdDevice değerinin formatlanmış hali
  • {UniqueInstanceID}: Cihaz seri numarası veya şu formatta otomatik oluşturulan değer: xxxxxxxxxx&0
    • Windows 7 öncesi: 8 karakterli seri numarası
    • Windows 7 ve sonrası: 12+ karakterli genişletilmiş seri numarası

Örnek bir USBSTOR anahtar yapısı:

USBSTOR\Disk&Ven_SanDisk&Prod_Ultra&Rev_1.00\0123456789ABCDEF&0

Bu örnekte:

  • Disk: Aygıt sınıfı
  • Ven_SanDisk: Üretici bilgisi (SanDisk)
  • Prod_Ultra: Ürün modeli (Ultra)
  • Rev_1.00: Firmware/donanım sürümü
  • 0123456789ABCDEF&0: Benzersiz cihaz tanımlayıcısı (seri numarası)

USBSTOR kayıtlarındaki her benzersiz cihaz kimliği, aşağıdaki yapıda alt anahtarlar içerir:

2.1. Properties Alt Anahtarı

HKLM\SYSTEM\CurrentControlSet\Enum\USBSTOR\...\{UniqueInstanceID}\Properties

Bu anhtarın altında {83da6326-97a6-4088-9453-a1923f573b29} şeklinde GUID değerleri bulunur ve bu değerler belirli property kategorilerine işaret eder:

  • 0x0064: DeviceData kategorisi
    • 0x0001 (REG_SZ): Service
    • 0x0002 (REG_SZ): Enumeration Type
    • 0x0003 (REG_BINARY): Hardware IDs
    • 0x0004 (REG_BINARY): Compatible IDs
    • 0x0006 (REG_BINARY): ContainerID
  • 0x0066: Device Driver kategorisi
    • 0x0002 (REG_SZ): Driver Date
    • 0x0003 (REG_SZ): Driver Version
    • 0x0004 (REG_BINARY): Driver Description
  • 0x0065: Device Setup kategorisi
    • 0x0002 (REG_BINARY): DeviceInstallDate - Cihazın ilk takıldığı tarih bilgisini içerir
    • 0x0003 (REG_BINARY): FirstInstallDate - İşletim sisteminde cihazın ilk kurulum tarihi

Bu veri yapıları binary formatta saklanır ve genellikle FILETIME formatında kodlanmış zaman damgalarını içerir.

2.2. Device Parameters Alt Anahtarı

HKLM\SYSTEM\CurrentControlSet\Enum\USBSTOR\...\{UniqueInstanceID}\Device Parameters

Bu anahtar, depolama cihazının fiziksel ve mantıksal özelliklerini tanımlayan parametreleri içerir:

  • Partmgr DeviceDesc (REG_SZ): Aygıt tanımlayıcı bilgisi
  • Partmgr DeviceType (REG_DWORD): Cihaz türü kodu (genellikle 0x00000007 sabit disk için)
  • Partmgr DeviceStatus (REG_DWORD): Cihaz durumu kodu

2.3. LogConf Alt Anahtarı

HKLM\SYSTEM\CurrentControlSet\Enum\USBSTOR\...\{UniqueInstanceID}\LogConf

Bu anahtar, cihazın kaynak atama yapılandırması ile ilgili bilgileri içerir ve genellikle depolama cihazları için boş olur.

3.1. Temel Tanımlayıcı Değerler

  • DeviceDesc (REG_SZ): Kullanıcı tarafından görülebilen aygıt tanımlayıcısı
  • HardwareID (REG_MULTI_SZ): PnP cihaz tanımlama dizesi
  • CompatibleIDs (REG_MULTI_SZ): Sürücü uyumluluğu için alternatif tanımlama dizeleri
  • ParentIdPrefix (REG_SZ): Fiziksel USB port kimliğini belirleyen alfanumerik tanımlayıcı
  • Service (REG_SZ): Sürücü hizmet adı (genellikle "USBSTOR")
  • Driver (REG_SZ): Cihaz sürücüsünün INF dosyasına yönelik referans

3.2. Advanced Forensic Değerleri

LastWrite Zaman Damgası Analizi

Registry anahtarlarının LastWrite zamanları, $STANDARD_INFORMATION veri yapısında saklanır ve USB cihazıyla ilgili aktivitelerin zamanlamasını belirlemek için kritik öneme sahiptir. Aşağıdaki zaman türleri analiz edilmelidir:

  • {UniqueInstanceID} Anahtarı LastWrite: Cihazın en son oturum açma zamanı
  • {UniqueInstanceID} Anahtarından Önce Yer Alan Son Seviye LastWrite: İlk USB bağlantı zamanı

LastWrite zamanları, Windows registry hücre yapısında depolanan 64-bit FILETIME değerleridir ve 1601-01-01 UTC'den itibaren geçen 100 nanosaniyelik aralıkları temsil eder. Bu zamanlar, USB cihaz aktivitesinin adli zaman çizelgesinde temel noktaları oluşturur.

ContainerID Analizi

Windows 7 ve sonrası işletim sistemlerinde, ContainerID GUID değeri, farklı arayüzler veya sürücüler arasında aynı fiziksel cihazı ilişkilendirmek için kullanılır. Bu, bir USB cihazın içindeki birden fazla fonksiyon (örn. depolama + kart okuyucu) arasında ilişki kurmak için kritik öneme sahiptir.

ContainerID, Windows'un çeşitli registry konumlarında cihaz ilişkilendirmelerini izleme ve birden çok arabirime sahip tek bir fiziksel cihazı tanımlama amacıyla kullanılır.

  • USBSTOR kayıtları basit bir hiyerarşik yapıda saklanır
  • Cihaz seri numaraları genellikle 8 karakterle sınırlıdır
  • Properties alt anahtar yapısı yoktur
  • Zaman damgalarına erişim sınırlıdır
  • Properties alt anahtar yapısı ve GUID temelli organizasyon tanıtıldı
  • DeviceInstallDate ve FirstInstallDate gibi tarih bilgileri eklendi
  • ContainerID kavramı henüz tam olarak uygulanmadı
  • Genişletilmiş seri numarası desteği (12+ karakter)
  • Tam ContainerID desteği
  • DeviceClasses entegrasyonu
  • GUID temelli yapısal organizasyon tam olarak uygulandı
  • USBSTOR.SYS sürücüsü güvenlik düzeltmeleri
  • USB 3.0 cihazlar için geliştirilmiş özellikler
  • Hızlı başlatma (Fast Startup) nedeniyle USB bağlantı zamanları değişimleri
  • USB cihaz engelleme ve kısıtlama politikaları geliştirildi
  • Unified Extensible Firmware Interface (UEFI) Secure Boot entegrasyonu
  • Windows Hello ile USB güvenlik cihazları entegrasyonu
  • ETW (Event Tracing for Windows) USB olay izleme
  • Thunderbolt ve USB-C cihazları için genişletilmiş registry yapıları

1.1. Raw Registry Hive Analizi

USBSTOR kayıtlarını analiz etmek için, sistem SYSTEM hive dosyası adli kopyasının (%WINDIR%\System32\config\SYSTEM) aşağıdaki yöntemlerle incelenmesi gerekir:

  1. Offline Registry Parsing: Registry hive dosyasının doğrudan parse edilmesi
    • Yapi: regf başlık yapısı (4KB)
    • Hücre yapısı: 4B boyut + veri (negatif boyut değeri tahsis edilmiş, pozitif değer serbest hücreyi gösterir)
    • Anahtar Düğüm Yapısı (nk kayıtları): Zaman damgası, alt anahtar sayısı, değer sayısı bilgilerini içerir
  2. Cell Data Kurtarma: Silinmiş Registry hücrelerinin kurtarılması
    • Slack space analizi: Registry hive içindeki tahsis edilmemiş alanlar
    • Registry fragmentlerinin yeniden yapılandırılması
    • Hbin blok analizleri: 4KB bloklarda düzenlenmiş Registry içeriği

1.2. Advanced Timeline Oluşturma

Forensic zaman çizelgesi oluşturmak için şu veri noktaları çıkarılmalıdır:

  1. USBSTOR Anahtarları LastWrite Zamanları
    • Birincil anahtar (%Registry_Offset%\USBSTOR)
    • Cihaza özgü anahtarlar (Disk&Ven_...)
    • Benzersiz örnek kimlikleri ({UniqueInstanceID})
  2. Device Setup Sınıf Kayıtları
    • DeviceInstallDate değeri (\Properties{83da6326-97a6-4088-9453-a1923f573b29}\0065\00002)
    • FirstInstallDate değeri (\Properties{83da6326-97a6-4088-9453-a1923f573b29}\0065\00003)

Bu zamanlar, FILETIME formatında (64-bit değer, 100 nanosaniyelik aralıklar, 1601-01-01 GMT'den beri) saklanır ve forensic analiz için epoch zamanı veya insan tarafından okunabilir bir formata dönüştürülmelidir.

2.1. GUID ve Benzersiz Tanımlayıcı Korelasyonu

Aşağıdaki GUID ve tanımlayıcılar, farklı Registry konumlarındaki USB cihaz verilerini ilişkilendirmek için kullanılır:

  • ContainerID GUID: Aynı fiziksel cihaza ait birden çok arabirimi ilişkilendirir
  • Instance ID: Benzersiz donanım örneği tanımlayıcısı
  • Volume GUID: Biçimlendirilmiş bölüm için benzersiz tanımlayıcı (MountedDevices içinde)
  • Hardware Hash: USB cihazları için oluşturulan hızlı arama tanımlayıcısı

2.2. ParentIdPrefix Analizi ve USB Topology Yapılandırması

ParentIdPrefix değeri, cihazın hangi fiziksel USB portuna bağlandığını belirlemek için kullanılır:

  • İlk karakter, USB hub numarasını (örn. '1', '7')
  • Sonraki karakterler, port indeksi ve yolunu (örn. '&0', '&1&0')

Örnek: 8&21F39B80&0 ParentIdPrefix değerini analiz etmek:

  • '8': Hub controller numarası (8. hub)
  • '21F39B80': Hub instance ID'sinin hash değeri
  • '0': Port indeksi (Hub'ın 0. portu)

3.1. MountedDevices Binary Yapısı Çözümleme

MountedDevices anahtarındaki binary veriler, sürücü harflerini fiziksel cihazlara bağlayan kritik bilgileri içerir. Bu verilerin formatı:

\DosDevices\X: = [Binary Data]

Binary veri yapısı (Windows Vista ve sonrası):

  • İlk 4 bayt (0x00-0x03): Signature tipi kodlaması
    • 0x00000000: MBR veya GPT disk imzası
    • 0x00000001: NTFS yükselme sayısı
    • 0x00000002: FAT volume ID
  • Sonraki baytlar:
    • MBR diskleri için (0x00000000):
      • 0x04-0x07: 32-bit MBR disk imzası
      • 0x08-0x0F: 8-byte başlangıç ofset
    • GPT diskleri için (0x00000000):
      • 0x04-0x13: GPT bölüm GUID (128-bit)
    • NTFS için (0x00000001):
      • 0x04-0x07: 32-bit NTFS yükselme sayısı
    • FAT için (0x00000002):
      • 0x04-0x07: 32-bit Volume ID

3.2. Volume Serial Number ve Disk İmza Korelasyonu

USB cihazlar için çapraz doğrulama yapmak üzere şu değerler analiz edilmelidir:

  • Disk İmzası: MBR'nin ilk sektöründeki ofset 0x01B8'de bulunan 4 baytlık değer
  • Volume Serial Number: Başlangıç sektöründeki çeşitli ofsetlerde bulunan değer
    • NTFS: 0x048'den başlayan 8 bayt
    • FAT32: 0x043'den başlayan 4 bayt
    • FAT16: 0x027'den başlayan 4 bayt
  • Partition Table: MBR'nin ilk sektöründeki ofset 0x01BE'den başlayan yapı

Windows Olay Günlükleri, USB cihazların takılması ve çıkarılmasına ilişkin önemli olayları kaydeder ve USBSTOR Registry kayıtlarıyla ilişkilendirilebilir:

1.1. Microsoft-Windows-DriverFrameworks-UserMode/Operational

  • Olay ID 2003: USB cihazın takılması
  • Olay ID 2100: USB cihazın çıkarılması
  • Olay ID 2102: Cihaz sürücüsünün yüklenmesi

1.2. Microsoft-Windows-Kernel-PnP/Configuration

  • Olay ID 400: Cihaz ilk kurulumu
  • Olay ID 410: Cihaz konfigürasyonu değişikliği

2.1. Microsoft-Windows-USB-USBHUB3/Operational

  • Olay ID 43: USB cihaz bağlantısı
  • Olay ID 44: USB cihaz ayrılması
  • Olay ID 76: USB cihaz durumu değişikliği

2.2. Microsoft-Windows-DeviceSetupManager/Admin

  • Olay ID 112: Cihaz kurulumu başlatılması
  • Olay ID 121: Cihaz kurulumu tamamlanması
  • Olay ID 131: Cihaz kurulumu hatası

Bu olay kayıtları, USBSTOR Registry kayıtlarında bulunan zamanlar ile eşleştirilerek, cihaz bağlantısı ve kullanımı hakkında daha kesin bir adli zaman çizelgesi oluşturulmasına olanak tanır.

1.1. Doğrudan Binary Düzenleme Yöntemleri

  • Registry File Header Manipulation: regf başlık alanının değiştirilmesi
  • Cell Allocation Manipulation: Hücre tahsis bayraklarının değiştirilmesi
  • Checkpoint Manipulation: Registry transaction log ve checkpoint verilerinin değiştirilmesi

1.2. Dolaylı Manipülasyon Teknikleri

  • PnP Hizmet Konfigürasyonu: USB cihaz algılamasının devre dışı bırakılması
  • Driver Manipulation: USBSTOR.SYS ve DISK.SYS sürücülerinin modifikasyonu
  • Registry Filter: RegFilter sürücüsü kullanarak gerçek zamanlı Registry erişimini değiştirme
  • Shadow Registry: Asıl Registry'nin yanında alternatif Registry oluşturma

2.1. Zorunlu Artefact Paternleri

USB manipülasyon araçlarının kullanımı, şu artefactları bırakır:

  • Log Entries: setupapi.dev.log'daki eksik veya değiştirilmiş kayıtlar
  • USBOblivion Registry Artefacts: Silinen USBSTOR anahtarlarının izleri
  • Timestomping Izleri: LastWrite zamanlarında tutarsızlıklar veya toplu değişimler
  • Registry Transaction Log Anomalileri: \System32\config\SYSTEM.LOG dosyasındaki tutarsızlıklar

2.2. Registry Anomali Tespiti ve İstatistiksel Analiz

Anormal Registry davranışlarını tespit etmek için şu metrikleri izleyin:

  • LastWrite Zaman Kümeleşmesi: Belirli bir zaman diliminde çok sayıda Registry anahtarının LastWrite zamanlarının değişmesi
  • USB Bağlantı Zamanlarının Dağılımı: USB aktivitesinin zamansal dağılımındaki anormallikler
  • DeviceDesc ve FriendlyName Tutarsızlıkları: Aynı cihaz için farklı tanımlayıcılar
  • Eksik Korelasyon: USBSTOR kayıtları ile DeviceClasses arasındaki eksik ilişkiler

3.1. Multi-Kaynak Timeline Analizi

Anti-forensic teknikleri aşmak için, şu kaynaklardan oluşturulan zaman çizelgelerini karşılaştırın:

  • Registry LastWrite Zamanları: USBSTOR, DeviceClasses, USB anahtarlarından
  • Dosya Sistemi Zaman Damgaları: setupapi.dev.log, driver.cab dosyaları
  • Windows Olay Günlükleri: Plug and Play olayları, USB bağlantı olayları
  • Volume Shadow Copy TimeStamps: VSC anlık görüntülerindeki Registry değişiklikleri
  • $MFT Zaman Damgaları: USB ile ilişkili sistemde oluşturulan dosyaların zaman damgaları

3.2. Registry Temporal Rekonstrüksiyon

Registry yapısını geçmiş zamanlardan yeniden oluşturmak için:

  1. Volume Shadow Copy Extraction: VSC içinden Registry hive dosyalarını çıkarma
  2. Registry Transaction Log Analizi: .LOG ve .LOG1/2 dosyalarından işlem kayıtlarını analiz etme
  3. Deleted Cell Recovery: Silinmiş hücreleri kurtarma ve arşivlenen Registry dosyalarını eski sürümlerle karşılaştırma
  4. Alternate Data Stream Analizi: ADS akışlarında saklanan Registry yedeklerini inceleme

Windows Setup API, cihaz kurulumlarını %windir%\inf\setupapi.dev.log dosyasında kaydeder. Bu günlükler, aşağıdaki bilgileri içerir:

  • USB cihazının takıldığı zaman damgası
  • Cihaz tanımlayıcı bilgileri (VID, PID, seri numarası)
  • Sürücü kurulum adımları ve sonuçları

Prefetch dosyaları (%windir%\Prefetch\*.pf), USB sürücülerden çalıştırılan uygulamaların izlerini şu bilgilerle birlikte içerebilir:

  • Çalıştırılan uygulamanın adı ve yolu
  • Son çalıştırma zamanı ve çalıştırma sayısı
  • Erişilen dosya ve dizin yolları (USB yolu dahil)

Windows Explorer kısayol (LNK) dosyaları, USB cihazlardan erişilen dosyalara dair önemli bilgiler içerir:

  • Hedef dosya yolu (sürücü harfi dahil)
  • İlk ve son erişim zamanları
  • Hedef dosyanın MAC adresi ve volüm seri numarası

Windows 7 ve sonrası için JumpList dosyaları, USB cihazlara ilişkin kullanım geçmişini kaydeder:

  • AutomaticDestinations ve CustomDestinations dosyaları
  • USB cihazlardaki dosyalara yapılan erişimler
  • Uygulama spesifik USB kullanım geçmişi

Windows Explorer görünüm ayarları (ShellBags), USB cihazların kullanımını gösteren kanıtlar içerir:

  • USB sürücülerin görüntülenme şekli ve zamanı
  • USB içeriğinin gezinilme geçmişi
  • Klasör görünüm tercihleri ve konumları

Web tarayıcıları ve uygulamalar, USB cihazlardan açılan dosyalar veya cihazlarla ilgili erişim izleri içerebilir:

  • Tarayıcı indirme geçmişi (USB sürücülere indirilmiş dosyalar)
  • Dosya seçim diyaloglarında gezinme geçmişi
  • Uygulama günlükleri ve son kullanılan dosya listeleri

Windows, USB depolama cihazlarının otomatik başlatma davranışlarını da kaydeder:

  • HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2 anahtarı
  • Otomatik çalıştırma tercihleri ve geçmişi
  • Cihaz tanımlama bilgileri ve kullanıcı tercihleri

Windows Etkinlik Günlüğü ve PowerShell komut geçmişi, USB cihazlarla ilgili ekstra veriler sağlayabilir:

  • USB cihazlarla etkileşimde bulunan PowerShell komutları
  • Get-WmiObject kullanılarak USB cihazların sorgulanma kayıtları
  • Etkinlik izleyici ile USB olaylarının izlenmesi
  • RegRipper: USBSTOR anahtarlarını otomatik olarak ayıklar ve analiz eder
  • USBDeview: Bağlanan USB cihazlarının bilgilerini görüntüler
  • Bulk Extractor: Elektronik ortamlardan USB tanımlayıcıları çıkarır
  • Hindsight: Chrome/Chromium tarayıcı geçmişinden USB ile ilgili erişimleri analiz eder
  • EnCase Forensic: Kapsamlı USB artefakt analizi ve timeline oluşturma
  • X-Ways Forensics: Gelişmiş Registry analizi ve USB cihaz analizi
  • FTK (Forensic Toolkit): USB cihaz kullanım verileri ayıklama ve analizi
  • AXIOM: Otomatik USB analizi ve ilişkilendirme
  1. Hierarchical Registry Structure Extraction: Registry hiyerarşisinin tam olarak dokümantasyonu
  2. Device Timeline Construction: Cihaz bağlantı, kurulum ve kullanım zamanlarının kronolojik dokümantasyonu
  3. Cross-Source Validation: USBSTOR kayıtlarının diğer kaynaklarla (olay günlükleri, dosya sistemi) çapraz doğrulanması
  • USB cihaz tanımlayıcıları (VID, PID, seri numarası)
  • Cihaz ilk kurulum ve son bağlantı zamanları
  • İlişkili kullanıcı hesapları ve aktiviteleri
  • Erişilen dosyalar ve dosya aktiviteleri
  • Cihaz özellikleri (kapasite, bölümler, dosya sistemi)
  • Anti-forensic belirtileri veya anormallikler
  • Cihaz sahipliği ve kullanım kanıtı olarak
  • Veri hırsızlığı ve sızıntıları incelemelerinde
  • Yasaklı cihaz kullanımı tespitinde
  • Bilişim suçlarında zaman çizelgesi oluşturmada
  • Registry LastWrite zamanlarının manipülasyon olasılıkları
  • USB cihaz tanımlayıcılarının taklit edilebilirliği
  • Zaman damgası güvenilirliği ve sistem zamanı değişikliklerinin etkisi
  • Multi-faktör kanıt gerekliliği ve çapraz doğrulama önemi

USBSTOR Registry kayıtları, Windows işletim sistemlerinde USB depolama cihazlarının adli analizinde kritik öneme sahiptir. Bu kayıtlar, cihaz tanımlama bilgileri, bağlantı zamanları ve kullanım geçmişi gibi değerli adli bilişim verilerini içerir.

Gelecekteki araştırma alanları şunları içerebilir:

  • USB Type-C ve Thunderbolt cihazları için genişletilmiş Registry yapılarının analizi
  • Bulut entegrasyonlu USB cihazların (Wi-Fi destekli USB sürücüler) adli analizi
  • Şifreli USB depolama cihazlarının tespit ve analiz yöntemleri
  • Windows 11 ve sonrası işletim sistemlerinde USBSTOR yapısındaki değişiklikler
  • USB depolama cihazlarında kullanılan anti-forensic tekniklere karşı geliştirilmiş tespit yöntemleri

Bu doküman, USBSTOR kayıtlarının yapısını, içeriğini ve adli bilişim analizinde kullanımını detaylı olarak açıklamaktadır. Adli bilişim uzmanları için kapsamlı bir referans kaynağı olarak hazırlanmıştır.

  1. Casey, E. (2011). Digital Evidence and Computer Crime: Forensic Science, Computers, and the Internet. Academic Press.
  2. Carvey, H. (2014). Windows Forensic Analysis Toolkit: Advanced Analysis Techniques for Windows 8. Syngress.
  3. Carrier, B. (2005). File System Forensic Analysis. Addison-Wesley Professional.
  4. Microsoft Corporation. (2021). Windows Registry Structure and Function Documentation.
  5. SANS Institute. (2019). USB Forensics and Analysis in Windows Operating Systems.
  6. Altheide, C., & Carvey, H. (2011). Digital Forensics with Open Source Tools. Syngress.
  7. National Institute of Standards and Technology. (2018). Guide to Computer Forensics and Investigations.
  8. Russinovich, M., Solomon, D., & Ionescu, A. (2012). Windows Internals. Microsoft Press.
Adli Bilişim

Windows ShellBags

ShellBags, Windows işletim sisteminde kullanıcıların dosya gezgini tercihlerini saklayan Registry kayıtlarıdır. Bu görünüşte basit yapılar, adli bilişim uzmanları için kullanıcı davranışlarını, erişilen kaynakları ve zaman çizelgelerini belirlemede altın değerinde bilgiler barındırır. Bu makale, ShellBags'in yapısını, adli bilişim analizinde nasıl kullanıldığını ve anti-forensic tekniklere karşı nasıl değerlendirilebileceğini incelemektedir.

ShellBags, kullanıcıların Windows Dosya Gezgini'nde klasörleri nasıl görüntülediğine dair tercihlerini kaydeden Registry tabanlı artifactlerdir. Bu bilgiler şunları içerir:

  • Klasörlerin görünüm modu (liste, ayrıntılar, büyük simgeler, vb.)
  • Sütun genişlikleri ve sütun yapılandırmaları
  • Pencere konumu ve boyutu
  • Dosya sıralama kriterleri
  • Klasör yapılandırmasıyla ilgili diğer özelleştirmeler

Bu veriler, kullanıcı deneyimini iyileştirmek ve kişiselleştirilmiş bir arayüz sunmak için tasarlanmıştır. Kullanıcılar bir klasörü tekrar açtığında, Windows bu bilgileri kullanarak klasörü son tercih edilen görünümde sunar.

Windows sürümlerine göre hafif farklılıklar gösterse de, ShellBags bilgileri temel olarak dört ana Registry konumunda saklanır:

HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\BagMRU
HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Bags
HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\BagMRU
HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags

ShellBags verilerinin yapısı karmaşık ancak anlaşılabilir bir hiyerarşiye sahiptir:

BagMRU alt anahtarları, dosya sistemindeki klasör yapısını yansıtan hiyerarşik bir düzene sahiptir:

  • Kök anahtar: BagMRU
    • Alt anahtarlar: 0, 1, 2, ... (Her bir rakam farklı bir klasör seviyesini temsil eder)
      • Değerler: MRUListEx (Erişim sıralamasını içeren değer)
      • Alt anahtarlar: 0, 1, 2, ... (Alt klasörleri temsil eder)

Her alt anahtar, belirli bir klasörün benzersiz bir tanımlayıcısını (Shell ID) içerir ve bu tanımlayıcı, görünüm bilgilerinin saklandığı ilgili "Bags" kaydına bağlanır.

Bags anahtarı, her bir klasörün görünüm ayarlarını saklayan yapıdır:

  • Kök anahtar: Bags
    • Alt anahtarlar: [Shell ID]
      • Alt anahtar: Shell
        • Değerler: FolderType, Mode, Vid (Klasör görünüm ayarlarını içerir)

ShellBags kayıtları binary formatta saklanır ve doğru analiz için deşifre edilmesi gerekir:

  • Shell ID: Klasörün benzersiz tanımlayıcısı
  • ItemPos Binary: Klasör konumu ve diğer metaveriler
  • MRUListEx: Son erişilen klasörlerin indeks sıralaması

ShellBags kayıtları, dosya sisteminden tamamen silinmiş klasör ve dosyaların varlığının kanıtlanmasında kritik rol oynar:

  • Kalıcı Kayıt Özelliği: Dosya sistemi üzerindeki bir klasör silindiğinde, ShellBags kaydı Registry'de kalır.
  • Silinen Harici Cihaz İçeriğinin Tespiti: Sistemden çıkarılmış harici depolama aygıtlarındaki klasör yapıları tespit edilebilir.
  • Yeniden Adlandırma ve Taşıma İşlemlerinin Takibi: Klasörlerin yeniden adlandırılması veya taşınması durumunda, eski yapı ShellBags kayıtlarında izlenebilir.

ShellBags, kullanıcı aktivitelerinin zaman çizelgesini oluşturmada değerli bilgiler sunar:

  • Son Erişim Zamanları: MRUListEx değerleri, klasörlere erişim sıralamasını gösterir.
  • Zaman Damgaları: Her kayıt, klasörlere erişim zamanı hakkında bilgi içerir.
  • Kullanım Sıklığı: Sık ziyaret edilen klasörler, MRU listesinde daha üst sıralarda yer alır.

ShellBags kayıtları, harici cihazların kullanımıyla ilgili zengin veriler sağlar:

  • Cihaz Tanımlama: Volume Serial Number ve cihaz adı gibi tanımlayıcı bilgiler.
  • Bağlantı Geçmişi: Cihazın ne zaman bağlandığı ve kullanıldığı.
  • İçerik Yapısı: Cihazda bulunan klasör hiyerarşisi.
  • Dosya Türleri: Cihazda bulunan dosya türleri hakkında bilgiler.

Uzak kaynaklara erişimin izleri ShellBags'te saklanır:

  • Ağ Paylaşımları: Erişilen ağ paylaşımlarının tam yolları.
  • Sunucu Bağlantıları: Bağlanılan sunucuların isimleri ve IP adresleri.
  • Bulut Depolama: OneDrive, Dropbox gibi bulut depolama erişimleri.
  • FTP Bağlantıları: FTP sunucularına yapılan bağlantılar ve erişilen dosyalar.

ShellBags zaman damgalarının diğer sistem artifactleri ile korelasyonu:

  • USN Journal: Dosya sistemi değişiklik kayıtları ile karşılaştırma.
  • Event Logs: Sistem olayları ile zaman uyumu analizi.
  • Prefetch/Superfetch: Uygulama çalıştırma verileri ile karşılaştırma.
  • NTFS $MFT: Dosya sistemi kayıtları ile zamanlama korelasyonu.

Silinen veya erişilemeyen klasörlerin yapısının yeniden oluşturulması:

  • Hiyerarşik Yapı Çıkarımı: BagMRU anahtarlarından klasör hiyerarşisinin çıkarılması.
  • İsim Çözümleme: Shell ID değerlerinden klasör isimlerinin elde edilmesi.
  • İlişkisel Analiz: Klasörler arası ilişkilerin belirlenmesi.
  • Zaman Bazlı Sıralama: Oluşturma ve erişim zamanlarına göre kronolojik sıralama.

Kullanıcı davranışlarının ortaya çıkarılması ve profillenmesi:

  • Erişim Sıklığı Analizi: En sık erişilen klasörlerin belirlenmesi.
  • Tercih Edilen Görünüm Modları: Kullanıcının klasörleri nasıl görüntülemeyi tercih ettiği.
  • Dosya Organizasyon Yapısı: Kullanıcının dosyaları nasıl organize ettiği.
  • Zaman Bazlı Aktivite Modelleri: Kullanıcının hangi zamanlarda aktif olduğu.

Faillar tarafından ShellBags kayıtlarının silinmesi veya değiştirilmesi:

  • Özel Registry Temizleyiciler: CCleaner, BleachBit gibi araçlar
  • Registry Editor Kullanımı: Doğrudan Registry üzerinden manuel silme
  • PowerShell/VBS Betikleri: Otomatize edilmiş silme betikleri
  • DLL Enjeksiyonu: Registry API çağrılarını engelleyici araçlar

İleri düzey manipülasyon teknikleri:

  • Offline Registry Düzenleme: Windows dışında Registry hive dosyalarını düzenleme
  • Hexadecimal Editörler: Doğrudan binary düzeyde manipülasyon
  • Hive Değiştirme: Eski bir Registry hive dosyasıyla değiştirme
  • Seçici Silme: Yalnızca belirli kayıtları hedefleyen müdahaleler

İşletim sistemi düzeyindeki anti-forensic teknikler:

  • Kullanıcı Profili Yeniden Oluşturma: Profili tamamen silip yeniden oluşturma
  • Windows Sıfırlama: "PC'yi Sıfırla" veya "Windows'u Yeniden Yükle" seçenekleri
  • Taşınabilir İşletim Sistemleri: LiveCD/USB üzerinden işlem yaparak iz bırakmama
  • Sanal Makineler: İzole ortamlarda çalışarak ana sisteme iz bırakmama

Yanıltıcı kayıt oluşturma teknikleri:

  • Sahte Zaman Damgaları: Yanıltıcı zaman damgaları oluşturma
  • Aktivite Simülasyonu: Olmayan klasörlere erişim kaydı oluşturma
  • Zaman Çarpıtma: Sistem saatini değiştirerek yanlış zaman kayıtları oluşturma
  • Dosya Sistemi Katmanı: Klasörleri dosya sisteminde görünür kılmadan ShellBags oluşturma

Anti-forensic faaliyetlerin tespit edilmesi için zaman bazlı analizler:

  • İlişkili Artifactler Arasında Tutarsızlık: ShellBags zaman damgaları ile diğer sistem kayıtları arasındaki uyumsuzluklar
  • Registry Son Yazma Zamanı: Registry hive'larının son yazma zamanındaki anormallikler
  • Sistem Restore Noktaları: Restore noktalarıyla Registry zaman damgaları arasındaki tutarsızlıklar
  • Event Log Korelasyonu: Event Log kayıtları ile Registry değişikliklerinin zamansal uyumu

Silinmiş veya değiştirilmiş Registry verilerinin kurtarılması:

  • Unallocated Space Analizi: Disk üzerindeki ayrılmamış alanlarda Registry parçalarının aranması
  • Registry Hive Transaction Logs: Registry işlem günlüklerinden kayıt kurtarma
  • Memory Forensics: RAM içeriğinden Registry kayıtlarının elde edilmesi
  • Volume Shadow Copy: VSS'den eski Registry hive'larının kurtarılması

Sistemin bütünsel olarak değerlendirilmesi:

  • Çapraz Artifact Doğrulama: ShellBags verilerinin diğer artifactlerle doğrulanması
  • Timeline Analizi: Tüm sistem aktivitelerinin birleşik zaman çizelgesi analizi
  • Anomali Tespiti: Normal aktivite modellerinden sapmaların belirlenmesi
  • UserAssist, SRUM, JumpLists: Alternatif kullanıcı aktivite kayıtlarıyla karşılaştırma

ShellBags analizinde kullanılan en gelişmiş araçlar:

  • ShellBags Explorer (Eric Zimmerman): Görsel ShellBags analizi ve navigasyon
  • ShellBag Parser (TZWorks): Kapsamlı ShellBags çözümleme ve raporlama
  • RegRipper (Harlan Carvey): ShellBags pluginleri ile hızlı analiz
  • KAPE (Kroll Artifact Parser and Extractor): Otomatize ShellBags toplama ve analiz

Kapsamlı analiz platformları:

  • X-Ways Forensics: Güçlü Registry analiz yetenekleri ile ShellBags inceleme
  • Magnet AXIOM: Kullanıcı aktivitesi modülü ile ShellBags analizi
  • EnCase Forensic: ShellBags için özel EnScript modülleri
  • FTK (Forensic Toolkit): Registry görselleştirme ve ShellBags raporlama

Son teknoloji yaklaşımlar:

  • Makine Öğrenimi: Normal kullanıcı davranışlarını modelleyerek anormallikleri tespit etme
  • GPU Hızlandırmalı Analiz: Büyük veri setlerinde hızlı ShellBags analizi
  • Otomatize Zaman Çizelgesi Oluşturma: Yapay zeka destekli olay rekonstrüksiyonu
  • Cloud-Based Analysis: Bulut tabanlı entegre ShellBags analiz platformları

Senaryo: Bir şirket çalışanının gizli şirket verilerini USB belleğe kopyaladıktan sonra işten ayrılması

ShellBags Bulgular:

  • USB belleğe aktarılan klasörlerin ShellBags kayıtları tespit edildi
  • Çalışanın iş saatleri dışında şirket verilerine eriştiği belirlendi
  • Silinen klasörlerin isimleri ve yapısı ShellBags'ten çıkarıldı

Sonuç: ShellBags kayıtları sayesinde hangi verilerin çalındığı tam olarak belgelendi ve yasal süreçte delil olarak kullanıldı.

Senaryo: Bir sistem yöneticisinin, yetkisi olmayan kullanıcı klasörlerine erişimi ve kanıtları silme girişimi

ShellBags Bulgular:

  • Anti-forensic araçların kullanımına rağmen eski ShellBags kayıtları kurtarıldı
  • Registry temizleme araçlarının çalıştırıldığı zamanlar tespit edildi
  • Yöneticinin eriştiği kullanıcı klasörleri ShellBags kayıtlarından belirlendi

Sonuç: ShellBags analiziyle yöneticinin hangi kullanıcı verilerine eriştiği ve kanıtları silme girişimi belgelendi.

Senaryo: Hedefli bir APT saldırısında kötü amaçlı yazılımın sistemde hareket yolu ve erişilen veriler

ShellBags Bulgular:

  • Kötü amaçlı yazılımın dosya sisteminde gezindiği yollar ShellBags'ten çıkarıldı
  • Saldırganların özellikle ilgilendikleri klasörler ve dosyalar belirlendi
  • Saldırı zaman çizelgesi, ShellBags ve diğer sistem artifactleri kullanılarak oluşturuldu

Sonuç: ShellBags analiziyle APT grubunun davranış biçimi ve hedefleri belgelenerek, benzer sistemlerin korunması için önlemler alındı.

ShellBags analizinin adli bilişim alanındaki önemi giderek artmaktadır. Bu Registry tabanlı artifactler, anti-forensic girişimlere rağmen kalıcı ve değerli izler bırakır. ShellBags, kullanıcı aktivitelerini takip etmede, silinen verilerin varlığını kanıtlamada ve şüpheli davranışları tespit etmede kritik bir rol oynar.

Adli bilişimcilerin ShellBags analizinde başarılı olabilmesi için:

  1. ShellBags'in karmaşık yapısını ve hiyerarşisini anlamaları
  2. En güncel analiz araçlarını ve tekniklerini kullanmaları
  3. Anti-forensic tekniklere karşı stratejiler geliştirmeleri
  4. ShellBags verilerini diğer sistem artifactleriyle birleştirerek bütünsel analizler yapmaları gerekir

Gelecekte, işletim sistemi güncellemeleri ve yeni teknolojilerle ShellBags yapısı değişebilir. Adli bilişim uzmanları, bu değişikliklere ayak uydurmak ve yeni analiz yöntemleri geliştirmek için sürekli öğrenme ve araştırma yapmalıdır.

ShellBags analizi, adli bilişim alanında "her silinme işlemi bir iz bırakır" prensibinin en iyi örneklerinden biridir. Faillar tarafından izlerini silme çabaları, ustalıkla uygulanan adli bilişim teknikleriyle tespit edilebilir, böylece dijital gerçeklik tam olarak ortaya çıkarılabilir.

PingRAT: Gizli Ağ İletişimi ve Güvenlik Duvarı Atlatma

PingRAT, ağ güvenliği dünyasında oldukça ilginç ve yaratıcı bir araç olarak öne çıkıyor. Araç, ICMP (Internet Control Message Protocol) üzerinden komuta ve kontrol (C2) trafiğini gizlice güvenlik duvarlarından geçirerek, sıradan güvenlik önlemlerini atlatmayı hedefliyor. ICMP'nin genellikle ağ tanılama amacıyla izin verilen bir protokol olması, PingRAT'ın bu yöntemi kullanarak fark edilmeden çalışmasına olanak tanıyor.

PingRAT'ın en dikkat çekici özelliklerinden biri, çoğu antivirüs ve EDR (endpoint detection and response) çözümleri tarafından tespit edilemiyor olmasıdır. Bu, ICMP trafiğinin genellikle kötü amaçlı aktiviteler açısından derinlemesine incelenmemesinden kaynaklanıyor. Bu sayede, PingRAT, güvenlik sistemlerinin gözünden kaçarak, komutlarını ve yanıtlarını sessizce iletebiliyor.

Go dilinde yazılmış olması, PingRAT'ı hem geliştiriciler için kullanım kolaylığı hem de çapraz platform uyumluluğu sağlayan bir araç haline getiriyor. Go'nun sağladığı performans ve basitlik, bu tür bir aracın hızlı ve etkili bir şekilde çalışmasını mümkün kılıyor.

Kullanımı oldukça basit;

Server

./server -h
Usage of ./server:
  -d string
    	Destination IP address
  -i string
    	Listener (virtual) Network Interface (e.g. eth0)

komutuyla bir sunucu başlatabilir.

Client

./client -h
Usage of ./client:
  -d string
    	Destination IP address
  -i string
    	(Virtual) Network Interface (e.g., eth0)

komutuyla bir istemci oluşturabilirsiniz. 

Bu komutlar, sunucunun belirli bir IP adresine komutlar göndermesini ve istemcinin bu komutları dinlemesini sağlar. Örneğin, bir terminalde sunucu çalışırken, başka bir terminalde istemciyi başlatarak, komutlarınızı ICMP paketleri içinde gizleyebilir ve iletebilirsiniz.

PingRAT, siber güvenlik uzmanları için hem saldırı simülasyonları yapmak hem de güvenlik sistemlerinin bu tür gizli iletişim yöntemlerine karşı nasıl korunabileceğini anlamak açısından değerli bir araç. Aynı zamanda, bu aracın varlığı, güvenlik duvarı, Antivirüs ve EDR çözümlerinin ICMP trafiğini daha dikkatli incelemesi gerektiğini de hatırlatıyor.

1 / 28

Kategoriler

Kategoriler
Kategoriler