Windows Forensic 101
Last updated
Last updated
Adli bilişim, elektromanyetik ve elektrooptik ortamlarda muhafaza edilen veya bu ortamlarca iletilen ses, görüntü, veri, bilgi veya bunların birleşiminden oluşan her türlü bilişim nesnesinin, mahkemede sayısal delil niteliği taşıyacak şekilde tanımlanması, elde edilmesi, saklanması, incelenmesi ve mahkemeye sunulması çalışmaları bütünüdür.
Adli analiz sırasında sıkça "artifact" kelimesi duyulur. Adli artifactlar, insan faaliyetlerine dair kanıt sağlayan önemli bilgilerdir. Örneğin, bir suç mahallindeki parmak izleri, kırık bir düğme veya suç işlemek için kullanılan aletler adli artifact olarak kabul edilir. Bu artefaktlar birleştirilerek suçun nasıl işlendiği anlaşılır.
Bilgisayar adli bilişiminde, adli artifactlar, bilgisayar sisteminde bırakılan küçük izlerdir. Özellikle Windows sistemlerde, çeşitli artifactlar sayesinde bir kullanıcının eylemleri izlenebilir. Bu artifactlar, genellikle normal kullanıcıların uğramadığı sistem bölgelerinde bulunur ve analiz edilebilir.
Windows Kayıt Defteri, sistemin yapılandırma verilerini içeren bir veritabanı koleksiyonudur. Bu yapılandırma verileri donanım, yazılım veya kullanıcının bilgileri hakkında olabilir. Ayrıca, yakın zamanda kullanılan dosyalar, kullanılan programlar veya sisteme bağlı cihazlar hakkındaki verileri de içerir.
Windows kayıt defteri, Anahtarlar (Keys) ve Değerlerden (Values) oluşur. Kayıt defterini görüntülemek için regedit.exe aracını açtığınızda, gördüğünüz klasörler Kayıt Anahtarlarıdır (Registry Keys). Kayıt Değerleri (Registry Values) ise bu Kayıt Anahtarlarında saklanan verilerdir. Bir Kayıt Kümesi (Registry Hive), disk üzerinde tek bir dosyada saklanan anahtarlar, alt anahtarlar ve değerler grubudur.
Canlı bir sisteme erişiyorsanız, regedit.exe ile kayıt defterine ulaşabilir ve standart kök anahtarları görebilirsiniz. Ancak, sadece bir disk imajınız varsa, kayıt defteri kümelerinin çoğunun C:\Windows\System32\Config dizininde olduğunu bilmelisiniz. Bu kümeler dışında, kullanıcı bilgilerini içeren iki başka kayıt defteri kümesi de Kullanıcı profil dizininde bulunur. Windows 7 ve sonrası için, bir kullanıcının profil dizini C:\Users<kullanıcı adı> konumunda yer alır ve bu kümeler şunlardır:
NTUSER.DAT: Her kullanıcı için masaüstü ayarları ve kişisel yapılandırmalar gibi kullanıcıya özgü bilgileri depolar.
USRCLASS.DAT: Kullanıcının arayüz ve uygulama tercihleriyle ilgili ek ayarları saklar.
Bunlarla birlikte, AmCache adlı başka kayıt defteri kümesi de bulunmaktadır. Bu küme, C:\Windows\AppCompat\Programs\Amcache.hve yolunda yer alır. Windows, bu küme içerisinde, sistemde yakın zamanda çalıştırılan programlarla ilgili bilgileri saklar
İşlem günlükleri, kayıt defteri değişikliklerini izleyen dosyalardır ve Windows, veri yazarken bu günlükleri kullanarak henüz kayıt defteri kümelerine yansımamış en son değişiklikleri içerebilir. Her işlem günlüğü, ilgili kümenin bulunduğu dizinde .LOG uzantısıyla saklanır.
Kayıt defteri yedekleri ise işlem günlüklerinin tersine, kayıt defteri kümelerinin yedeklerini içerir. Bu yedekler, her on günde bir C:\Windows\System32\Config\RegBack dizinine kopyalanır.
Bir adli analiz sırasında hangi kayıt defteri anahtarından ne gibi bilgilere ulaşılabilir bunları inceleyelim:
İlk olarak işletim sistemi sürümüne bakılır:
Bilgisayar\HKEY\_LOCAL\_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion
Makinenin başlangıç sırasında kullandığı yapılandırma verilerini içeren kümelere "Control Sets" (Kontrol Kümeleri) denir. ControlSet001, makinenin önyükleme yaptığı kontrol kümesini gösterir ve ControlSet002 ise bilinen son iyi yapılandırmayı temsil eder.
SYSTEM\Select\LastKnown\Good anahtarı, Windows işletim sisteminde sistemin sorunsuz bir şekilde çalıştığı son başarılı önyükleme yapılandırmasını saklar.
Bilgisayar ismini öğrenmek için:
HKEY\_LOCAL\_MACHINE\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName
İnceleme yaparken sistemin zaman dilim bilgilerini bilmek çok önemlidir. Sistemin zaman dilimi bilgilerini öğrenmek için:
HKEY\_LOCAL\_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation
Ağ arabirimlerinde her bir arayüz, benzersiz bir tanımlayıcı (GUID) alt anahtarı ile temsil edilir ve bu anahtar, arayüzün TCP/IP yapılandırmasıyla ilgili değerleri içerir. Bu anahtar, IP adresleri, DHCP IP adresi, Alt Ağ Maskesi (Subnet Mask), DNS Sunucuları gibi bilgileri sağlar. Birimleri listelemek için:
SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces
Önceden bağlanılmış ağlar ise:
HKEY\_LOCAL\_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Signatures\Managed
HKEY\_LOCAL\_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Signatures\Unmanaged
Managed anahtarı, yönetilen ağ bağlantılarını temsil eder. Bu tür ağlar genellikle bir etki alanına bağlı olan veya bir ağ yöneticisi tarafından yönetilen ağlardır.
Unmanaged anahtarı, yönetilmeyen ağ bağlantılarını temsil eder. Bu tür ağlar, genellikle kullanıcılar tarafından bağımsız olarak kurulan veya yönetilmeyen ağlardır.
HKEY\_CURRENT\_USER\Software\Microsoft\Windows\CurrentVersion\Run
HKEY\_CURRENT\_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce
kayıt defteri anahtarları, kullanıcı oturumu açıldığında çalıştırılacak programları yönetmek için kullanılır.
Run anahtarı, kullanıcı oturumu açıldığında her seferinde çalıştırılacak programların listesini içerir. Bu anahtara eklenen programlar, kullanıcı her oturum açtığında otomatik olarak başlatılır. Kullanıcı, bu anahtara eklenen programları kaldırmadığı sürece, program her oturum açılışında çalışmaya devam eder.
RunOnce anahtarı, kullanıcı oturumu açıldığında yalnızca bir kez çalıştırılacak programların listesini içerir. Bu anahtara eklenen programlar, kullanıcı oturum açtığında bir kez çalıştırılır ve ardından kayıt defterinden otomatik olarak silinir. Kullanıcı bir sonraki oturum açışında bu programlar tekrar çalıştırılmaz.
Bu anahtarlar aynı zamanda c:\Users<kullanici-adi\NTUSER.DAT altında da bulunur.
HKEY\_CURRENT\_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run
kayıt defteri anahtarı, Windows'ta kullanıcı oturumu açıldığında belirli programların otomatik olarak çalıştırılmasını sağlar. Genellikle sistem yöneticileri veya kullanıcılar tarafından, belirli uygulamaların her oturum açılışında çalıştırılması amacıyla yapılandırılır. Bu anahtar, güvenlik politikalarıyla ilişkilidir ve istenmeyen uygulamaların çalıştırılmasını zorunlu kılmak için kullanılabilir, bu nedenle dikkatli bir şekilde izlenmesi önemlidir.
Zararlılar kendilerini otomatik olarak çalıştırmak için bu anahtarlara kaydedebilir ve kullanıcı sistemi başlattığı anda zararlı da kendini otomatik olarak başlatır.
SYSTEM\CurrentControlSet\Services
işletim sisteminin yüklü hizmetlerinin yapılandırmalarını ve durumlarını içeren bir kayıt defteri anahtarıdır.
Bu kayıt defteri anahtarında, start anahtarı 0x02 olarak ayarlandığında, bu, hizmetin bilgisayar açıldığında başlaması gerektiği anlamına gelir**.**
SAM kaydı, kullanıcı hesap bilgilerini, oturum açma bilgilerini ve grup bilgilerini içerir. Bu bilgiler esasen aşağıdaki konumda yer alır:
SAM\Domains\Account\Users
HKEY\_CURRENT\_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs
bu anahtar altında, kullanıcının son açtığı dosyaların uzantılarına ve konumlarına dair veriler bulunur. Registry Explorer ile NTUSER.DAT dosyası altında bulunur.
Windows Gezgini tarafından tutulan Son Dokümanlar listesine benzer şekilde, Microsoft Office de açılan son belgelerin bir listesini tutar. Bu liste de NTUSER kayıt defteri kümesinde bulunur ve aşağıdaki konumda yer alır:
NTUSER.DAT\Software\Microsoft\Office\VERSION
Windows'da bir kullanıcı herhangi bir klasörü açtığında, o klasör belirli bir düzenle açılır ve kullanıcılar bu düzeni tercihlerine göre değiştirebilir. Farklı klasörler için farklı düzenler olabilir. Bu düzen bilgileri, Windows "shell" tarafından saklanır ve en son kullanılan dosyalar ve klasörleri tanımlayabilir. Bu ayarlar her kullanıcıya özgü olduğu için, kullanıcıya ait hives'larda bulunur. Bu bilgilere şu konumlarda erişilebilir:
USRCLASS.DAT\Local Settings\Software\Microsoft\Windows\Shell\Bags
USRCLASS.DAT\Local Settings\Software\Microsoft\Windows\Shell\BagMRU
NTUSER.DAT\Software\Microsoft\Windows\Shell\BagMRU
NTUSER.DAT\Software\Microsoft\Windows\Shell\Bags
Windows, dosya açma veya kaydetme işlemlerinde kullanılan son konumları hatırlar ve bir dahaki sefere bu konumları önerir. Bu bilgilere ulaşmak için belirli kayıt defteri anahtarları incelenir.
NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\OpenSavePIDlMRU
NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\LastVisitedPidlMRU
OpenSavePIDlMRU Bu anahtar, kullanıcı tarafından en son açılan veya kaydedilen dosyaların ve dizinlerin "Most Recently Used" (MRU) listesini tutar. Kullanıcı, dosya açma veya kaydetme diyalog penceresini kullandığında, bu anahtar altında en son kullanılan dosya ve dizinlerin yolları saklanır. Bu liste, kullanıcıların daha önce kullandıkları dosyalara hızlı erişim sağlamasına yardımcı olur.
LastVisitedPidlMRU Bu anahtar, kullanıcı tarafından en son ziyaret edilen dizinlerin MRU listesini tutar. Kullanıcı, dosya açma veya kaydetme diyalog penceresinde gezindiğinde, bu anahtar altında en son ziyaret edilen dizinlerin yolları saklanır. Bu liste, kullanıcıların en son hangi dizinlere gittiğini takip eder ve bu dizinlere hızlı erişim sağlar.
Bir kullanıcının son etkinliklerini belirlemenin başka bir yolu, Windows Gezgini adres çubuğuna yazılan yolları veya yapılan aramaları aşağıdaki kayıt defteri anahtarlarına bakarak incelemektir.
NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\TypedPaths
NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\WordWheelQuery
TypedPaths: Kullanıcı tarafından girilen dosya yollarını saklar ve daha önce kullanılan dosya yollarına hızlı erişim sağlar. TypedPaths, Windows Gezgini adres çubuğuna manuel olarak girilen yolları depolar.
WordWheelQuery: Kullanıcı tarafından yapılan arama terimlerini saklar ve daha önce kullanılan arama ifadelerine hızlı erişim sağlar. , WordWheelQuery kullanıcının Windows arama çubuğunda yaptığı arama sorgularını kaydeder.
Windows, kullanıcı tarafından Windows Gezgini aracılığıyla başlatılan uygulamaları istatistiksel amaçlarla UserAssist kayıt defteri anahtarlarında takip eder. Bu anahtarlar, başlatılan programlar, başlatılma zamanları ve kaç kez çalıştırıldıkları hakkında bilgi içerir. Ancak komut satırıyla çalıştırılan programlar bu anahtarlarda bulunmaz. UserAssist anahtarı, her kullanıcının GUID'sine göre NTUSER kümesinde yer alır. Bu anahtarın konumu şu şekildedir:
NTUSER.DAT\Software\Microsoft\Windows\Currentversion\Explorer\UserAssist\{GUID}\Count
Shimcache, Windows uygulamalarının uyumluk önbelleği AppCompatCache'nin bir parçasıdır. Eski uygulamaların yeni windows sürümleri ile problemsiz bir şekilde çalışabilmesi için shim mekanizması kullanılır. Shim registry içinde depolanmış çalıştırabilir programların metadatasını tutmakla görevlidir. Bu datalar bize bir programın çalışıp çalışmadığının bilgisini vermektedir. İçerideki olay akışı en son olayın en başta olması durumuyla sıralanır yani kronolojik bir sıralama sistemine sahiptir.
SYSTEM\CurrentControlSet\Control\Session Manager\AppCompatCache
İncelenemek için Eric Zimmerman!ın AppCompatParser uygulaması kullanılabilir. Uygulama komut satırı üzerinden çalıştırılarak output olarak bir .csv dosyası verir.
AppCompatCacheParser.exe --csv <path to save output> -f <path to SYSTEM hive for data parsing> -c <control set to parse>
Background Activity Monitor (BAM) ve Desktop Activity Moderator (DAM), Microsoft Windows'un arka planda çalışan uygulamaların etkinliğini izlemek için kullandığı bileşenlerdir. BAM, arka plan uygulamalarının aktivitelerini takip ederken, DAM, cihazın enerji tüketimini optimize etmeye yardımcı olur.
Windows kayıt defterinde, BAM ve DAM ile ilgili bilgilere şu konumlarda ulaşabilirsiniz:
HKEY\_LOCAL\_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\BackgroundAccessApplications
HKEY\_LOCAL\_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Power\PowerSettings
HKEY\_LOCAL\_MACHINE\SYSTEM\CurrentControlSet\Services\bam\State\UserSettings
Bu konumlar, en son çalıştırılan programlar, bunların tam yolları ve en son yürütme zamanı gibi bilgileri içerir.
Aşağıdaki konumlar, bir sisteme takılan USB anahtarlarının izlenmesini sağlar. Bu konumlar, takılan USB cihazının vendor ID'si, product ID'si ve versiyonunu saklar ve benzersiz cihazları tanımlamak için kullanılabilir. Bu konumlar ayrıca cihazların sisteme ne zaman takıldığını da kaydeder.
SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
SYSTEM\CurrentControlSet\Services\UsbStor
SYSTEM\CurrentControlSet\Enum\USB
SOFTWARE\Microsoft\Windows Portable Devices\Devices
Benzer şekilde, aşağıdaki kayıt defteri anahtarı, aygıtın ilk kez bağlandığı zamanı, son kez bağlandığı zamanı ve aygıtın sistemden son kez çıkarıldığı zamanı takip eder.
SYSTEM\CurrentControlSet\Enum\USBSTOR\Ven\_Prod\_Version\USBSerial#\Properties\{83da6326-97a6-4088-9453-a19231573b29}\####