"Enter"a basıp içeriğe geçin

Windows Kayıt Defteri Adli Bilimlerine

Windows Kayıt Defteri Adli Bilimlerine Giriş

Microsoft Windows bugüne kadar en çok kullanılan işletim sistemlerinden biridir. Ev ve kurumsal kullanıcılar tarafından yaygın olarak kullanılmaktadır. Bu durum, bu platformu tehdit aktörleri için önemli bir hedef haline getiriyor. Bu nedenle siber güvenlik profesyonellerinin Windows sistemlerinde adli tıp araştırmalarının nasıl gerçekleştirileceğini anlaması önemlidir. 

Windows Kayıt Defteri nedir?

Windows Kayıt Defteri, Windows işletim sistemi ve yüklü uygulamaları için merkezi bir bilgi ve ayar deposudur. Sistem donanımı, kurulu programlar, kullanıcı ayarları, yakın zamanda erişilen dosyalar, bağlanan cihazlar, yürütülen uygulamalar vb. hakkındaki bilgiler dahil olmak üzere çok çeşitli konfigürasyon verilerini saklayan hiyerarşik bir veritabanıdır.

Kayıt defteri, her bir anahtarın sistem yapılandırmasının farklı bir yönünü temsil ettiği bir dizi anahtar halinde düzenlenmiştir. Anahtarlar, alt anahtarları ve değerleri içeren ana anahtarlarla hiyerarşik bir yapıda düzenlenir. Kayıt defterinde kök anahtar dediğimiz en önemli anahtarlardan bazıları şunlardır:

– HKEY_LOCAL_MACHINE: Bu anahtar, aygıt sürücüleri, başlangıç ​​programları, yüklü hizmetler ve sistem ayarları vb. hakkındaki ayrıntılar da dahil olmak üzere sistemin donanımı ve yüklü programlarıyla ilgili bilgileri içerir.

– HKEY_CURRENT_USER: Bu anahtar, masaüstü arka planı, yürütülen uygulamalar, aranan öğeler, klavye düzeni vb. gibi kullanıcıya özel ayarlar ve tercihler hakkında bilgiler içerir.

– HKEY_USERS: Bu anahtar, sistemdeki kullanıcılar hakkında, kullanıcı profilleri ve ayarları dahil olmak üzere bilgiler içerir.

– HKEY_CLASSES_ROOT: Bu anahtar, sistemdeki farklı dosya türlerinin nasıl açılıp işleneceğini belirleyen dosya ilişkileri ve COM sınıfları hakkında bilgi içerir.

Kayıt defterindeki her anahtar, kayıt defterinde depolanan gerçek veriler olan çeşitli değerleri içerebilir. Değerler, adın değeri tanımladığı ve değerin gerçek verileri içerdiği şekilde, ad-değer çiftleri halinde düzenlenir. Örneğin, “Duvar Kağıdı” adındaki bir değer, masaüstü arka planının yolunu saklar. Windows, arka plan resmini kayıt defterinde bulunan yoldan yükler. Aşağıdaki örnekte “C:\Users\pc\Pictures\Wallpapers\LetsDefend.png” değeriyle “WallPaper” adını görüyoruz. Windows, bu kayıt defteri konumundan duvar kağıdı olarak hangi görüntünün yükleneceğini bilir.

Kayıt Defteri Kovanları

Yukarıda tartıştığımız kök anahtarlar, gerçek kayıt defteri verilerini içeren kayıt defteri kovanları tarafından desteklenir. Kovan, kayıt defterindeki anahtarlardan, alt anahtarlardan ve değerlerden oluşan mantıksal bir gruptur. Aşağıdaki önemli kovanlar “C:\Windows\System32\Config\*” konumunda bulunur.

Hive = Kovan

– DEFAULT Hive: İşletim sistemi ve uygulamalar için varsayılan ayarları içerir ve yeni bir kullanıcı hesabı oluşturulduğunda şablon olarak kullanılır.

– SİSTEM Hive: Bu, sürücüler ve hizmetler gibi düşük seviyeli sistem bileşenlerinin ayarlarını içerir.

– SAM (Güvenlik Hesapları Yöneticisi) Hive: Bu, yerel bilgisayardaki kullanıcı hesapları hakkında, parolalarının karma sürümleri de dahil olmak üzere bilgileri içerir.

– YAZILIM Hive: Yüklü programlar ve ayarları hakkında bilgiler içerir.

– GÜVENLİK Hive: Bu, sistem kaynaklarına yönelik erişim kontrolü bilgileri gibi güvenlikle ilgili ayarları içerir.

DEFAULT dışındaki tüm bu kovanlar HKEY_LOCAL_MACHINE Anahtarına takılıdır; bu, SYSTEM Kovanının içeriğini HKEY_LOCAL_MACHINE\SYSTEM alt anahtarı altında, SAM kovanının içeriğini HKEY_LOCAL_MACHINE\SAM altında bulabileceğimiz anlamına gelir.

Örneğin SYSTEM kovanının içeriği şuradan görüntülenebilir:

Diğer 2 önemli kovan kullanıcıya özeldir, yani bilgisayardaki her kullanıcı bu kovanların kendi versiyonuna sahip olacaktır. Bu kovanlar HKEY_CURRENT_USER anahtarına takılıdır. Yukarıda tartışılanlar geneldir ve kullanıcıdan bağımsızdır. Bu 2 kovan şunlardır:

• NTUSER.DAT: Bu kovan, Windows bilgisayardaki belirli bir kullanıcı hesabının kayıt defteri ayarlarını içerir. Bu, kullanıcının masaüstü arka planı, başlat menüsü yapılandırması ve uygulama ayarları gibi kişisel ayarları hakkındaki bilgileri saklar. NTUSER.DAT, genellikle ” C:\Users\{kullanıcı adı} ” veya ” %USERPROFILE% ” dizininde bulunan kullanıcının profil klasöründe bulunur .

– USRCLASS.DAT: Bu kovan, bir Windows bilgisayarında belirli bir kullanıcı hesabı için yüklenen uygulamaların kayıt defteri ayarlarını içerir. Bu, kullanıcının yüklü programları ve ayarları hakkındaki bilgileri saklar. UsrClass.dat “ %USERPROFILE%\AppData\Local\Microsoft\Windows ” konumunda bulunur .

Not: Bu dosyalar varsayılan olarak gizlidir, dolayısıyla dosya gezgininde gizli dosyaları görüntüle onay kutusunu etkinleştirmek isteyebilirsiniz.

– Amcache Hive: Bir diğer önemli kovan ise Amcache’dir. Bu, Windows tarafından yüklü uygulamalardaki değişiklikleri izlemek ve işletim sisteminin performansını artırmak için kullanılır. Örneğin bir uygulama yüklendiğinde veya güncellendiğinde, değişikliğe ilişkin bilgiler bu kovana kaydedilir. Bu, Windows’un yüklü uygulamalar hakkındaki bilgilere tüm sistemde arama yapmak zorunda kalmadan hızlı bir şekilde erişmesine olanak tanır.

“C:\Windows\appcompat\Programs\Amcache.hve” konumunda bulunur .

Kayıt Defteri Yedeklemeleri ve İşlem Günlükleri

Windows, bir arıza durumunda otomatik olarak tüm kayıt defteri yapısının yedeğini alır. Bu , “C:\Windows\System32\Config\RegBack” altında saklanır . Yedek kayıt defteri en son kayıt defterinde bulunmayan değerlere sahip olabileceğinden, bunun analiz edilmesi kritik öneme sahiptir. Bu, yedek ve geçerli kayıt defteri değerlerini karşılaştırarak tahrif edilmiş kayıt defteri anahtarlarını bulmamıza yardımcı olabilir.

İşlem günlükleri, kayıt defterinin durumuna bağlı olarak “.LOG”, “.LOG1”, “.LOG2” vb. uzantılara sahip, kovanlarla aynı konumda bulunan dosyalardır. Bunlar, kayıt defteri anahtarları ve alt anahtarların değerlerinde en son değişikliklerin olduğu kovanların kopyalarıdır. Windows, orijinal kovanların bozulmasını önlemek ve kayıt defterinin düzgün çalışmasını sağlamak için işlem günlüklerini kullanır. Bunlar henüz orijinal kayıt defteri kovanlarına aktarılmamış en son değerleri içerebilir. Adli araçların çoğu, işlem günlüklerini orijinal Hive dosyasıyla birlikte otomatik olarak yükler. Kayıt defteri kovanlarını alırken varsa işlem günlüklerini de almalıyız.

Sonuç olarak kovanların gerçek kayıt defteri verilerini içeren dosyalar olduğunu öğrendik. Bu nedenle kovan türlerini, konumlarını ve bize ne tür veriler sağlayabileceklerini bilmek önemlidir. Soruşturma sırasında çoğu zaman yalnızca bilgisayarın disk görüntüsüne erişebiliyoruz, dolayısıyla kovan dosyalarını ve konumlarını bilmek, bunları çıkarmamıza ve analiz etmemize olanak tanıyabilir. Canlı bir sistemde, Windows’un yerleşik bir kayıt defteri aracı olan regedit aracını kullanarak doğrudan kayıt defterine gidebiliriz. Bunu bir sonraki derste tartışacağız.

