Windows Parola Saklama Metodları ve Oturum Doğrulama Mekanizması

Merhaba arkadaşlar, bu yazıda sizlere windows işletim sisteminde oturum açarken yani login olurken arka planda neler oluyor onu anlatacağım. Bundan sonra anlatacağım konular parola atakları,parolaları hafızadan elde etme gibi konular olacağından sistemin nasıl çalıştığı hakkında birazcık bilgimizin olması gerekmektedir.

Windows işletim sistemlerinde parolalar nerede ve nasıl tutulur ona değinelim. Windows işletim sistemlerinde parolalar SAM(Security Account Manager) veritabanında NT HASH ve LANMAN hash olarak tutulmaktadır. Windows 2003,XP’de parolalar hem LANMAN hem de NT formatında tutulurken 2008 ve sonraki sürümlerde LANMAN özeti tutulmamaktadır. Local kullanıcıların hesap bilgileri SAM altında saklanırken Active Directory’de  %systemroot%\ntds\ntds.dit  dosyasında saklanır.

Peki Nedir Bu LANMAN Hash?

Lanman Hash algoritmasında şifre 14 karakterden küçük ise padding konularak 14 karaktere tamamalnır. Şifrede geçen küçük harflerin hepsi büyük harflere çevrilir. Oluşan 14 karakterlik dizi 7 karakter 7 karakter olmak üzere iki parçaya ayrılır. Daha sonra elde edilen 7 karakterlik iki parça her zaman sabit olan KGS!@%$% anahtarı ile DES algoritmasına göre şifrelenir. Bir sonraki adımda şifreli halde bulunan iki parça birleştirilerek LANMAN hash elde edilir. Elde edilen 16 bytelik özet SAM veritabanında saklanır.

NOT : DES algoritması simetrik şifreleme algoritmasıdır. Mesajı şifrelemek ve şifrelenmiş mesajı açmak için aynı anahtarın kullanıldığı bir algoritmadır.

Peki Nedir Bu NT Hash?

256 karaktere kadar olan parolalar MD4 algoritmasına göre hasi alınarak NT hash oluşturulur. LANMAN ve NT hash algoritmasında salt(tuzlama) kullanılmaz. Tuzlama yöntemi şifrenin özet halinin kırılmasını zorlaştırmak için kullanılan bir yöntemdir.

Windows Authentication Mekanizması

Windows’un desteklediği şifreli doğrulama yöntemleri LANMAN Challenge Response, NTLMv1, NTLMv2, Kerberos olarak sıralanabilir. Bu yöntemler SAM ya da AD içerisinde LANMAN ya da NT özetlerini kullanırlar.

LANMAN ve NTMLv1 Chalange Response Doğrulama

Yukarıda hashin nasıl elde edildiği anlatılmıştı. Oluşturulan 16 byte hash değerine 5 byte padding eklenerek 21 byte yapılır. Daha sonra elde edilen yeni has 7’şer bytelik 3 ayrı parçaya ayrılarak, her bir parça doğrulama isteği gönderilen bilgisayardan dönen 21 bytelik challenge mesajının 7 bytelik 3 ayrı parçasını DES algoritması ile şifrelemek için DES anahtarı olarak kullanılırlar. Sonuç olarak ortaya 24 bytelik response mesajı çıkar ve doğrulama mekanizması bu şekilde çalışmış olur. NTLMv1 doğrulamasında da mekanizma aynı şekilde çalışır tek fark LANMAN hash yerine NT hash kullanlmasıdır.

NTLMv2 Doğrulaması

Kullanıcı doğrulama yapmak için doğrulama yapmak istediği makinaya authentication request gönderir. NTLMv2 doğrulamasında NT hash kullanılır. NT hash HMAC-MD5 hash algoritması için anahtar görevi görerek kullanıcı adı etki alanı adının HASH halini NTLMv2 OWF(Tek Taraflı Fonksiyon Olarak) çıktı verir. Daha sonra elde edilen NTLMv2 OWF hash değeri server challenge’in aynı şekilde HMAC-MD5 algoritmasına göre hash değerinin alınması için anahtar olarak kullanılır. Ortaya çıkan sonuç response olarak server’a gönderilir. Authentication mekanizması bu şekilde çalışır.

Bu yazıyıda burada bitiriyorum. Bundan sonra ki yazıda parola ataklarına değineceğim. Kendinize iyi bakın 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *