Prefetch Klasörü

Bilgisayarda Çalıştırılan Uygulamaların Bilgisinin Alınması

Bir programı ikinci kez çalıştırdığınızda daha hızlı çalıştığını görmüşsünüzdür. Windows, uygulamaların daha hızlı çalışması için çeşitli iyileştirmeler yapar. Bunun bir yolu çalıştırılan uygulamaların bilgisini saklamaktır. Windows çalıştırılan uygulamaların bilgisini \Windows\Prefetch klasöründe saklar. Bu klasörde, çalıştırılan her uygulama için .pf uzantılı bir bir önyükleme (prefetch) dosyası yaratılır. Dosyada uygulamanın kimlik bilgileri, ulaştığı dosyalar, çalıştırılma zamanları gibi bilgiler bulunur.  

Powershell’de vereceğimiz dir 'C:\Windows\Prefetch' | sort LastWriteTime -desc komutu ile Prefetch klasörünün içeriğini görüntüleyebiliriz.

 

metin, ekran görüntüsü, menü içeren bir resim

Yapay zeka tarafından oluşturulan içerik yanlış olabilir.

Şekil:  Kullanıcının ve işletim sisteminin çalıştırdığı uygulamaların bilgisi

 

Prefetch klasörü Windows tarafından uygulamaların performansını arttırmak için kullanılır. Ama aynı zamanda bilgisayarda hangi uygulamaların çalıştırıldığını görmek için de kullanılabilir. Özellikle işletmelerde kuşkulu işlemler yapan bir kullanıcının bilgisayarında bu uygulama listesinin gözden geçirilmesi büyük önem taşır.

Bu klasörde bulunan .pf dosyaları doğrudan okunabilir bir içeriğe sahip değil. Ama .pf dosyalarını okuyup içindeki bilgileri görüntüleyen çok sayıda araç da var. Bunlardan birisi PECMD adındaki küçük program. Bu programı https://f001.backblazeb2.com/file/EricZimmermanTools/net6/PECmd.zip adresinden indirebilirsiniz. Sıkıştırılmış dosya içeriğini ben \windows\prefetch klasörüne kopyalıyorum, programı oradan çalıştırıyorum. Aşağıdaki şekle bakınız:

metin, elektronik donanım, ekran görüntüsü, yazılım içeren bir resim

Yapay zeka tarafından oluşturulan içerik yanlış olabilir.

Şekil: Pecmd programı ile bir pf dosyasının içeriğini görüntüleme

 

Notepad programının kullanımına ilişkin bilgi almak istediğim için öncelikle dir Notepad*.pf komutunu vererek Notepad ile ilişkili dosyaların listesini alıyorum. Dosya adını kopyalıyorum, sonra da pecmd -f NOTEPAD.EXE-C5670914.pf komutuyla pf dosyasının içeriğini görüntülüyorum.

Şekildeki “Other run times” satırına dikkat edin. Bu satırda kullanıcının ilgili programı (bu örnekte Notepad.exe) en son hangi tarihlerde kullandığını görebiliyoruz.

Çalışıp çalışmadığını, kaç kez çalıştırıldığını denetlememiz gereken uygulamalardan birisi rundll32.exe uygulamasıdır. Rundll.exe programı bir DLL dosyasının içindeki işlevlere ulaşıp onları tek tek çalıştırmaya yarar.

Normalde, sıradan bir kullanıcının rundll.exe ile hiç işinin olmaması gerekir. Sıradan kullanıcının bilgisayarında bu programın çalıştırılmış olduğunu görürsek birisi ya da bir yazılım bir şeyleri zorluyor demektir. Örneğin, Solorigate zararlısı rundll32.exe'den yararlanarak bazı sistem DLL'lerindeki işlevleri çalıştırmak ister.

Bir başka denetlememiz gereken program da mshta.exe adındaki programdır. Bu program .hta uzantılı dosyaları açıp görüntülemeye yarar. Hta uzantılı dosyalar, içinde vbscript ve jscript kodları bulunabilecek dosyalardır. Hacker’lar mshta.exe programını kullanarak İnternet üzerinden kendi zararlı kodlarını içeren hta dosyalarını indirmeye çalışırlar. Yine mshta.exe’nin betik çalıştırabilme işlevinden yararlanarak İnternet üzerinden dosya indirmeden de zararlı işlemler yapmaya çalışabilirler. Örnek olarak, aşağıdaki koda bakın

mshta.exe "about:<hta:application><script language="VBScript">Close(Execute("CreateObject(""Wscript.Shell"").Run%20""powershell.exe%20-nop%20-Command%20Write-Host%20Merhaba,%20Dünya!;Start-Sleep%20-Seconds%2010"""))</script>'"

Bu kod Powershell’i çalıştırıyor, Powershell konsolunda Merhaba Dünya! İletisini görüntülüyor, 10 saniye sonra da Powershell konsolunu kapatıyor. İnternette bu basit örneğin yanı sıra Registry’ye müdahale eden mshta.exe örnekleri de var. Kayıt’a müdahale için regedit.exe, reg.exe gibi programlar varken neden mshta.exe kullanılsın diye sorabilirsiniz. Regedit.exe ve reg.exe gibi programların çalıştırılması genelde engellenir. Böyle durumlarda Kayıt’a müdahale için mshta.exe iyi iş görebilir.

Açıkladığımız nedenlerle, prefetch klasöründeki mshta.exe ile başlayan dosyayı incelemekte yarar var. Örnek olarak, benim bilgisayarımdaki dosyanın içeriğini görmek için pecmd -f MSHTA.EXE-5D4FFD8E.pf şeklinde bir komut veriyorum. Komutun çıktısında son çalıştırılma satırlarını inceliyorum:

metin, elektronik donanım, ekran görüntüsü, yazılım içeren bir resim

Yapay zeka tarafından oluşturulan içerik yanlış olabilir.

Şekil: MSHTA.EXE programının çalıştırılmasına ilişkin bilgiler

 

Şunu da anımsamakta yarar var: Mshta.exe’nin her çalıştırılması bir zararlı yazılım etkinliğine karşılık gelmeyebilir. Kullanıcı .hta uzantılı bir dosyayı açmış da olabilir.   

Prefetch klasöründe denetlenecek uygulamalar: arp.exe, at.exe, bitsadmin.exe, certutil.exe, cmd.exe, dsget.exe, dsquery.exe, find.exe, findstr.exe, fsutil.exe, hostname.exe, ipconfig.exe, mshta.exe, nbstat.exe, net.exe, net1.exe, netdom.exe, netsh.exe, netstat.exe, nltest.exe, nslookup.exe, ntdsutil.exe, pathping.exe, ping.exe, powershell.exe, qprocess.exe, query.exe, qwinsta.exe, reg.exe, regsvr32.exe, rundll32.exe, sc.exe, schtasks.exe, systeminfo.exe, tasklist.exe, tracert.exe, ver.exe, vssadmin.exe, wevtutil.exe, whoami.exe, wmic.exe, wusa.exe,  comsvcs.dll, dcsync.exe