“HKEY_LOCAL_MACHINE(HKLC)” ve “HKEY_CURRENT_USER(HKCU)” anahtarları, adli değere sahip verilerin çoğu bu anahtarlar altında saklandığından en önemli kayıt defteri anahtarlarıdır.

Kayıt defterindeki adli tıp, ilgili bilgileri ve kanıtları çıkarmamıza yardımcı olabilir. Bu, yakın zamanda yüklenen programların tanımlanmasını, kullanıcı etkinliğinin ve oturum açma geçmişinin belirlenmesini ve sistemdeki herhangi bir kötü amaçlı veya şüpheli etkinliğin ortaya çıkarılmasını içerebilir.

Kayıt defteri adli incelemesini gerçekleştirmek için kayıt defterinin yapısı ve içeriğinin yanı sıra onu analiz etmek için kullanılan araç ve teknikler hakkında da kapsamlı bir anlayışa sahip olmanız gerekir. Bu kursu tamamladıktan sonra kayıt defteri adli bilişimini rahatça gerçekleştirebileceksiniz. Bir sonraki bölümde kayıt defteri kovanlarında bulunabilecek önemli eserleri tartışacağız, bunları farklı araçlarla analiz edeceğiz ve dijital adli soruşturmalar bağlamında senaryoları tartışacağız. Kursun sonunda becerilerinizi ve pratiğinizi test etmek için 2 pratik vakanız olacak.

Kayıt Defteri Kovanlarının Edinilmesi

Önceki derste kayıt defteri kovanlarını ve neden önemli olduklarını tartıştık. Bu derste FTK Görüntüleyiciyi kullanarak canlı bir sistemden kovanların nasıl alınacağını öğreneceğiz.

Olaylar sırasında doğru bir analiz için tam disk görüntüsü almamız gerekir. Bu görüntü aynı zamanda kovanları da içerecektir ve disk görüntüsünü bilgisayarımıza yükleyerek ve kovanların konumuna giderek kovanları çıkartabiliriz. Ancak olaylar sırasında disk görüntülerinin alınması diskin boyutuna bağlı olarak saatler veya günler sürebilir ve olaylar sırasında zaman çok önemlidir, bu nedenle zaman kaybetmek istemiyoruz. Bu amaçla ihtiyacımıza göre sadece kayıt defteri kovanlarını veya ilgili disk konumlarını alabiliriz. 

Yeni başlayanlar için kafa karışıklığını önlemek amacıyla bu derste yalnızca satın alma süreci gösterilecek ve bazı soruları yanıtlamak için LetsDefend laboratuvarının canlı kaydını analiz edeceksiniz. Kanıtları tahrif edebileceği için gerçek dünya araştırmalarında canlı analiz teşvik edilmez, ancak bu uygulama ve gösterme amaçlı olduğundan, canlı kayıt kovanını keşfedeceğiz. Canlı ve çevrimdışı kovan analizi arasında herhangi bir fark olmadığını, bunun yanı sıra canlı analizde kayıt defterinin aktif olduğunu ve sistem tarafından kullanıldığını lütfen unutmayın. 

Pratik durumlarda, kursun sonunda size FTK görüntüleyiciden edinilen çevrimdışı kovanlar verilecek, böylece sonunda her iki analiz türünü de deneyimleyeceksiniz.

FTK Görüntüleyici

Exterro’nun resmi açıklamasına göre;

“FTK® Imager, Forensic Toolkit (FTK®) gibi bir adli araçla daha fazla analiz yapılmasının gerekli olup olmadığını belirlemek için elektronik kanıtları hızlı bir şekilde değerlendirmenize olanak tanıyan bir veri önizleme ve görüntüleme aracıdır. Ortamın çeşitli yerlerinden yerel sabit sürücülerin, CD’lerin ve DVD’lerin, flash sürücülerin veya diğer USB aygıtlarının, tüm klasörlerin veya tek tek dosyaların adli görüntülerini oluşturun.”

FTK görüntüleyici, tam disk görüntülerinin tek bir dosya edinimine alınmasına olanak tanır. Yalnızca ilgili dosyaları ve araştırma için önemli olduğunu düşündüğümüz klasörleri dahil ederek özel disk görüntüleri oluşturabiliriz. Ayrıca, disk görüntülerini bağlamak ve tıpkı bilgisayarınızdaki yerel bir sürücü gibi bunlar arasında gezinmek için de kullanılabilir.

FTK görüntüleyiciyi “ https://www.exterro.com/ftk-imager ” adresinden indirebilirsiniz . Ücretsiz bir araçtır.

Kazanım

Şimdi kovanları elde etmek için neden bir araca ihtiyacımız olduğunu düşünebilirsiniz, çünkü onlar sadece diskte bulunan dosyalardır, onları kopyalayabilir ve üzerinde analiz yapabiliriz. Windows, kritik sistem dosyaları oldukları için etkin olduklarında kovan dosyalarını kilitler. Bu dosyaların kilitlenmesi, sistemde ciddi sorunlara neden olabilecek yetkisiz kullanıcılar veya kötü amaçlı yazılımlar tarafından değiştirilmelerini veya silinmelerini önlemeye yardımcı olur. Bunlara sistem korumalı dosyalar denir. Bu korumalı dosyaların kopyalarını almak için FTK görüntüleyici gibi özel olarak tasarlanmış araçları kullanabiliriz. Özel araçlar kullanılarak hala alınabildiği veya silinebildiği ve saldırganların da aynı tür araçları kullanabileceği halde, bunların nasıl korunduğunu sorabilirsiniz. Bu araçlar, hassas dosyalar olduğundan bu dosyaları kopyalamak/silmek için yönetici erişimi gerektirir. Bir saldırganın bu tür eylemleri gerçekleştirmek için yönetici düzeyinde erişimi varsa, o zaman zaten daha büyük sorunlarınız var demektir.

FTK görüntüleyiciyi yönetici olarak başlatın.

Şimdi dosyaya gidin, kanıt ekle öğesini tıklayın.

Kaynak seç, kanıt eklemek istediğimiz disk türünü seçmek anlamına gelir.

1- Fiziksel Sürücü: Bilgisayarınıza takılan HDD, SSD vb. sürücü. Bu sürücü, fiziksel donanımın tüm kapasitesini barındırdığı gibi, tahsis edilmiş ve ayrılmamış alana da sahiptir. Bu genellikle boyut olarak daha büyüktür ancak silinen dosyaların/içeriklerin kurtarılmasına olanak tanır.

2- Mantıksal Sürücü: Mantıksal sürücü tıpkı fiziksel sürücü gibidir, tek farkı sadece dosyalara ve ayrılmış alana sahip olmasıdır. Ayrılmamış alan mevcut değil.

3- İmaj Dosyası: Edinilen bir disk imajını kullanmak ve ondan belirli dosyalar/içerikler çıkarmak istiyorsak bu kaynağı kullanabiliriz.

4- Klasörün içeriği: İstediğimiz klasördeki tüm verileri almamızı sağlar. Bu seçenek yalnızca belirtilen klasörün mantıksal alanını içerir.

Canlı sistemlerden alım yaparken fiziksel, mantıksal veya sonuncusunu seçebilirsiniz. Fiziksel olandan daha organize ve daha az düzenli olan mantıksal olanı seçeceğiz. Daha sonra verileri almak istediğiniz sürücüyü seçin. Windows genellikle “C:\” dizinine kurulu olduğundan bu sürücüyü seçeceğiz.

Sol tarafta Kanıt ağacının altında genişletilebilir sürücüyü göreceğiz.

Verilerimizin çoğu [root] altında olacaktır.

Şimdi “C:\Windows\System32\Config” altındaki kovanları alacağız. Yapılandırma dosyasını genişletene kadar ağacı genişletmeye devam edin. Daha sonra ana ekranda içerikleri görebilmeniz için config klasörüne tıklayın. Çok fazla veri görebilirsiniz ancak bunalmayın. Sadece önceki derste incelediğimiz kovanları geri alacağız.

Yalnızca SAM, GÜVENLİK, YAZILIM, SİSTEM kovanlarını ve bunların işlem günlüklerini alacağız. “.FileSlack” dosyalarını dikkate almayın.

Özel bir görsel oluşturabilir ve tüm kovanları bu görsel dosyasına ekleyebiliriz. Daha sonra onu bağlayıp analiz edeceğiz veya dosyaları dışa aktarabiliriz. Özel imajı oluşturacağız ve size bunun nasıl monte edileceğini de göstereceğiz. Bu, kursun sonunda pratik durumlarda kullanışlı olacak FTK kullanarak görüntülerin nasıl monte edileceğini gösterir. Öncelikle “Kanıt” adında bir klasör oluşturacağız. Özel görsele eklemek istediğiniz dosyaya sağ tıklayın ve “Özel İçerik Görseline Ekle”ye tıklayın.

