Blog
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ı:
Windows işletim sistemi, bir USB depolama cihazı bağlandığında, aşağıdaki işlem akışını izler:
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.
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.
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.
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.
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.
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.
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:
xxxxxxxxxx&0
Örnek bir USBSTOR anahtar yapısı:
USBSTOR\Disk&Ven_SanDisk&Prod_Ultra&Rev_1.00\0123456789ABCDEF&0
Bu örnekte:
USBSTOR kayıtlarındaki her benzersiz cihaz kimliği, aşağıdaki yapıda alt anahtarlar içerir:
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:
Bu veri yapıları binary formatta saklanır ve genellikle FILETIME formatında kodlanmış zaman damgalarını içerir.
HKLM\SYSTEM\CurrentControlSet\Enum\USBSTOR\...\{UniqueInstanceID}\Device Parameters
Bu anahtar, depolama cihazının fiziksel ve mantıksal özelliklerini tanımlayan parametreleri içerir:
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.
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:
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.
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ını analiz etmek için, sistem SYSTEM hive dosyası adli kopyasının (%WINDIR%\System32\config\SYSTEM) aşağıdaki yöntemlerle incelenmesi gerekir:
regf
başlık yapısı (4KB)Forensic zaman çizelgesi oluşturmak için şu veri noktaları çıkarılmalıdır:
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.
Aşağıdaki GUID ve tanımlayıcılar, farklı Registry konumlarındaki USB cihaz verilerini ilişkilendirmek için kullanılır:
ParentIdPrefix değeri, cihazın hangi fiziksel USB portuna bağlandığını belirlemek için kullanılır:
Örnek: 8&21F39B80&0
ParentIdPrefix değerini analiz etmek:
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ı):
USB cihazlar için çapraz doğrulama yapmak üzere şu değerler analiz edilmelidir:
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:
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.
regf
başlık alanının değiştirilmesiUSB manipülasyon araçlarının kullanımı, şu artefactları bırakır:
Anormal Registry davranışlarını tespit etmek için şu metrikleri izleyin:
Anti-forensic teknikleri aşmak için, şu kaynaklardan oluşturulan zaman çizelgelerini karşılaştırın:
Registry yapısını geçmiş zamanlardan yeniden oluşturmak için:
Windows Setup API, cihaz kurulumlarını %windir%\inf\setupapi.dev.log
dosyasında kaydeder. Bu günlükler, aşağıdaki bilgileri içerir:
Prefetch dosyaları (%windir%\Prefetch\*.pf
), USB sürücülerden çalıştırılan uygulamaların izlerini şu bilgilerle birlikte içerebilir:
Windows Explorer kısayol (LNK) dosyaları, USB cihazlardan erişilen dosyalara dair önemli bilgiler içerir:
Windows 7 ve sonrası için JumpList dosyaları, USB cihazlara ilişkin kullanım geçmişini kaydeder:
Windows Explorer görünüm ayarları (ShellBags), USB cihazların kullanımını gösteren kanıtlar içerir:
Web tarayıcıları ve uygulamalar, USB cihazlardan açılan dosyalar veya cihazlarla ilgili erişim izleri içerebilir:
Windows, USB depolama cihazlarının otomatik başlatma davranışlarını da kaydeder:
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2
anahtarıWindows Etkinlik Günlüğü ve PowerShell komut geçmişi, USB cihazlarla ilgili ekstra veriler sağlayabilir:
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:
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.
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:
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:
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:
ShellBags kayıtları binary formatta saklanır ve doğru analiz için deşifre edilmesi gerekir:
ShellBags kayıtları, dosya sisteminden tamamen silinmiş klasör ve dosyaların varlığının kanıtlanmasında kritik rol oynar:
ShellBags, kullanıcı aktivitelerinin zaman çizelgesini oluşturmada değerli bilgiler sunar:
ShellBags kayıtları, harici cihazların kullanımıyla ilgili zengin veriler sağlar:
Uzak kaynaklara erişimin izleri ShellBags'te saklanır:
ShellBags zaman damgalarının diğer sistem artifactleri ile korelasyonu:
Silinen veya erişilemeyen klasörlerin yapısının yeniden oluşturulması:
Kullanıcı davranışlarının ortaya çıkarılması ve profillenmesi:
Faillar tarafından ShellBags kayıtlarının silinmesi veya değiştirilmesi:
İleri düzey manipülasyon teknikleri:
İşletim sistemi düzeyindeki anti-forensic teknikler:
Yanıltıcı kayıt oluşturma teknikleri:
Anti-forensic faaliyetlerin tespit edilmesi için zaman bazlı analizler:
Silinmiş veya değiştirilmiş Registry verilerinin kurtarılması:
Sistemin bütünsel olarak değerlendirilmesi:
ShellBags analizinde kullanılan en gelişmiş araçlar:
Kapsamlı analiz platformları:
Son teknoloji yaklaşımlar:
Senaryo: Bir şirket çalışanının gizli şirket verilerini USB belleğe kopyaladıktan sonra işten ayrılması
ShellBags Bulgular:
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:
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:
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:
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.