PowerShell (Get-FileHash) ile Dosya Karmasını Kontrol Edin
Bu kılavuzda PowerShell kullanarak bir dosya karma değerinin nasıl kontrol edileceğini öğreneceksiniz.
Bu, exe, msi, docx, pdf, iso vb. herhangi bir dosya türünde çalışacaktır.
Dosya karması, dosyanın içeriğine karşılık gelen benzersiz bir değerdir.
Dosya karma değerinin kontrol edilmesi genellikle internetten dosya indirirken ve dosyanın bütünlüğünü doğrulamak istediğinizde kullanılır (değiştirilmemiştir). Bazı web siteleri dosyanın karma değerini yayınlar ve dosyayı indirdikten sonra eşleştiğini doğrulamak için karma değerini kontrol edebilirsiniz.
Karma farklıysa dosya değiştirilmiş veya bozuk demektir.
Dosya Karması Nasıl Kontrol Edilir?
PowerShell komutunu get-filehash ve dosyanın yolunu kullanarak bir dosyanın karma değerini kontrol edebilirsiniz. Aşağıdaki örnekte yerel bilgisayarımdaki test.docx isimli dosyanın hash değerini alıyorum. Varsayılan olarak bu komut SHA256 algoritmasını kullandı.
get-filehash c:\it\test.docsİşte yerel bilgisayarımdan bir ekran görüntüsü.
Karma, dosyanın içeriğine dayanır. Dosyanın içeriği değişirse karma da değişecektir. Bunu belgeyi açıp "belgeye metin eklendi" kelimelerini ekleyerek göstereceğim.
Şimdi get-filehash komutunu tekrar çalıştırırsam hash değerinin değiştiğini göreceksiniz.
Dosyayı yeniden adlandırırsanız veya dosya uzantısını değiştirirseniz karma değeri değişmez; bunun nedeni, karma değerinin dosya adı veya uzantısına göre değil, dosya içeriğine göre hesaplanmasıdır.
Hash Değerinin Önemi Nedir?
Artık hash değerini nasıl kontrol edeceğinizi biliyorsunuz ama bu size nasıl yardımcı olacak? Yazılım geliştiricileri bazen bir dosyanın karma değerini web sitelerinde listeler; bu, dosyanın bütünlüğünü doğrulamanıza yardımcı olur.
Karmayı yayınlamanın amacı, indirdiğiniz dosyanın geliştiriciden geldiğini ve değiştirilmediğini bilmenizi sağlamaktır.
Size gerçek dünyadan bir örnek üzerinden yol göstereceğim.
Web sitemde ücretsiz deneme indirme olanağı sunuyorum ve dosyanın karma değerini yayınlıyorum.
İndirdikten sonra msi dosyasının bütünlüğünü kontrol etmek için get-filehash komutunu çalıştırabilirsiniz. (değiştirilmediğinden emin olun).
Yukarıdaki ekran görüntüsünde indirilen dosyanın web sitemde görüntülenenle aynı hash değerine sahip olduğunu görebilirsiniz. Bu, dosyanın içeriğinin değiştirilmediğini bilmenizi sağlar. Eğer bir bilgisayar korsanı dosyaya kod enjekte etmiş olsaydı, hash değeri değişirdi ve web sitemde yayınladığımla eşleşmezdi.
Karma değerleri ayrıca güvenlik duvarları, IDS, uç nokta koruma yazılımı vb. gibi çeşitli güvenlik ürünlerinde de kullanılır. Bu programlardan biri bir dosyanın kötü amaçlı olduğunu tespit ederse, dosyanın karmasına göre engellenebilir. Bu önemlidir çünkü dosya cmd.exe veya svchost.exe gibi meşru bir Windows dosyasından sonra adlandırılabilir. Bunlar bir Windows bilgisayarındaki gerçek programların gerçek dosya adlarıdır.
Ancak kötü amaçlı dosya, bilgisayardaki meşru dosyadan farklı bir karma değerine sahip olacaktır; bu, kötü amaçlı dosyayı karma değerine göre engellemenize olanak tanır.