Şimdi bunu yukarıda bahsedilen tüm kovanlar ve bunların işlem günlükleri için yapın. Eklenen içerikleri sol altta görebilirsiniz. Veri zenginliği NTUSER.DAT altında olduğundan NTUSER.DAT ve UsrClass.dat kovanlarını da eklemeyi unutmayın.

Not: NTUSER.DAT ve UsrClass.dat kovanlarının kullanıcıya özel olduğunu, dolayısıyla bir bilgisayarda 3 kullanıcınız varsa bu 2 kovanı her kullanıcı profilinden toplamanız gerektiğini unutmayın.

NTUSER.DAT, “%USERPROFILE%” veya “C:\Users\[kullanıcı adı]” konumunda depolanır .

UsrClass.dat “%USERPROFILE%\AppData\Local\Microsoft\Windows\” konumunda depolanır .

Daha sonra görüntüleme işleminizi oluşturmaya başlamak için “Resim Oluştur”a tıklayın.

Aşağıdaki pencere istendiğinde her şeyi varsayılan olarak bırakın. Ekle düğmesine tıklayın.

Ekle’ye tıkladıktan sonra bu alanları doldurabilir veya varsayılan olarak bırakabiliriz. Madem ki gösteri yapıyoruz, onları boş bırakın.

Özel görüntü dosyasının kaydedileceği klasörü ve dosyanın adını seçebiliriz. Diğer seçenekleri varsayılan olarak bırakın ve ardından bitir’i tıklayın.

Yeni bilgilerin bulunduğu ilk pencereyi tekrar göreceksiniz. Görüntüyü oluşturmak için başlat’a tıklayın.

Görüntü oluşturulduktan sonra, verilerin parça parça kopyalanıp kopyalanmadığı ve kurcalanıp değiştirilmediği konusunda bize bir rapor verilecek. Bu, orijinal ve elde edilen kanıtların karmalarının karşılaştırılması yoluyla doğrulanır.

Verileri başarıyla aldık, şimdi devam edip bilgisayarınıza bağlayalım. Gerçek hayattaki senaryolarda, disk görüntülerini/özel görüntüleri edinir, ardından bunları analiz gerçekleştireceğiniz adli tıp iş istasyonuna kopyalarsınız. İncelenen sistem üzerinde analiz yapılmaması son derece önemlidir. Bunları sırf erişilebilirlik adına derslerde/laboratuvarlarda yapıyoruz.

İşte yeni oluşturduğumuz disk imajımız.

Görüntünün Montajı

“Dosya”ya gidin ve “Görüntü Montajı”na tıklayın.

Oluşturduğumuz (.ad1) resim dosyasını seçin ve geri kalan her şeyi varsayılanda bırakın. Daha sonra Monte’ye tıklayın.

Monte edildikten sonra, monte edilen görüntünün bilgisayarınızda konumunu göreceksiniz. Artık takılı sürücüde tıpkı bir dosya sistemi gibi gezinebilirsiniz. Bizim durumumuzda bu sürücü seçtiğimiz dosyaları içerecektir.

Takılı sürücüyü keşfedelim. Bizim durumumuzda “G:” diski, ancak sizin için herhangi biri olabilir.

[root] klasörüne gidin. Yerel C: sürücüsünün tam kopyasını edinebilirsek, genel olarak C:\ altında göreceğiniz tüm klasörleri ve dosyaları görebilmemiz gerekir .

Şimdi bazı kovanlarımızın depolandığı bu sürücünün config dizinine gidelim.

Kovanların mevcut olduğunu görebiliriz.

Bu derste, sistem korumalı dosyaları elde etmek, özel görüntüler oluşturmak ve görüntüleri bilgisayara bağlamak için FTK görüntüleyicinin nasıl kullanılacağını tartıştık. Bir sonraki derste, yerleşik ve 3. taraf araçları kullanarak canlı ve çevrimdışı kayıt defteri kovanlarında nasıl gezineceğimizi tartışacağız.

Regedit ve Kayıt Defteri Gezgini

Bu derste size kayıt defterinde nasıl gezineceğinizi ve Ders 1’de tartıştığımız anahtarları ve kovanları nasıl keşfedeceğinizi göstereceğiz. Önce Regedit aracını, ardından Kayıt Defteri Gezgini’ni inceleyeceğiz. Kurs boyunca, kolaylığı nedeniyle Kayıt Defteri Gezgini kullanılacaktır. Ancak dilerseniz Regedit’i kullanabilirsiniz.

Düzenleme

Regedit (Kayıt Defteri Düzenleyicisi), Windows işletim sisteminde kullanıcıların kayıt defterini görüntülemesine ve düzenlemesine olanak tanıyan bir yardımcı programdır. Regedit’i kullanarak kayıt defteri anahtarlarını ve değerlerini görüntüleyebilir, oluşturabilir ve değiştirebilir, ayrıca kayıt defterinden verileri içe ve dışa aktarabilirsiniz. İşletim sistemindeki çeşitli ayarları yapılandırmak ve sorunları gidermek için kullanılabilecek güçlü bir araçtır. Ancak Regedit’i kullanırken çok dikkatli olmak önemlidir, çünkü kayıt defterinde değişiklik yapmak istenmeyen sonuçlara yol açabilir ve hatta doğru yapılmazsa sisteminizde ciddi sorunlara neden olabilir.

Not: Regedit, Microsoft Windows’ta varsayılan olarak mevcuttur.

Regedit’i açmak için görev çubuğunuzdaki “Ara” seçeneğine gidebilir ve Regedit’i arayabilirsiniz:

Bahsettiğimiz root kayıt anahtarlarını uygulama açıldığında görebiliyoruz.

Bilgisayarlarla ilgili yapıtların çoğunun “HKEY_LOCAL_MACHINE ” içinde olacağını ve belirli kullanıcılara bağlı yapıtların “ HKEY_CURRENT_USER ” içinde olacağını tartıştığımızı unutmayın . Canlı bir kayıt defterini analiz ederken “ HKEY_CURRENT_USER ” altında göreceğimiz veriler, oturum açan kullanıcının (yani bizden) “NTUSER.DAT” ve “UsrClass.dat” adresinden alınacaktır. ” HKEY_CURRENT_USER ” öğesini genişletelim .

HKEY_CURRENT_USER altında farklı klasörler görebiliriz . Bunları HKEY_CURRENT_USER kök anahtarının alt anahtarları olarak adlandırabiliriz . Benzer şekilde bu alt anahtarlardan birini genişlettiğimizde onun altındaki klasörler o alt anahtarın alt anahtarları olacaktır. Hiyerarşik bir ilişkidir.

Herhangi bir anahtara/alt anahtara tıkladığımızda sağ tarafta anahtarın sakladığı değerleri ve bilgi türlerini görebiliriz.

Bu örnekte 7zip yazılımına ait sıkıştırma alt anahtarının içindeki değerleri görüntülüyoruz.

Üst arama paneline bizi doğrudan hedefimize götürecek anahtar yolu da yazabiliriz. Değerli verilerin yazılı olduğu değerli kayıt defteri anahtarlarının yollarına sahipseniz bu özellik çok kullanışlıdır.

Not: Not almak ve değerli anahtar yolları yazmak teşvik edilir. Bir sonraki dersten itibaren kayıt defterindeki yapıtları tartışmaya başlayacağız.

Kayıt Defteri Gezgini, Eric Zimmerman 

Eric Zimmerman’ın genellikle EZ araçları olarak adlandırılan bir araç paketi vardır. Bu araçların tümü dijital adli tıp ve olaylara müdahale ile ilgilidir. Bu kursta bu araçlardan birkaçını inceleyeceğiz. Bunlardan biri Kayıt Defteri Gezgini’dir. Regedit yerine Kayıt Defteri Gezgini’ni seçmemizin nedeni, Kayıt Defteri Gezgini’nin çevrimdışı kovanların yanı sıra canlı kovanları da araştırmamıza izin vermesidir. Ayrıca tam görünürlük sağlamak için kovanlarımızı zenginleştiren işlem günlüklerini de ayrıştırır. Ayrıca, Kayıt Defteri Gezgini daha kompakt ve daha temiz bir GUI’ye sahiptir ve değerler kolayca okunabilir ve uygun şekilde sıralanabilir.

Bu aracı şu adresten indirebilirsiniz: https://ericzimmerman.github.io/#!index.md

Not: Bu araç, kolaylık sağlamak amacıyla laboratuvar makinesine sizin için zaten yüklenmiştir. Herhangi bir sorunla karşılaşmamak için yönetici olarak çalıştırın.

Hem canlı kovanları hem de bir önceki derste edindiğimiz kovanları inceleyelim.

Live Hives

Varsayılan açılış menüsü şu şekildedir:

“Dosya”ya gidin ve “Canlı Sistem”e tıklayın.

