Kayıt defteri ve kullanıcı izleri
- Windows kayıt defteri kovanlarından kalıcılık anahtarlarını, Prefetch ve Amcache çalıştırma izlerini, USB geçmişini ve kullanıcı etkinliğini okumayı öğren.
- Bu derste fin-pc12 kovanlarından WinUpdateSvc kalıcılığını, svcupd.exe'nin çalıştırma izlerini ve gönderdiği veri miktarını çıkaracaksın.
- Prefetch, Amcache ve ShimCache üçlüsü program çalıştı mı sorusunu farklı açılardan yanıtlar.
Puan bütün etkinlikleri cevaplayınca hesaba yazılır. Bu dersi tamamlayınca +60 XP alacaksın. Giriş yapmadan ilerlersen puan yalnız bu tarayıcıda durur.
Windows kayıt defteri, sistemin ve kullanıcının davranış defteridir. Hizmetler, başlangıç programları, takılan USB bellekler, açılan belgeler ve çalıştırılan komutlar burada iz bırakır. Kullanıcı bunları bilerek yazmaz, sistem yazar.
Saldırganın gözden kaçırdığı izler bu yüzden çoğu kez buradadır. Bu derste önce kovanları ve imajdan nasıl çıkarıldıklarını göreceksin. Sonra fin-pc12 makinesindeki kalıcılık kaydını bulacak, svcupd.exe'nin çalıştığını birkaç ayrı kaynakla kanıtlayacaksın. Ardından dikkatle okunması gereken ShimCache, SRUM ve USB izlerine, en son da kullanıcının neyi açtığını anlatan kısayol dosyalarına geçeceksin.
Kovanlar, ControlSet ve kirli kovan
Kayıt defteri tek dosya değildir, kovan (hive) denen birkaç dosyadan oluşur. SYSTEM, SOFTWARE, SAM, SECURITY ve DEFAULT kovanları C:\Windows\System32\config altında durur. Kullanıcıya ait NTUSER.DAT dosyası kullanıcı klasörünün kökünde, UsrClass.dat ise AppData\Local\Microsoft\Windows altında bekler. Amcache.hve de kovan biçimindedir ama kayıt defterine bağlanmaz.
Canlı sistemde kovanlar kilitlidir ve sıradan bir kopyalama komutuyla alınamaz. İmajdan icat ile çeker, RegRipper, RECmd ya da Registry Explorer ile açarsın. Canlı makinede regedit ile kovanı açıp bir değeri düzeltmek ise delili değiştirir ve anahtarın son yazma zamanını ezer.
Kovan Diskteki yeri Bağlandığı yer SYSTEM C:\Windows\System32\config\SYSTEM HKLM\SYSTEM SOFTWARE C:\Windows\System32\config\SOFTWARE HKLM\SOFTWARE SAM C:\Windows\System32\config\SAM HKLM\SAM SECURITY C:\Windows\System32\config\SECURITY HKLM\SECURITY DEFAULT C:\Windows\System32\config\DEFAULT HKU\.DEFAULT NTUSER.DAT C:\Users\<ad>\NTUSER.DAT HKCU UsrClass.dat C:\Users\<ad>\AppData\Local\Microsoft\Windows\UsrClass.dat HKCU\Software\Classes Amcache.hve C:\Windows\AppCompat\Programs\Amcache.hve bağlanmaz, ayrı açılır
SYSTEM kovanında CurrentControlSet diye bir anahtar yoktur. O ad çalışan sistemin kurduğu bir bağlantıdır. İmajda ControlSet001 ve ControlSet002 gibi kopyalar görürsün.
Hangisinin etkin olduğunu Select anahtarındaki Current değeri söyler; değer 1 ise ControlSet001 okunur. Yalnız birini okuyup ötekini atlamak sık yapılan bir hatadır, çünkü eski kopyada silinmiş bir hizmet hâlâ durabilir. Her kovanın bir de işlem günlüğü vardır.
.LOG1 ve .LOG2 dosyaları henüz kovana işlenmemiş değişiklikleri tutar. Günlükleri bırakıp yalnız kovanı alırsan son dakikaların değişikliklerini kaybedersin. RECmd ve Registry Explorer bu kirli kovanı günlüklerle birleştirir.
Anahtarların son yazma zamanı vardır, değerlerin yoktur. Bir değer eklendiğinde ya da değiştiğinde, içinde bulunduğu anahtarın zamanı güncellenir. Bu yüzden kalıcılık anahtarının son yazma saati olayın zaman çizelgesine doğrudan girer ve kalıcılığın ne zaman kurulduğunu dakikasıyla gösterir. Sınırını da bil: zaman, anahtarın altındaki hangi değerin değiştiğini söylemez.
Yalnız o anahtarda bir şeyin değiştiğini söyler. Aynı anahtarda meşru bir güncelleme sonradan olduysa saldırganın yazdığı an ezilmiş olabilir.
Derinleş:Kovanın içi: regf, hbin ve hücreler
Kovan dosyası 4096 baytlık bir başlıkla açılır ve başlık regf imzasıyla başlar. Başlıkta iki sıra numarası durur. Kovan temiz kapatıldıysa ikisi eşittir. Eşit değilse kovan kirlidir ve işlem günlükleri birleştirilmeden okunmamalıdır.
Başlığın ardından hbin imzalı, 4096 baytın katı büyüklükte bloklar gelir. Asıl veri bu blokların içindeki hücrelerdedir. nk hücresi bir anahtardır ve son yazma zamanını taşır. vk hücresi bir değerdir: adı, türü ve verisi.
sk hücresi güvenlik tanımlayıcısını tutar. Alt anahtar listeleri lf, lh, li ve ri adlı hücrelerde durur. Her hücrenin başında boyutu yazar. Kullanımdaki hücrenin boyutu eksi, boş hücrenin boyutu artı işaretlidir.
Silinen bir anahtar ya da değer, hücresi başka veriyle ezilene kadar boş hücre olarak kovanda kalır. Registry Explorer gibi araçlar bu boş hücreleri tarar ve silinmiş anahtarları geri getirir. Saldırganın sildiği bir Run değeri bazen böyle bulunur.
Etkinlik 1 / 7
Kovanı içeriğiyle eşleştir.
Kalıcılık anahtarları ve görevler
Kalıcılık, saldırganın makine yeniden başladığında da çalışmaya devam etmesidir. Kayıt defterinde birkaç klasik yeri vardır. Run ve RunOnce anahtarları oturum açılışında program başlatır.
HKLM altındaki kayıt her kullanıcı için, HKCU altındaki yalnız o kullanıcı için çalışır. Services anahtarı programı hizmet olarak, çoğu kez SYSTEM yetkisiyle başlatır. Winlogon altındaki Shell ve Userinit değerleri de oturum açılışına bağlanır.
Bir hizmetin yolu C:\Users\Public altını gösteriyorsa durup bakarsın. Meşru hizmetler System32 ya da Program Files altından çalışır. Yol, adın kendisinden daha çok şey söyler: WinUpdateSvc adı masum görünür, Public klasörü öyle görünmez.
$ rip.pl -r /eviz/fin-pc12/SYSTEM -p services | grep -i -B1 -A2 public Name : WinUpdateSvc ImagePath : C:\Users\Public\svcupd.exe Start : 2 (Automatic) LastWrite : 2026-09-14 00:10:24Z $ rip.pl -r /eviz/fin-pc12/NTUSER.DAT -p runmru MRUList = ba a cmd /c powershell -enc SQBFAFgA... b \\10.20.30.10\c$
İlk komut SYSTEM kovanındaki hizmetleri listeler ve Public klasörünü süzer. WinUpdateSvc otomatik başlar, Start değeri 2'dir. Anahtar 00:10:24'te, yani yerel saatle 03:10'da yazılmıştır.
İkinci komut NTUSER.DAT içindeki RunMRU listesini okur. Bu liste Win+R ile açılan Çalıştır kutusuna yazılan komutları saklar. MRUList değeri sırayı verir ve b en yenidir.
a satırında kodlanmış bir PowerShell komutu, b satırında dc01 sunucusunun yönetim paylaşımı var. Son yıllarda sahte doğrulama sayfaları kullanıcıya Win+R ile komut yapıştırtıyor. RunMRU bu komutu olduğu gibi saklar ve olayın başlangıcını gösterebilir.
Zamanlanmış görevler ayrı bir kalıcılık kanalıdır (MITRE ATT&CK T1053.005). Görev dosyaları C:\Windows\System32\Tasks altında XML biçiminde durur ve çalıştırılacak komutu açıkça taşır. Command alanı programı, Arguments alanı parametreleri verir.
Dosya UTF-16 yazıldığı için aramadan önce iconv ile çevirirsin. Tespit tarafında her kanalın bir olayı vardır. Hizmet kurulumu System günlüğüne 7045, denetim açıksa Security günlüğüne 4697 olarak düşer.
Görev oluşturma, ilgili denetim açıksa 4698 olayını üretir. Sysmon kullanılıyorsa 12 ve 13 numaralı olaylar Run ve Services anahtarlarındaki değişiklikleri anında yakalar. Bu anahtarlar için yazılmış tek bir kural bile çoğu kalıcılık girişimini görünür kılar.
$ fls -r -p -o 2048 fin-pc12.dd | grep 'System32/Tasks/'
r/r 3120-128-1: Windows/System32/Tasks/OneDriveGuncelle
$ icat -o 2048 fin-pc12.dd 3120 | iconv -f UTF-16 -t UTF-8 | grep -A3 '<Exec>'
<Exec>
<Command>C:\Users\Public\svcupd.exe</Command>
<Arguments>--gizli</Arguments>
</Exec>Etkinlik 2 / 7
fin-pc12 SYSTEM kovanındaki hizmetleri RegRipper ile listele. Kovan /eviz/fin-pc12/SYSTEM yolunda.
Etkinlik 3 / 7
fin-pc12 kayıt defteri çıktısında şüpheli satırları işaretle.
Şüpheli satırlara tıkla. Birden fazla olabilir.
Çalıştırma ve erişim izleri
Çalıştırma izleri birkaç yerde birikir. Prefetch dosyaları C:\Windows\Prefetch altında durur. Windows bir programı çalıştırdığında onun ilk saniyelerde açtığı dosyaları not eder ve sonraki açılışı hızlandırmak için bu listeyi saklar.
Dosya adı program adı ile bir özetten oluşur. Özet programın yolundan hesaplanır, bu yüzden aynı ad farklı klasörden çalışırsa ikinci bir Prefetch dosyası doğar. Windows 8 ve sonrası son sekiz çalıştırma zamanını ve toplam sayıyı tutar.
Windows 10 ve 11 bu dosyaları sıkıştırır, PECmd açar. Sunucu sürümlerinde Prefetch varsayılan olarak kapalıdır. Dosya bulamamak programın çalışmadığını kanıtlamaz.
> PECmd.exe -f E:\eviz\fin-pc12\Prefetch\SVCUPD.EXE-3A1F02C4.pf
Executable name: SVCUPD.EXE
Hash: 3A1F02C4
Version: Windows 10 or Windows 11
Run count: 2
Last run: 2026-09-14 01:11:41
Other run times: 2026-09-14 00:07:54
Volume information:
#0: Name: \VOLUME{01dd1f4a7c3e9b20-2c8ef6b1} Serial: 2C8EF6B1 Directories: 14 File references: 52
Files referenced: 52
...
31: \VOLUME{01dd1f4a7c3e9b20-2c8ef6b1}\USERS\PUBLIC\SVCUPD.EXE
32: \VOLUME{01dd1f4a7c3e9b20-2c8ef6b1}\USERS\PUBLIC\CFG.DATÇıktıyı oku. Run count 2, programın iki kez çalıştığını söyler. İlk çalıştırma 00:07:54'te, dosya diske düştükten on saniye sonradır. İkincisi 01:11:41'de, makine yeniden başladıktan hemen sonradır, yani hizmet açılışta kendiliğinden başlamış.
Prefetch zamanı sürecin başladığı andan birkaç saniye sonrasını gösterebilir, çünkü Windows dosyayı ilk saniyelerin izlemesinden sonra yazar. Birim seri numarası fsstat çıktısındakiyle aynıdır. Başvurulan dosyalar listesinde svcupd.exe'nin hemen ardından CFG.DAT görünüyor ve sıradaki inceleme hedefi odur.
İkinci kaynak Amcache.hve'dir. Programın tam yolunu, boyutunu ve SHA-1 özetini kaydeder, bu yüzden dosya silinmiş olsa bile özetle tehdit istihbaratında arama yaparsın. Amcache güçlü bir işarettir ama tek başına kesin kanıt sayılmaz.
UserAssist, kullanıcının Gezgin üzerinden başlattığı programları sayar. Değer adları ROT13 ile kodlanır ve her kayıt çalıştırma sayısını ve son zamanı taşır. BAM kayıtları ise SYSTEM kovanında kullanıcı başına son çalıştırma zamanını tutar.
$ rip.pl -r /eviz/fin-pc12/NTUSER.DAT -p userassist
{CEBFF5CD-ACE2-4F4F-9178-9926F41749EA}
2026-09-14 00:06:52Z
{1AC14E77-02E7-4E5D-B744-2EB1AE5198B7}\cmd.exe (1)
2026-09-13 07:02:31Z
{1AC14E77-02E7-4E5D-B744-2EB1AE5198B7}\notepad.exe (4)
Ham değer adı: {1NP14R77-02R7-4R5Q-O744-2RO1NR5198O7}\pzq.rkr
> AmcacheParser.exe -f E:\eviz\fin-pc12\Amcache.hve --csv E:\cikti
FullPath,SHA1,FileKeyLastWriteTimestamp
c:\users\public\svcupd.exe,9f2c61e0d0a4b8e37c5a1d92f04b6e8a3c7d1e55,2026-09-14 00:07:58Kayıt defteri kullanıcının neye baktığını da anlatır. RecentDocs anahtarı son açılan belgeleri uzantıya göre gruplar ve sırayı MRUListEx değerinde tutar. ShellBags ise Gezgin'de açılan her klasörün görünüm ayarını saklar. Yan etkisi değerlidir: klasör silinmiş olsa, USB bellekte ya da ağ paylaşımında dursa bile gezinti izi kalır.
ShellBags çoğunlukla UsrClass.dat içindedir. Bu izler çalıştırmayı değil erişimi anlatır. Soruyu doğru sor: program çalıştı mı, kalıcılık kuruldu mu, dosyaya ya da klasöre erişildi mi? Her sorunun kendi kaynağı vardır ve kaynakları karıştırmak yanlış cümle kurdurur.
Etkinlik 4 / 7
Artefaktı yanıtladığı soruya göre ayır.
Önce bir seçeneğe, sonra aşağıdaki uygun kutuya bas. İstersen seçeneği kutuya sürükleyip bırak. Yerini değiştirmek için aynı işlemi tekrarla.
0/6 seçenek yerleşti.
Dikkatle okunacak izler: ShimCache, SRUM ve USB
ShimCache, resmî adıyla AppCompatCache, SYSTEM kovanında durur. Windows uyumluluk denetimi için gördüğü programların yolunu ve dosyanın değişim zamanını yazar. Burada iki tuzak var. Birincisi, kayıttaki zaman çalıştırma zamanı değil, dosyanın $STANDARD_INFORMATION değişim damgasıdır.
İkincisi çalıştırma işaretidir. Windows 10 ve 11 her kaydın veri alanının sonunda bir işaret tutar ve AppCompatCacheParser bunu Executed sütununa Yes ya da No olarak yazar. Yes büyük olasılıkla çalıştırmayı gösterir. No ise programın çalışmadığını kanıtlamaz, çünkü çalıştığı bilinen sistem dosyalarında da No görülür.
ShimCache ayrıca bellekte tutulur ve kovana kapanışta yazılır. Makine kapanmadan alınan imajda son girdiler eksik kalabilir. fin-pc12 01:11'de yeniden başladığı için olay gecesinin girdileri kovanda duruyor.
> AppCompatCacheParser.exe -f E:\eviz\fin-pc12\SYSTEM --csv E:\cikti ControlSet,CacheEntryPosition,Path,LastModifiedTimeUTC,Executed 1,0,C:\Users\Public\svcupd.exe,2009-07-14 00:41:12,Yes 1,1,C:\Users\mkaya\AppData\Local\Temp\update.exe,2009-07-14 00:41:12,No > SrumECmd.exe -f E:\eviz\fin-pc12\SRUDB.dat -r E:\eviz\fin-pc12\SOFTWARE --csv E:\cikti Timestamp,ExeInfo,BytesSent,BytesReceived 2026-09-14 01:00:00,\device\harddiskvolume3\users\public\svcupd.exe,30408704,118272 2026-09-14 02:00:00,\device\harddiskvolume3\users\public\svcupd.exe,12582912,40960
SRUM (System Resource Usage Monitor) C:\Windows\System32\sru\SRUDB.dat veritabanında uygulama başına kaynak kullanımını tutar. Ağ tablosu her uygulamanın gönderdiği ve aldığı baytı yaklaşık saatlik dilimlerle yazar. Veri sızdırma şüphesinde hangi programın ne kadar veri gönderdiğini buradan okursun. Yukarıdaki iki satırı topla: svcupd.exe 42991616 bayt, yani 41 MB gönderdi ve çok az veri aldı.
Gönderilen ile alınan arasındaki bu dengesizlik sızdırmanın klasik görüntüsüdür. Zaman sütunu kaydın yazıldığı dilimi verir, trafiğin tam dakikasını vermez. Dakikayı ağ kaydı ya da güvenlik duvarı günlüğü söyler.
USB izleri de kayıt defterinde bir zincir kurar. SYSTEM kovanındaki USBSTOR anahtarı cihazın üreticisini, modelini ve seri numarasını tutar. Yine SYSTEM kovanındaki MountedDevices anahtarı cihaza hangi sürücü harfinin verildiğini gösterir.
Kullanıcının NTUSER.DAT dosyasındaki MountPoints2 anahtarı, cihazı hangi kullanıcının açtığını söyler. C:\Windows\INF\setupapi.dev.log dosyası ise cihazın bu makineye ilk takıldığı anı yazar. Dört kaynağı birleştirince cümle kurulur: şu seri numaralı bellek, şu gün E: harfiyle, mkaya oturumunda açıldı. Sızdırma şüphesinde SRUM ağ yolunu, USB zinciri fiziksel yolu gösterir.
Derinleş:USB zamanlarının üçlüsü ve sahte seri numarası
USBSTOR altındaki her cihaz anahtarının Properties dalında {83da6326-97a6-4088-9453-a1923f573b29} kimlikli bir grup durur. Windows 8 ve sonrasında bu grubun 0064 değeri cihazın ilk kurulum zamanını, 0066 değeri son takılma zamanını, 0067 değeri son çıkarılma zamanını tutar. Böylece setupapi.dev.log dosyası silinmiş olsa bile ilk takılma anına ulaşırsın. Seri numarasına da dikkat et.
İkinci karakteri & olan bir seri numarası, cihazın kendi seri numarasını bildirmediğini ve Windows'un ona yerel bir kimlik ürettiğini gösterir. Böyle bir kimlik başka bir makinede aynı cihaz için farklı çıkar. İki makinede aynı belleği seri numarasıyla eşleştiremezsin ve birim adı, kapasite ya da disk imzası gibi ikincil alanlara geçersin. Kurumsal ortamda asıl cevap önlemdedir: USB depolamayı grup ilkesiyle kısıtlamak ve cihaz takılma olaylarını merkezî kayda göndermek.
Etkinlik 5 / 7
Bir programın diskte durduğunu gösterir ama çalıştığını tek başına kanıtlamaz. Bu hangi artefakttır?
Etkinlik 6 / 7
USB zincirindeki kaynaklardan hangileri SYSTEM kovanında durur?
Kullanıcı profili: LNK, JumpList ve analiz düzeni
Kullanıcı izlerinin bir kısmı kayıt defterinde değil, profil klasöründe durur. Bir belge Gezgin'den açıldığında Windows, AppData\Roaming\Microsoft\Windows\Recent altına bir kısayol (LNK) dosyası yazar. LNK dosyası hedefin tam yolunu, boyutunu, hedefin kendi MAC damgalarını ve birimin seri numarasını taşır.
Hedef silinse bile kısayol kalır. JumpList dosyaları ise uygulama başına son açılan dosyaları listeler ve aynı yapıdaki kısayolları tek dosyada toplar. LECmd ve JLECmd bu dosyaları okur. Aşağıdaki kısayol, çöp kutusuna atılmış fatura_eylul.docm belgesinin açıldığı anı saklıyor.
> LECmd.exe -f E:\eviz\fin-pc12\Users\mkaya\AppData\Roaming\Microsoft\Windows\Recent\fatura_eylul.docm.lnk Source Created: 2026-09-14 00:05:48 Target Created: 2026-09-14 00:05:31 Target Modified: 2026-09-14 00:05:31 Target Accessed: 2026-09-14 00:05:48 File size: 48213 Volume Serial: 2C8EF6B1 Drive type: Fixed storage media (Hard drive) Local path: C:\Users\mkaya\Downloads\fatura_eylul.docm
Kısayolun doğum zamanı 00:05:48'dir ve belgenin açıldığı anı verir. Hedefin doğumu 00:05:31'dir, yani belge indirildikten 17 saniye sonra açılmış. Boyut ve birim seri numarası, çöp kutusundaki $I kaydıyla ve Prefetch çıktısıyla aynıdır. Kaynakları birleştirince olay sırası çıkar: belge yerel saatle 03:05'te indi ve açıldı, 03:07'de update.exe düştü, 03:08'de belge çöpe atıldı, 03:10'da hizmet kuruldu.
Her kullanıcı için aynı paketi toplarsın: profil kökündeki NTUSER.DAT, AppData altındaki UsrClass.dat, Recent klasörü ve JumpList dosyaları. Kovan analizini bir kontrol listesiyle yürüt: kalıcılık anahtarları, çalıştırma izleri, kullanıcı etkinliği, USB kayıtları ve ağ profilleri sırayla bakılır. Liste olmadan her incelemede farklı bir şeyi atlarsın. Aracın yorumunu sonradan denetleyebilmek için ham değeri de ekte sakla.
Etkinlik 7 / 7
Kullanıcıya özel kayıt defteri kovanının dosya adı nedir? ____
Okumayı istediğin sırayla sürdürebilirsin. Ders, bütün etkinlikleri cevapladığında tamamlanır.
- Etkinlik 1· Kovanlar, ControlSet ve kirli kovan
- Etkinlik 2· Kalıcılık anahtarları ve görevler
- Etkinlik 3· Kalıcılık anahtarları ve görevler
- Etkinlik 4· Çalıştırma ve erişim izleri
- Etkinlik 5· Dikkatle okunacak izler: ShimCache, SRUM ve USB
- Etkinlik 6· Dikkatle okunacak izler: ShimCache, SRUM ve USB
- Etkinlik 7· Kullanıcı profili: LNK, JumpList ve analiz düzeni