Günlük hayatta kullandığımız şifreler, bugün dünyada en yaygın kullanılan güvenlik araçlarından bir tanesidir. Güçlü şifreler bilgi güvenliğinin en önemli koruyucu yanıdır ve zayıf şifreler en büyük başarısızlığıdır. Parola tahmin etme veya parola kırma gibi parola saldırılar, zaman alan saldırılardır. Hash-the pass saldırısında amaç, elde edilen hash’i doğrudan kırmadan kullanmaktır, bu zaman alıcı parola saldırılarını (Brute-Force vb. gibi) daha hızlı hale getirir. Hash-the pass saldırı tekniği yeni bir teknik değildir. İlk kez 1997 yılında Paul Ashton’ın Bugtraq’taki “NT Pass the Hash” isimli bir yazısında yayınladığı zaman ilk olarak ortaya çıkmıştır.
Pass-the Hash (PtH), kullanıcının açık metin (clear-text) şifresine erişmeden (şifrenin hash’ini kullanılarak) kullanıcı olarak kimlik doğrulaması yöntemidir. Bu yöntem, açık bir şifre gerektiren standart kimlik doğrulama adımlarını atlayarak doğrudan şifre hash’ini kullanarak kimlik doğrulaması bölümüne atlar. Bu teknikte, kullanılan hesap için geçerli parola sağlama bilgileri bir Credential Access tekniği kullanılarak yakalanır. Yakalanan hash’ler, kullanıcı olarak kimliğini doğrulamak için PtH ile kullanılır. Kimlik doğrulaması yapıldığında, yerel veya uzak sistemlerde eylemler gerçekleştirmek için PtH kullanılabilir.
Pass-the Hash (PtH), yetki yükseltmesi sadece birkaç dakika süren çok popüler bir saldırılardan bir tanesidir. Başarılı olduğunda, saldırgan anında bir etki alanı yöneticisi hesabı için bir şifre hash’i yakalayabilir. Elde ettiği hash’i kullanarak ağda yatay olarak hareket etmek için kullanılabilir, saldırgan bu kimlik bilgileriyle sistemdeki her şeye erişebilir.
Saldırganın, Bilgi Teknolojileri ekibinizi ayrıcalıklı kimlik bilgilerini vermesi için kandırmasına gerek yoktur. Herhangi bir çalışanı kimlik avı saldırısı yoluyla açığa çıkarılması veya alt düzey çalışanın bilgisayarına kötü amaçlı yazılım bulaştırması yeterlidir. Ağa girdikten sonra, bir saldırganın yapması gereken, o çalışanın bilgisayarında bir sorunu olana kadar Bilgi Teknolojilerinden bir görevliyi çağırması ve Bilgi Teknolojilerinden birisinin sorunu gidermek için yönetici kimlik bilgileriyle kötü amaçlı yazılım bulaşan bilgisayara giriş yapması yeterlidir.
Bilgi Teknolojileri yöneticiniz login ekranında ayrıcalıklı hesap bilgileri girdiğinde, uzaktan bağlanıldığında bile şifre hash’i bellekte saklanır. Bir saldırgan Hash’i yakalayabiliyorsa, orijinal şifreyi bilmeye gerek kalmadan ağın herhangi bir yerinde kullanabilir. Pass-the Hash saldırıları, siber güvenlik topluluğu tarafından bilinen en yaygın ve en hızlı saldırılardan biridir.
Şifreleri elde etmek basittir ve Window’un kimlik bilgileri düzenleyicisi (WCE) gibi bir çok Pass-the Hash aracını içerir. Hash yakalamak, makineye yerel yönetici erişimi gerektirir, ancak bu, defense-in-depth uygulamalarında (ayrıcalıklı hesapları ayrıcalıklı olmayanlardan ayırmamak) veya zayıf bir savunma avantajından yararlanarak yerel bir kullanıcıdan yerel bir kullanıcıya yükseltme yapmak için kolayca elde edilebilir.
Parola sağlama işlemleri Local Security Authority Subsystem’e (Lsass) yüklenir. Lsass, kullanıcı kimlik doğrulamasından sorumlu olan “% SystemRoot%\System32\Lsass.exe” adlı yürütülebilir dosya olarak çalışır. Hash damping araçlarını kullanarak, saldırgan daha fazla kullanım için şifrelerin hash değerlerini dump edebilir (örn. Pass-the Hash saldırısında olduğu gibi). Windows SAM veritabanından veya bellekten parola hash’lerini dump etmek için yönetici ayrıcalıkları gerekmektedir.
Aşağıda adım adım saldırganların Pass-the Hash saldırısında parola eşleştirmelerini nasıl kullanabileceğini sizlere açıklamaya çalışacağım. Açıkladığım saldırıda, saldırganın sistemi ele geçirdiğini ve üzerinde yönetim haklarının elde edildiğini varsaydığımı unutmayın.
- Saldırgan, “Kurban” sunucusundan gelen şifreleri dump ederek hash’lerini elde eder.
- Saldırgan, Pass-the Hash araçları kullanarak, elde ettiği hashlardan birini (tercihen idari ayrıcalıklara sahip bir kullanıcı için) yerel Lsass’ına yerleştirebilir.
- İleriye doğru, Windows, saldırgan bir şifre sağlamaya gerek kalmadan “Kurban” sunucusuna erişmeye çalıştığında saldırgan adına yeni kimlik bilgilerini otomatik olarak sağlar.
Bazı siber güvenlik araştırmacıları, “Windows parola toplama mekanizmasının tasarımındaki bir zayıflık nedeniyle” pass-the hash saldırısının mümkün olduğunu iddia etmektedirler. Salting, Türkçe adıyla ‘tuzlama’ tipik olarak şifre hashing’ini gösteren bir kavramdır. Bunu yapmak için de şifrenin sonuna farklı bir hash değeri eklenir. Bu sayede hashing işleminde güvenlik katmanı oluşturulurken, özellikle de brute force saldırılarının önüne geçilir. Brute Force saldırısı, bir bilgisayar veya botnet ağının şifreyi bulana kadar her türlü olasılığı rakamlar ve harflerle deneme işlemidir. Tuzlama (Salting) kesinlikle önceden hesaplanmış hash saldırıları durduracak, ancak pass-the hash saldırısını durduramayacaktır. Bunun nedeni, bir parola Hash işleminin düz metin parolasına eşdeğer olmasıdır. Saldırgan Hash elde ederse, sanki açık metin şifresini almış gibi olacaktır. O zaman “Salting” olsa bile Hash kullanabilecektir. Saldırganların hash’i için, Hash’leri depolayan sistem üzerinde yöneticinin haklarına sahip olmaları gerekir. Bu gerçeği ve bunun getirdiği riskleri anlamak, kuruluşlara, pass-the hash saldırılarını (ve diğer saldırıları) azaltmalarına yardımcı olacak etkili bir derinlemesine savunma stratejisi oluşturmada yardımcı olacaktır. Pass-the hash saldırılardan korunmak için aşağıdaki önlemleri alabiliriz.
Bu durumda şu kuralı asla unutmamalıyız: “Daha hassas bir sistem, güvenliği için asla daha az hassas bir sisteme bağlı olmamalıdır.” Bu durum bizi iki önemli noktaya yönlendirir:
İlk olarak, veriler sistemin kendisinden daha hassassa, hiçbir zaman verileri girmek, işlemek veya verileri (yani, etki alanı yöneticisi hash’lerini) kullanmak için kullanılmamalıdır. Bu nedenle, etki alanı yöneticilerinin hesapları, etki alanı denetleyicileri dışındaki herhangi bir sisteme doğrudan giriş yapmamalıdır. Ağdaki diğer sistemlere erişmek için bir etki alanı yöneticisi hesabı kullanmaya ihtiyaç duyulması durumunda, kullanımın tamamlanmasından sonra geçici bir hesap oluşturulabilir ve silinebilir. Bu kuralın bir istisnası, yalnızca etki alanı yöneticisi oturum açmaları için kullanılan birkaç güvenilir ve belirlenmiş sistem içindir. Bu sistemler yalnızca üzerlerinde kurulu yönetim araçlarına sahip olmalı ve internete erişememelidir. İkinci önemli nokta ise daha az hassas olan bir sistem, hassas bir sistemi yönetmek için asla kullanılmamalıdır.
İlk bölüm istemci (client) içindir, istemcinin ne sunması gerektiğini belirtir. İkinci bölüm, Etki Alanı Denetleyicisi’nin (DC) ne kabul etmesi gerektiğini belirtir. Örneğin istemci “LM & NTLM yanıtlarını gönder” ayarını yaptığında, istemci hem LM hem de NTLM yanıtlarını gönderir. Bu durumda DC, bu politikada DC için talimat olmadığı için LM, NTLM veya NTLMv2’yi kabul etmeye devam edecektir. En iyi ayar “Yalnızca NTLMv2 yanıtlarını gönder / LM ve NTLM’yi reddet” olmalıdır. Bu, istemciyi yalnızca NTLMv2 yanıtı göndermeye zorlar, DC ise NTLMv2’yi kabul eder ve hem LM hem de NTLM’yi yok sayar. Windows Vista’daki varsayılan “Yalnızca NTLMv2 yanıtlarını gönder” şeklindedir, ancak Windows 7’de bu politika tanımlanmaz. Administrators ayrıca LMCompatibilityLevelin’i, istemcinin ne gönderebileceğini ve DC’nin ne gönderebileceğini ve kabul edebileceğini zorlamak için kayıt defterini ayarlayabilir. Bu kayıt defterindeki HKLM\SYSTEM\CurrentControlSet\Control\Lsa\LMCompatibilityLevel aracılığıyla ayarlanabilir.
HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\Winlogon\
Böyle bir saldırının gerçekleşmesi olasılığını azaltmak için bu adımlar zor olsa da şirketler bu konunun önemi üzerinde ciddi adımlar atmalıdır. Etki alanı denetleyicileri ve diğer hassas sistemler, yalnızca internete erişimi olmayan güvenilir sistemlerden erişilebilir olmalıdır. LM gibi zayıf hash değerlerin geriye dönük uyumluluğundan kesinlikle kaçınılmalıdır. Token kullanan iki faktörlü kimlik doğrulama saldırılarını azaltmak için şiddetle kullanılmasını öneriyorum. En az kullanıcı erişimi kavramı vurgulanmalıdır. Kuruluşun ağındaki ana bilgisayarların ve trafiğin yakından izlenmesi anomali durumlarını tespit etmek için önemlidir.
Ayrıca, VirusTotal gibi hizmetler, bilinen saldırı araçları için çeşitli antivirüs ürünlerinin algılama oranlarının karşılaştırılmasında çok yardımcı olacaktır. Bununla birlikte, kuruluşlara kötü niyetli bir araç yürütüldüğünde beklendiği gibi davranamayacağından bu tür çözümleri test etmelerini şiddetle tavsiye ediyorum. Siber Güvenlik sürekli bir süreçtir, bu nedenle kuruluşlarınızın güvenliğini sürekli değerlendirmeli, güvenlik sorunlarınıza çözümler uygulamalı ve bu çözümlerinizi izlemek zorundasınız. Ayrıca yöneticilerinizi ve kullanıcılarınızı bu konuda eğitmeli ve tekrar başa dönerek bir döngü halinde bu süreçleri tekrar etmelisiniz. Gerçekleşen saldırı olayları bir birinin aynısı olmayacaktır, bu yüzden her siber olaydan öğrenmeli, bilgi toplamalı ve dersler çıkarmalıyız.