Bu, araca 1, 2 veya tüm kovanları yüklememize olanak tanır. Kullanıcılar seçeneği, sistemlerde mevcut olan kullanıcıya özel kovanlardan herhangi birini seçmemize olanak tanır. Şu anda “pc” kullanıcısı olarak oturum açtım.

Örnek olarak SAM kovanını yükleyelim.

Verilerin çoğu “ROOT” anahtarının altında olacaktır. İlgili silinmiş kayıtlar da analiz edilmelidir çünkü bunlar genellikle en son kovanda bulunmayan silinmiş/değiştirilmiş değerleri içerir. İlişkili silinmiş kayıtlardaki veriler, daha önce tartıştığımız canlı kovan ile yedek olarak saklanan kovanın karşılaştırılmasıyla doldurulur.

Kullanıcının alt anahtarını okumaya çalışıyoruz.

Kullanıcıların hangi gruplara ait olduğu bilgisini güzel bir formatta alıyoruz. Şimdi ilginç bir durum, ilişkilendirilmemiş silinmiş kayıtların görülmesidir. Hesabımı oluşturduğumda adım “pc” idi. Daha sonra kullanıcı adımı “CyberJunkie” olarak değiştirdim. Bu değişiklik sisteme tam olarak yansımadığı için çatışmaya neden oldu. “c:\Users\” altındaki Ana dizinim hâlâ “CyberJunkie” yerine “pc” klasörü olarak görünüyor. Yukarıdaki ekran görüntüsünde “pc” adında bir kullanıcı göremiyoruz ancak “CyberJunkie” adında bir kullanıcı görebiliyoruz. Şimdi aynı anahtarı silinmiş kayıtlar anahtarında okumaya çalışırsak, “pc” adında, üzerinde kırmızı çarpı işareti bulunan ve bunun silinmiş bir kaynak olduğunu belirten bir anahtar olacağını göreceksiniz.

Şimdi çevrimdışı kovanların işlem günlükleriyle birlikte yüklenmesini tartışalım.

Çevrimdışı Kovanlar

Bu bölümde 2. derste edindiğimiz ve FTK Imager kullanarak monte ettiğimiz kovanları yükleyeceğiz.

Öncelikle bir önceki bölümden zaten yüklü olan kovanları temizlememiz gerekiyor. “Dosya”ya gidin ve “tüm kovanları kaldır”a tıklayın. Şimdi tekrar “Dosya”ya gidin ve “Kovanı Yükle”ye tıklayın.

Ardından monte edilen görüntüye ve kovanların depolandığı yola gidin.

Tüm kovanları ve işlem günlüklerini seçin ve “Aç”a tıklayın. Daha sonra kirli bir kovanın tespit edildiğine dair bir uyarı alacaksınız. İşlem kayıtları burada devreye giriyor ve kovanları temizliyor. “Evet”e ve ardından “tamam”a tıklayın.

Dosyaları tekrar seçmenizi isteyecektir. Bunlar işlem günlükleri olacak. Program, yüklediğiniz her kovan için bu kirli kovan diyaloğunu soracaktır. Yukarıdaki resimde gördüğünüz gibi güvenlik amacıyla “işlem kayıtlarının bu kovana karşı yeniden oynatılması” için doğrulamanızı istiyor. SHIFT düğmesini basılı tutarken güvenlik işlem günlüklerini seçin.

Not: 1. adımda daha önce yüklediğiniz tüm Hive’ların işlem günlüklerini yüklemeniz istenecektir. Bu örnekte 4 Hive (GÜVENLİK, SAM, SİSTEM ve YAZILIM) yükledik, böylece size toplam doğrulama istemini verecektir. 4 kez. İzlenecek yolda bunu yalnızca GÜVENLİK kovanı için yaptık. Eğer takip ediyorsanız yukarıdaki işlemi tamamlayın.

Sistem, Kullanıcılar ve Ağ Bilgileri

Bu dersimizde kullanıcılar, gruplar, işletim sistemi sürümü ve derleme numarası gibi sistem bilgileri, aktif arayüzler gibi ağ bilgileri, açılan dosya paylaşımları vb. hakkındaki bilgilerin nasıl alınacağını tartışacağız. Kullanıcı Bilgileriyle başlayalım.

Not: Lütfen 2. derste tartıştığımız tüm kovanları Kayıt Defteri Gezgini aracına yükleyin.

Kullanıcı bilgisi 

Bu bilgiler SAM kovanında depolanır. Burada kullanıcı hesapları, kullanıcı grupları, oturum açma bilgileri, şifre politikaları vb. için saklanan bilgileri bulabiliriz.

Tüm kovanları yükledik, böylece hepsine erişebiliyoruz.

Sistemdeki mevcut kullanıcıları görelim. Anahtarın yolu şudur:

– SAM\Etki Alanları\Hesap\Kullanıcılar

Aktif kullanıcıların listesini “Kullanıcılar” anahtarının değerleri olarak görebiliriz. Bu isimleri de bahsettiğimiz kullanıcı anahtarının altındaki “Adlar” alt anahtarı altında görüntüleyebiliriz. Ayrıca silinen kullanıcı bilgilerini de bize verir. Bu, bir saldırganın herhangi bir kullanıcıyı vb. silmesi durumunda faydalı olabilir.

Grubun bilgilerini de yukarıda görüldüğü gibi kullanıcı anahtarındaki değer olarak görüyoruz. Ek gruplar oluşturursak, bunları şu anda boş olan ayrı gruplar anahtarının altında görürüz.

Sistem bilgisi

Bu bilgilerin çoğu SİSTEM, YAZILIM kovanında saklanır. Sistem yapılandırmasını, işletim sistemi bilgilerini, ağ bilgilerini, saat dilimi bilgilerini vb. bulabiliriz.

Sistem konfigürasyonu Kontrol setlerinde saklanır. SİSTEM kovanında 2 kontrol seti buluyoruz. Bazen 2 farklı kontrol seti de bulabiliriz. “001” ve “002” olarak numaralandırılırlar. İlk kontrol seti sistem tarafından kullanılan konfigürasyonu, ikincisi ise son çalışan konfigürasyonu ifade eder. Arıza durumunda yedek görevi görebilir. Kontrol setleri, sistem arızası olaylarını veya donanım arızası olaylarını araştırırken faydalı olabilir. “ControlSet001″in aynı anahtar değerlerini, diskte değil bellekte kalıcı olan “CurrentControlSet” adlı başka bir anahtarda da bulabiliriz. Ne yazık ki kayıt defteri gezgini bu mevcut anahtarı bağlayamıyor ancak regedit’te mevcut.

Kontrol setinin konumu

– SYSTEM\ControlSet001

– SYSTEM\CurrentControlSet

Sistem tarafından da kullanılan ControlSet001’i keşfedelim.

Burada, önyükleme hizmetleri (gelecek derslerde tartışacağımız), donanım profilleri, sürücü bilgileri vb. gibi çok miktarda bilgi bulunabilir. Çok uzun olabileceğinden ayrıntılara girmeyeceğiz.

Bulabileceğimiz bir sonraki bilgi işletim sistemi sürümüdür. Bu bize yardımcı olabilir çünkü bilgisayarın mimarisi, yapı numarası vb. gibi önemli bilgileri bulabiliriz. Bu, açıklardan yararlanılması durumunda bize yardımcı olabilir, söz konusu yapı numarasına yönelik güvenlik açıklarını bulabiliriz, vb.

Bu bilgilerin yeri:

– SOFTWARE\Microsoft\Windows NT\CurrentVersion

Ağ Bilgileri 

VPN/Proxy kullanımı, geçmişte bağlanılan ağlar, mevcut TCP/IP yapılandırması, arayüzler vb. gibi önemli bilgileri bulmak için ağ bilgilerinden yararlanabiliriz. Sistemin bağlandığı ağları bularak başlayalım.

Bu bilgilerin yeri:

– SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList

Ağın SSID’lerini (ister ethernet ister kablosuz olsun), bilgisayara ilk bağlandığı zamanı, bilgisayarda en son ne zaman aktif olduğunu ve bu bağlantıyı sağlayan yönlendiricinin MAC adresini bulabiliriz. Ağ adları, zaman damgaları vb. ile ilgili kanıtımız olduğundan bu verimli bir kanıt olabilir. Örneğin, bir çalışanın izni olmadığı için belirli bir LAN ağına bağlanma izni yoktur. Ancak çalışan, izni olmadığı LAN ağına bir şekilde bağlanmayı başarıyor. Bu hipotezi, çalışanın içeriden bir tehdit olup olmadığını belirlemek amacıyla davranışını daha fazla araştırmak için kullanabiliriz.

Ayrıca aşağıdaki anahtar değerleri okuyarak sistemdeki Açık ağ paylaşımlarını da görebiliriz:

– SYSTEM\CurrentControlSet\services\LanmanServer\Shares

Aşağıdaki örnekte “WorkDrive” bilgisayarımdaki açık bir Ağ paylaşımıdır. Bu bilgi, saldırganın güvenliği ihlal edilen makineden/makineden erişilebilen yanal hareket tekniklerini ortaya çıkarmamıza yardımcı olabilir.

TCP/IP konfigürasyonu ve arayüz bilgilerine aşağıdaki konumlardan ulaşabilirsiniz.

– SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

– SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces

Shellbags

Shellbags, bir kullanıcı Windows’ta GUI tabanlı dosya gezgini olan (CLI’ye atıfta bulunan kabukla karıştırmayın) kabukla (işletim sistemine ve dosya sistemine erişim için kullanıcı arayüzü) etkileşime girdiğinde oluşturulan yapılardır. Kabuk torbaları, bir klasörün boyutu, konumu ve içerdiği öğeler gibi durumu hakkında bilgiler içerir. Bu bilgiler, kullanıcı klasöre yeniden eriştiğinde klasörün, kullanıcının en son etkileşimde bulunduğu durumdaki aynı durumda görüntülenebilmesi için saklanır. Örneğin, klasör görünümünüzü, boyutu daha küçük veya daha büyük görünecek şekilde ayarlamış veya dosya gezgininde klasörlerin görüntülenme sırasına göre yeniden düzenlemiş olabilirsiniz. Bu bilgiler kabuk torbalarında tutulur, böylece bu yapılandırma devam eder.

Shellbag eserleri, siber suç soruşturmaları, çalışanların suistimalleri ve veri ihlalleri dahil olmak üzere çeşitli adli bağlamlarda yararlı olabilir. Kullanıcının etkinlikleri ve eriştiği klasörler hakkında bilgi sağlayabilir. Örneğin, bir kullanıcı hassas dosyalar içeren bir klasöre erişmişse, bu klasörün kabuk çantası, bu belgelerin adı ve konumu hakkında bilgiler içerebilir. Dosyaları silerek veya taşıyarak izlerini gizlemeye çalışan bir kullanıcının etkinliklerini izlemek için özellikle yararlı olabilirler. Bu durumlarda, kabuk çantalarında saklanan bilgiler kullanıcının etkinliklerinin tek kaydı olabilir ve değerli kanıtlar sağlayabilir.

Kabuk torbaları kayıt defterinde aşağıdaki konumlarda depolanır:

– NTUSER.DAT\Software\Microsoft\Windows\Shell\BagMRU

– NTUSER.DAT\Software\Microsoft\Windows\Shell\Bags

– USRCLASS.DAT\Local Settings\Software\Microsoft\Windows\Shell\Bags

– USRCASS.DAT\Local Settings\Software\Microsoft\Windows\Shell\BagMRU

Yukarıdaki yollardan herhangi birine giderseniz, değerler ikili biçimde mevcut olduğundan orada bulunan verileri okuyup anlayamadığınızı fark edeceksiniz. Windows, bu verinin boyutunu küçülterek verimlilik için bu veri biçimini ikili dosya biçiminde tutar. Ancak ikili verileri insan tarafından okunabilen ASCII formatına dönüştüren birçok araç kullanabiliriz. Bu eseri analiz etmek için Eric Zimmerman’ın ShellbagExplorer’ını kullanacağız.

Aracı şu adresten indirebilirsiniz: https://ericzimmerman.github.io/#!index.md ücretsiz.

Aracı açtığınızda, sizi ürün ve hizmetleri hakkında bilgilendirmek için isteğe bağlı olarak bir e-posta isteyecektir. Kayıt olmanıza veya e-posta adresinizi vermenize gerek yok, bu sadece isteğe bağlıdır, isterseniz bu kısmı atlayabilirsiniz ve araç başlayacaktır.

Sol üstteki “Dosya”ya gidin ve ihtiyacınıza göre “Etkin Kayıt Defterini Yükle” veya “Çevrimdışı Kayıt Defterini Yükle”ye tıklayın. Bizim durumumuzda aktif bir kayıt defteri yükleyeceğiz.

NTUSER.DAT ve UsrClass.dat kovanlarındaki kabuk torbalarını otomatik olarak ayrıştıracaktır. Shelbag’lerden kaç tane varlığın bulunduğu ve ne kadar zaman aldığı hakkında size bilgi verecektir.

Güzel ve temiz bir klasör hiyerarşisi elde edeceksiniz.

Bu, dosya gezgininde ziyaret edilen tüm klasör konumlarına sahip olacaktır. “Bilgisayarım” klasörünü genişleterek bilgisayarınızdaki tüm klasör klasörlerine ve sürücülere alfabetik sırayla erişebileceksiniz.

Shellbag’leri adli açıdan çalışırken görmek için, Masaüstümüzde “LetsDefend_Shellbags” adında bir klasör oluşturalım ve sonra onu silelim.

Şimdi klasörü siliyorum.

Aktif kovanı kabuklu çantalar gezginine yeniden yükleyelim. Sildiğimiz halde klasör adını görebiliyoruz. Bu yapı aynı zamanda ziyaret edilen ağ paylaşımlarının yollarını, çıkarılabilir aygıtları (USB vb.) de saklar ve bu da başlı başına kullanışlı bir bilgidir. Kullanıcının ağ paylaşımlarında veya USB’de ne tür verilere göz attığını bulabiliriz.

Not: Shellbag’lerin kayıt defterinde güncellenmesi biraz zaman alabilir.

Unutulmaması gereken bir diğer önemli nokta da, kabuk çantalarının aynı zamanda zip dosyalarının adlarını da saklamasıdır ve sıkıştırılmış dosyaların altındaki klasör(ler) şifre korumalı olmasa bile. Kullanıcı tarafından indirilen herhangi bir kötü amaçlı arşiv durumunda bu çok yararlı olabilir. Aşağıdaki ekran görüntüsüne bakın.

Bir Senaryo

Bir şirketteki bir çalışanın, hassas şirket belgelerini bir rakibe sızdırdığından şüphelenildiğini düşünün. Şirketin BT departmanı konuyu araştırmakla görevlendirildi ve söz konusu çalışanın yakın zamanda hassas belgeleri içeren bir klasöre eriştiğini belirledi. Ancak çalışan, belgeleri klasörden silmiş ve bunlara hiç erişmediğini iddia ediyor.

Bu senaryoda BT departmanı, çalışanın hassas belgeleri içeren klasöre erişip erişemediğini belirlemek için kabuktan oluşan yapılara başvurabilir. BT departmanı, söz konusu klasöre ilişkin kabuk yapıtlarını inceleyerek çalışanın klasöre eriştiğine dair kanıt bulabilir ve hatta erişilen belirli belgeleri bile belirleyebilir. Bu bilgiler şirketin soruşturmasını desteklemek ve potansiyel olarak çalışanın görevi kötüye kullandığına dair kanıt sağlamak için kullanılabilir.

Bu derste mermi torbalarını, bunların adli açıdan ne kadar kritik olduğunu, mermi torbaları gezgini kullanılarak bunların nasıl analiz edileceğini ve mermi torbalarının vakayı kapatmaya yardımcı olduğu bir adli soruşturma senaryosunu tartıştık.

Shimcache

Uygulama Uyumluluk Önbelleği (AppCompatCache) olarak da bilinen Shimcache, sistemde çalışan yürütülebilir dosyalar hakkındaki bilgilerin bir kaydıdır. Genellikle dosyanın adı ve yolu, çalıştırıldığı zaman damgası ve dosyanın yolu gibi bilgileri tutar. diğer meta veriler. Bu özellik, Windows’un yeni sürümlerindeki eski uygulamaların geriye dönük uyumluluğunu kanıtlamayı amaçlamaktadır. 7/8 gibi eski Windows sürümünde bu yapının yalnızca dosyanın yürütülüp yürütülmediğini işaretleyen bir işlevi vardı. Ancak Windows 10’da, bu işleve ek olarak shimcache, Dosya Gezgini’nde görünen yürütülebilir adları da saklar.

Bir dizinde 20 farklı yürütülebilir dosyanız olduğunu varsayalım. Bu dizini Dosya Gezgini’nde açarsınız ve Dosya Gezgininiz daha küçük bir ölçekte yeniden boyutlandırıldığı için bu yürütülebilir dosyalardan yalnızca 5 tanesi görünür. Bu senaryo sırasında shimcache, yürütülmemiş olsalar bile bu 5 yürütülebilir dosyanın bilgilerini kaydedecektir. Şimdi, kaşif penceresini büyütürseniz ve 20 dosyanın tümü görünürse, bu 20 yürütülebilir dosya shimcache verilerinde olacaktır. Özetle, bir uygulamanın yalnızca shimcache tarafından yürütüldüğünü kanıtlamamızın hiçbir yolu yoktur. Dosya Gezgini’nde yeni göz atılmış olabilir. Shimcache, diskten silinmiş olsa bile bir dosyanın varlığını kanıtlayabildiği için adli açıdan değerli bir araçtır. Bu eserin bir diğer değeri de ister yerel sistemden, ister ağ paylaşımından, ister USB cihazından olsun, yukarıda bahsettiğimiz verileri saklamasıdır.

Shimcache, adli tıp araştırmacıları tarafından bir sistemde hangi programların çalıştığını, bunların yürütüldüğü kesin zaman damgalarını, yürütülmeseler bile yürütülebilir dosyaların varlığını belirlemek için kullanılabilir. Bu, dosyanın kendisi uzun zaman önce silinmiş olsa bile yürütülen uygulama bilgilerini saklar. Bu, olaylara müdahale, kötü amaçlı yazılım analizi ve dijital adli tıp dahil olmak üzere çeşitli durumlarda yararlı olabilir.

Shimcache’in kullanım örneklerinden biri, sisteme yüklenmiş olabilecek kötü amaçlı yazılımların belirlenmesine yardımcı olmaktır. Bir araştırmacı, shimcache’i analiz ederek sistemde hangi yürütülebilir dosyaların çalıştırıldığını ve bunların ne zaman çalıştırıldığını belirleyebilir. Shimcache’de bilinen iyi bir programla ilişkili olmayan bir yürütülebilir dosya bulunursa, bu kötü amaçlı yazılım belirtisi olabilir. Shimcache’in başka bir kullanım durumu, bir kullanıcının sistem üzerindeki etkinliğini belirlemektir. Shimcache’i analiz eden bir araştırmacı, kullanıcı tarafından hangi programların çalıştırıldığını ve bunların ne zaman çalıştırıldığını belirleyebilir. Bu, bir olaya veya ilgilenilen bir olaya ilişkin kullanıcının eylemlerini belirlemede yararlı olabilir.

Bir uygulamanın yalnızca shimcache’den yürütülüp yürütülmediğini anlayamadığımız için bu yapı genellikle kafa karıştırıcıdır. Shimcache kanıtlarını, bir sonraki derste tartışacağımız amcache gibi diğer yapılar ile ilişkilendirebiliriz. Yani shimcache depoları:

1) Yürütülebilir infazların kanıtı

2) Yürütülebilir dosyanın varlığının kanıtı (GUI’den görüntüleniyorsa. CLI’den dosya adlarının listelenmesi bu kayıt defteri anahtarına doldurulmayacaktır.)

Shimcache’in bir saldırgan tarafından değiştirilebileceğini veya silinebileceğini unutmamak önemlidir; bu nedenle, shimcache’i incelerken kanıtın bütünlüğünü korumak önemlidir.

Bu eser şu adreste bulunmaktadır:

– SYSTEM\CurrentControlSet\Control\Oturum Yöneticisi\AppCompatCache

Not: SYSTEM kovanında “CurrentControlSet” adında bir anahtar görmüyorsanız, ControlSet001’i seçebilirsiniz çünkü bu ve mevcut anahtar hemen hemen aynıdır. Yolun geri kalanı aynı.

AppCompatCacheParser

Shimcache verileri, kabuklu çantalar gibi insanların okuyabileceği bir formatta değildir. Eric Zimmerman’ın AppCompatCache ayrıştırıcısı adlı başka bir aracı kullanabiliriz. Şu adresten indirebilirsiniz: https://ericzimmerman.github.io/#!index.md ücretsiz.

Bu araç CLI tabanlıdır. Yapıyı ayrıştıracak ve çıktıyla birlikte bir CSV dosyası oluşturacaktır. Microsoft Excel gibi herhangi bir CSV okuyucuyu veya kullanacağımız Eric Zimmerman tarafından tasarlanan Timeline Explorer adlı başka bir aracı kullanabiliriz. Şimdi mevcut argümanları görmek için CLI’den koşalım.

İşte hangi argümanları kullanacağımızın bir özeti:

1) -f : SİSTEM kovanının yolu. Hiçbir şey belirtilmediği takdirde canlı kovan kullanılacaktır. Örneğimizde bunu kullanacağız ancak çevrimdışı kovan analizi durumunda mutlaka bir yol verilmelidir.

2) –csv : Çıktı dosyasının kaydedilmesi gereken yerde tırnak işaretleri içeren tam bir yol sağlamalıyız.

3) –csvf : Çıktı dosyasına isim verin.

Yani son komutumuz şöyle olacak:

Komut: AppCompatCacheParser.exe –csv “Kaydedilecek yol” –csvf dosya adı

Not: Komut istemini Yönetici ayrıcalıklarıyla çalıştırın.

Ayrıştırma tamamlandıktan sonra bulduğu girişleri görüntüler.

Şimdi CSV’yi, bilgileri Excel’den daha düzenli ve temiz biçimde görüntüleyen ve girişleri zaman damgalarına göre sıralayan Zaman Çizelgesi Gezgini ile açacağız. Ayrıca Zaman Çizelgesi Gezgini salt okunur modda çalışır. Excel dosyaları düzenlenebilir ve yanlış tıklamalar verilerimizin değiştirilmesine neden olabilir. Şimdi Zaman Çizelgesi Gezgini’ni açın ve “Dosya”ya, ardından “Aç”a tıklayın.

Önceki adımlarda çıktı olarak oluşturduğumuz CSV dosyasını açtığımızda tüm uygulama yollarını ve zaman damgalarını görüyoruz. Dosyanın kendisi silinmiş veya kaldırılmış olsa bile, shimcache verilerinin kendisi silinmediği veya değiştirilmediği sürece dosya adı ve yolu shimcache’de kalır.

En son çalıştırılan veya Dosya Gezgini’nden göz atılan uygulamayı bulabiliriz ve olayın ne zaman meydana geldiğini bilirsek bu çok değerli olabilir. Daha sonra bu zaman çerçevesinde yürütülen uygulamaları arayabiliriz.

Bir Senaryo 

Bir şirket, hassas verilerin sistemlerinden sızdırıldığı bir olayla karşılaştı. Olay müdahale ekibi ihlalin nedenini araştırmak ve belirlemek için çağrılır. Ekibin yapması gereken ilk şeylerden biri, etkilenen sistemlerden adli delilleri toplamak ve analiz etmektir. Ekip, shimcache’i analiz ederek, etkilenen sistemlerde hangi programların çalıştırıldığını ve bunların ne zaman çalıştırıldığını belirleyebiliyor.

Veri sızıntısı meydana gelmeden kısa bir süre önce, etkilenen sistemlerde şüpheli adı taşıyan yürütülebilir bir dosyanın çalıştırıldığı keşfedildi. Shimcache’de dosya adını, çalıştırıldığı zaman damgasıyla birlikte bulabilirler.

Ekip daha sonra şüpheli yürütülebilir dosya üzerinde ayrıntılı bir analiz gerçekleştiriyor ve bunun, verilere sızmak için kullanılan kötü amaçlı yazılım olduğunu belirliyor. Bu bilgileri, saldırının kaynağını bulmak ve gelecekte benzer olayları önlemek için uygun önlemleri almak için kullanabilirler.

Bu senaryoda shimcache, etkilenen sistemlerde çalıştırılan programlar hakkında önemli bilgiler sağlayarak soruşturmada çok önemli bir rol oynadı. Olay müdahale ekibinin saldırıda kullanılan kötü amaçlı yazılımı belirlemesine ve ihlale yol açan olayların sırasını anlamasına yardımcı oldu.

Bu derste AppCompatCache/ShimCache yapısını, bunun neden önemli bir kanıt kaynağı olduğunu ve neden sıklıkla karıştırıldığını ve yanlış anlaşıldığını ele aldık. Bir sonraki derste, shimcache’den bulunan kanıtları destekleyecek olan amcache eserini inceleyeceğiz.

Amcache

Amcache kovanı, Windows sistemlerinde bulunan ve sistemde yürütülen uygulamalar ve programlar hakkında bilgi içeren bir yapıdır. Sistemde çalıştırılan programların daha verimli çalışmasına yardımcı olmak için bu programlarla ilgili bilgileri saklayan Windows Uygulama Uyumluluk Önbelleğinin bir parçasıdır. Adli tıp açısından bakıldığında, sistem üzerinde çalışan programları ve bunların tam olarak çalıştırılma zamanlarını belirlemek için kullanılabilir. Bu bilgi, şüphelinin faaliyetlerini belirlemeye çalışan adli tıp araştırmacıları için faydalı olabilir. Ayrıca yazılımın sisteme ne zaman yüklendiğini ve kurulum dosyalarının konumunu belirlemek için de kullanılabilir. Bu, yetkisiz yazılım kurulumlarını tanımlamak veya bir kuruluştaki yazılımın dağıtımını izlemek için yararlı olabilir. Amcache Hive ayrıca ağ paylaşımları, USB cihazları vb. gibi harici cihazlardan/kaynaklardan yürütülen uygulama verilerini de saklar.

Amcache 1. derste kısaca bahsettiğimiz bir kovandır. Uygulama yolu, dosya meta verileri (açıklama, yayıncı adı), zaman damgaları (oluşturma, değiştirme ve silme) ve dosyanın SHA-1 karmaları gibi bilgileri tutan anahtar/değer çiftlerini içerir.

Bu kovan şu adreste bulunur:

– C:\Windows\AppCompat\Programs\Amcache.hve

Amcache ve Shimcache Arasındaki Fark 

Daha önce tartıştığımız shimcache’in aksine Amcache, yürütmenin daha güvenilir bir kanıtı olarak düşünülebilir. Amcache, ilk yürütme zaman damgası, silme zaman damgası (bir dosya silinmişse), yürütülebilir dosyaların karma değerleri vb. gibi ek verileri saklar. Ayrıca, şüpheli ve güvenilmeyen dosyaları bulmamıza yardımcı olabilecek uygulama yayıncısının adını da saklar. herhangi bir yayıncı adı var. Yürütülebilir bir dosya oluştururken yayıncı adı eklemek zor olmasa da, metasploit, Empire gibi kötü amaçlı yazılım oluşturucuların çoğu, aşamalandırıcılar oluştururken herhangi bir meta veriye sahip değildir.

Windows 7 ve daha eski sürümlerde amcache, “RecentfileCache” olarak adlandırıldı ve şu konumda bulunuyordu:

– C:\Windows\AppCompat\Programs\recentfilecache.bcf

Bu kovanı keşfedelim.

İnfaz kanıtı şu adreste bulunur:

AMCACHE\{GUID}\Root\InventoryApplicationFile

“InventoryApplicationFile” anahtarı, dosya silinse bile sistemde yürütülen yürütülebilir dosyalar hakkında ayrıntılı bilgileri saklar.

Bir olay varsa, olay zaman diliminde yürütülen uygulamaları bulmaya çalışabiliriz. Bu, gürültüyü azaltmamıza ve yalnızca ilgili verilere odaklanmamıza olanak tanıyabilir.

Sürücü verilerini aşağıdaki anahtardan da görüntüleyebiliriz:

– AMCACHE\{GUID}\Root\InventoryDriverBinary

Bu, rootkit vb. gibi davranan kötü amaçlı sürücüleri ortaya çıkarmamıza yardımcı olur. Bu yapıyla ilgili güzel bir şey, SHA-1 karma değerini saklamasıdır; bu, görünmeyen bir kötü amaçlı yazılım olmadığı sürece dosyanın itibarını çok hızlı bir şekilde doğrulamamıza olanak tanır.

Ancak çok fazla veri mevcutsa kayıt defterinden analiz yapmak yoğun olabilir. Eric Zimmerman’ın tasarladığı AmcacheParser adlı başka bir aracı kullanabiliriz. AmcacheParser, tıpkı shimcache dersinde yaptığımız gibi CSV dosyaları oluşturur. Daha sonra çıktıyı Zaman Çizelgesi Gezgini’nde analiz edebilir ve ihtiyaç duyduğumuz filtreleri uygulayabiliriz. Bu aynı zamanda bir CLI aracıdır.

AmcacheParser 

Amcache ayrıştırıcısını şu adresten indirebilirsiniz: https://ericzimmerman.github.io/#!index.md ücretsiz.

Mevcut seçenekleri görerek başlayalım.

Not: CMD’yi Yönetici olarak çalıştırın.

Kullanacağımız argümanların üzerinden geçelim:

1) -f : Amcache kovanına bir yol vermemiz gerekecek. Canlı kovana giden yol ya da çevrimdışı bir yol.

2) –csv : Çıktı dosyasının kaydedileceği yol. Yolu “” tırnak içine almayı unutmayın.

3) –csvf : Uzantının yanında dosya adının çıktısını alır.

Bu 2 anahtara dikkat edin.

Bilinen iyi uygulamaların veya kuruluşunuzda izin verilen uygulamaların SHA-1 hash değerlerini içeren bir dosya belirtebiliriz. -w anahtarını kullanarak amcache’de bulunan bilinen iyi uygulamaları hariç tutabilir ve ardından geri kalan dosyaları analiz edebiliriz. Analistler yasal olarak izin verilen uygulamalarla zamanlarını boşa harcamayacağından bu, analiz süresinin önemli ölçüde azaltılmasına yardımcı olabilir.

Benzer şekilde, bilinen kötü amaçlı yazılımların veya kötü amaçlı dosyaların SHA-1 karmalarını içeren bir dosya da belirtebiliriz. -b anahtarını kullanarak, yalnızca eşleşen kötü amaçlı dosyalar için amcache sonuçlarını bulabiliriz ve bu, incelemeler sırasında çok yardımcı olacaktır. Örneğin, kuruluşunuz Emotet kötü amaçlı yazılım çeşitleri tarafından hedefleniyorsa, doğada tespit edilen Emotet çeşitlerinin tüm SHA-1 karma değerlerini toplayabilir ve başarılı olup olmadıklarını görmek için bunları burada eşleştirebilirsiniz.

Bu anahtarlar bu aracın kullanışlı özellikleridir ve kısaca bunların üzerinden geçmek istedik ancak bunları bizim durumumuzda kullanmayacağız. Şimdi komutu çalıştıralım.

Komut: AmcacheParser.exe -f “C:\Windows\appcompat\Programs\Amcache.hve” –csv “Çıktının kaydedileceği yol” –csvf çıktı.csv

Sağlanan ekran görüntülerinde görebileceğiniz gibi, bulabileceği yürütme girişlerini, kısayolları ve sürücü ikili dosyalarını görebiliyoruz. Bu dersin ve bu dersin ana odağı olduğundan sadece bu derste dosya girişlerini analiz edeceğiz.

Bir dizi CSV dosyası görebiliriz ve Zaman Çizelgesi Gezgini’nde “amcache_UnassociatedFileEntries” dosyasını açacağız.

CSV dosyasında çok fazla veri olduğundan, alakasız sütunlardan bazılarını gizleyebiliriz.

Sütun adına gidin, sağ tıklayın ve “Sütunu gizle” seçeneğini seçin.

Artık ilgili verileri görebiliriz.

Şimdi yürütülebilir dosyalardan birinin karma değerini kopyalayıp VirusTotal.com’da çalıştırmayı deneyelim. Analiz ettiğimiz çıktıyı oluşturmak için kullandığımız amcache ayrıştırıcısını seçelim.

Karmaya çift tıklarsak, amcache ayrıştırıcısının karmasını içeren yeni bir pencere açarız.

Hash değerini kopyalayıp VirusTotal.com’da çalıştıralım. Aşağıdaki ekran görüntüsünde görebileceğiniz gibi VirusTotal bunu güvenli olarak işaretledi ve bunu, aracı indirdiğimiz dizinde bulunan amcacheparser.dll olarak tanıyor.

Bir Senaryo 

Belirli bir süre boyunca virüs bulaşmış bir bilgisayarda hangi programların çalıştırıldığını belirlemeye çalışan bir adli tıp araştırmacısı olduğunuzu hayal edin. Sistemde çalıştırılan tüm programların listesini ve çalıştırıldıkları tam tarih ve saat bilgisini bulmak için amcache’i kullanabilirsiniz. Kullanıcının indirilenler dizini altında yayıncı adı olmayan bir dosya buldunuz. Oluşturma zaman damgası aynı zamanda olay zaman çerçevesiyle de eşleşir. Daha sonra dosyanın karma değerini kopyalayıp birden fazla tehdit istihbaratı platformunda çalıştırırsınız. Bunun, olaydan 1 gün önce internette ortaya çıkan Emotet kötü amaçlı yazılımının yeni bir çeşidi olduğunu, dolayısıyla antivirüs yazılımınızın bunu tespit edemediğini öğreniyorsunuz. Daha sonra daha fazla analiz gerçekleştirebilir ve uç noktayı kapsayabilirsiniz.

Bu derste amcache’in önemini, shimcache’den nasıl farklı olduğunu, kalıcı veya tespit edilemeyen kötü amaçlı yazılımları avlamaya nasıl yardımcı olabileceğini tartıştık. Bir sonraki derste, yalnızca yürütülebilir ikili dosyalar yerine tüm dosya türlerine erişim kanıtını gösterme yeteneğine sahip benzer bir yapıyı tartışacağız.

Son Dosyalar

Bu, Windows’ta yakın zamanda kullandığımız uygulamalara erişmemizi sağlayan bir özelliktir. “Dosya Gezgini”ni veya “Başlat Menüsü”nü açtığımızda son kullandığımız dosyalardan/uygulamalardan bazılarını görebiliriz. Bu veriler tartışacağımız yapıtın içinde saklanır.

“Son Kullanılan Dosyalar” kısayolu şu konumda bulunur: “%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Recent”

Gerçek veriler bir kullanıcının NTUSER.DAT kovanına kaydedilir. Bu verilerin saklandığı anahtar:

– NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs

Yukarıda belirtilen anahtar, açılan dosyanın/uygulamanın adını, kısayol dosyasını, son erişim zamanını saklar. Bu yapının, açılan/değiştirilen her türlü dosya hakkında bilgi içerdiğini unutmamak önemlidir. Bu, yürütme kanıtı yerine erişim kanıtı olarak sınıflandırılabilir.

Bir dosyanın içeriğini komut satırı aracılığıyla değiştirirsek veya dosyayı yeniden adlandırırsak, bu kayıt defteri anahtarına doldurulur. Dosyayı çalıştırmadık, bunun yerine değiştirdik ve bu, bu yapıya yansıdı. Bu eseri dosyalarla etkileşim kurmak ve kanıt olarak sunmak için kullanabiliriz. Örneğin bir çalışan okumaması gereken bir dosyanın içeriğini okuyor. Bu yapı, dosyaya belirli bir zamanda erişildiğine dair kanıt sağlayabilir.

Şimdi bu anahtarı “Kayıt Defteri Gezgini”nden inceleyelim:

Dosya adı olan hedef adı, o dosyanın kısayolu olan Lnk adını (ki bunu “Son Öğeler”de görmüştük), en son erişim zamanı olan açık olarak görebiliriz. “Hedef Adı” dosya adının da uzantıları olduğuna dikkat edin. Uzantısı olmayan değerler büyük olasılıkla bir klasördür. Örneğin yukarıdaki görselde Hedef Adındaki ilk giriş CSV çıktılarımızı ve bu kursa ait disk görsellerini kaydettiğimiz klasör olan “Evidence”dır.

Bir diğer önemli bilgi de, yukarıdaki tüm verileri analiz ettiğimiz “RecentDocs” anahtarının, makinenin açtığı her uzantı için alt anahtarlara sahip olmasıdır.

Belirli bir dosya türüyle ilgilendiğimizde bu çok faydalı olabilir. Örneğin bir kuruluşta toplu phishing girişimi varsa ve bu durumda analist öncelikle doc, docm, xls dosyalarını vb. görmek isteyecektir ve burada bu “Son Öğeler” özelliği çok işinize yarayacaktır.

Aşağıdaki görselde sadece yakın zamanda erişilen xlsx uzantılı dosyalar ile ilgileniyoruz.

Erişilen dosyaları uzantı türlerine göre aşağıdaki anahtar(lar)dan bulabiliriz.

– NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs\{.extension}

Belirli bir kullanıcının (içeriden gelen tehdit/suiistimal/tehdit aktörü) belirli bir zaman diliminde ilgilendiği dosyaları kolayca görüntüleyebildiğimizden, Son Dosya eserleri adli tıp açısından değerli olabilir.

Bir Senaryo

Bir çalışanın hassas verileri rakip bir şirkete sızdırdığından şüpheleniliyordu. Adli tıp araştırmacıları, kullanıcının son birkaç gün içinde ne tür dosya ve belgelerle etkileşime girdiğini belirlemek için son dosya yapılarını analiz edebilir. Belge başlıklarından biri, ilgili konunun çalışanın bilmesi, görmesi gereken bir şey olmaması gerektiğini ortaya koyuyordu. Bu sayede çalışanın fikri mülkiyet hırsızlığından suçlu olduğu kanıtlanacak ve yasal prosedürler derhal başlayacaktır. Mahkeme duruşmaları sırasında, kullanıcının dosyaya belirli bir zamanda gerçekten eriştiğini kanıtlamak için en son dokümanların kayıt defteri anahtarından bulunan kanıtları sağlayabiliriz.

Diyalog Kutuları MRU

“İletişim Kutusu MRU” (en son kullanılan) yapısı, Microsoft Windows işletim sistemindeki bir iletişim kutusunda erişilen veya seçilen dosya adlarının, zaman damgalarının ve yolların bir kaydıdır. Bir web sitesine dosya yüklerken olduğu gibi ek bir iletişim kutusu açıldığında, yüklenecek dosyaları seçmek için dosya gezgininde bir iletişim kutusu görünür. Bu yapıdan, eriştikleri dosya ve klasörler veya değiştirilen dosya yolları dahil olmak üzere kullanıcının sistemdeki son etkinlikleri hakkında değerli bilgiler edinebiliriz. Bu, kullanıcının eylemlerini yeniden yapılandırmaya yardımcı olmak ve diğer adli yapılar için bağlam sağlamak için kullanılabilir. Bu, amcache, shimcache gibi diğer eserlerin sonuçlarının verimli olduğunu kanıtlayan destekleyici bir eserdir.

Bu bilgi NTUSER.DAT kovanındaki 2 anahtarda saklanır.

– NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\LastVisitedPidlMRU

– NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\OpenSavePidlMRU

Verilerini keşfederken bu anahtarları ayrıntılı olarak tartışalım.

OpenSavePidlMRU

Başka bir uygulamadan bir dosya açmamız veya yüklememiz gerektiğinde, bir dosya gezgini penceresi görüntülenir ve yüklemek istediğimiz dosyayı seçeriz. Açılan/yüklenen/kaydedilen dosya yolu bu anahtarda saklanır. Örneğin Microsoft Word’den bir word belgesi yüklüyoruz.

Artık dosyayı seçip aç’a tıkladığımızda Microsoft word uygulamasına yükleniyor. Bu belgenin dosya yolu OpenSavePidlMRU anahtarına kaydedilecektir. Bu belge adının opensave anahtarında mevcut olup olmadığına bakalım. Anahtarı “Kayıt Defteri Gezgini”nde açın.

Not: Canlı olarak yapılırsa değişiklikleri yansıtmak için Kayıt Defteri Gezgini’ni yeniden başlatmanız ve ardından kovanı yeniden yüklemeniz gerekebilir.

Ayrıca birçok farklı uzantıya yönelik girişleri olan “Son Dokümanlar”a benzeyen “Opensave” anahtarının içinde alt anahtarlar da bulunmaktadır. Tartışılacak önemli bir alt anahtar, OpenSavePidlMRU anahtarının altında bulunan “*” anahtarıdır. Bu alt anahtar, MRU iletişim kutusundaki son 10 girişi tutar.

Bu alt anahtarlardan “OpenSavePidlMRU” anahtarında gördüğümüz temiz görünümü göremiyoruz ancak hex ve ASCII formatında görebiliyoruz.

Kullanıcıların diğer uygulamaları kullanarak ne tür uygulamalar yüklediğini bulmamız gereken durumlarda “OpenSavePidlMRU” anahtarı çok faydalı olabilir. Örneğin bir kullanıcı bir siteye dosya yüklediyse bu anahtarla kullanıcının hangi dosyayı yüklediğini öğrenebiliriz.

Son Ziyaret EdilenPidlMRU

Bu anahtar, tartıştığımız önceki anahtarın destekleyici bir yapısıdır. Daha önce tartıştığımız Windows Gezgini isteminden dosyayı açmaktan/kaydetmekten sorumlu olacak uygulamanın yürütülebilir dosyasını izler. Bu anahtar, OpenSavePidlMRU gibi dosya adına sahip yolu saklamaz, bunun yerine dosyayı açmak/kaydetmek için kullanılan yürütülebilir dosyayı ve dosyanın açıldığı/kaydedildiği klasörün yolunu depolar. Önceki vakadaki örneğimizde dosya adı “LetsDefend MRU demo.docx”, kaydedildiği klasör yolu ise “F:\Letsdefend course\Windows Registry Forensics\Evidence” idi. Belgeyi Microsoft Word kullanarak açtığımız için bu anahtardaki çalıştırılabilir adın “windword.exe” olması gerekiyor. Bunu kayıt defteri gezgininde inceleyelim.

Bu, bu anahtardaki en son giriştir; yol ve zaman damgası kriterlerimizle eşleşiyor. Ancak yürütülebilir ad bir GUID değeri gibi görünüyor. Bu yapının bazen bazı uygulamalar için doğru verileri kaydetmediği ortaya çıktı. Bizim durumumuzda Yürütülebilir dosya, bir belgenin bu yoldan açıldığını bize bildirecek winword.exe olmalıdır. Bu eseri önceki derslerimizde yaptığımız başka bir örneği kullanarak inceleyebiliriz.

Amcache ayrıştırıcı aracından amcache CSV çıktısını açmak için Zaman Çizelgesi Gezgini’ni kullandık. Zaman Çizelgesi Gezgini’ni açtığımızı ve bu derste tartıştığımız diyalog kutusundan CSV dosyasını seçtiğimizi unutmayın. Burada Timeline Explorer’ın “F:\Letsdefend course\Windows Registry Forensics\Evidence” altında bir dosyayı açmak için kullanıldığını biliyoruz. Etkinliğin tamamını öğrenmek için bu anahtardan gelen verileri ve tartıştığımız önceki anahtarları zaman damgalarıyla ilişkilendirebiliriz.

Bu derste Windows diyalog kutularının önemini, adli tıp açısından ne kadar önemli olduklarını, bu eserlerden elde edilen verilerin nasıl analiz edilip ilişkilendirileceğini tartıştık.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir