Lm ntlm şifreleme

LM Özeti

Microsoft
işletim sistemleri, eski işletim sistemleri ile iletişim kurması
gerekebilmektedir. Bu nedenle, eski sürümlerde olan bazı özellikler - yeni
sürümler kendi arasında kullanmadığı halde - yeni versiyonlara eklenmektedir.
LM özeti de, Windows NT ailesi işletim sistemleriyle, Windows
3.11/95/98/Millenium Edition işletim sistemlerinin kimlik doğrulamasında
kullanılır. Dolayısıyla bu işletim sistemleri arasında sorunsuz olarak dosya ve
yazıcı paylaşımına imkan sağlanmış olur. Ancak Windows NT ailesindeki (NT,
2000, 2003) işletim sistemleri kendi aralarında kimlik doğrulaması yaparken LM
özeti kullanmazlar.
[[Dosya:LMHash.gif|thumb|Lm Özet alma Kriptosu]]
Şekil 1-  LM Şifrelemesinde Özet üretimi

NTLM Özeti

Ağ
ortamındaki Windows NT 4.0 veya daha eski versiyonlarla iletişim kurulmasında
kullanılan kimlik doğrulama protokolüdür. Aynı zamanda Windows Server 2003
ailesi için varsayılan iletişim protokolüdür. LM protokolünün zayıflıklarından
dolayı kullanılmaya başlanmıştır.
NTLM hem
depolama (SAM dosyasında) hem de iletişim protokolü (iki makine arasında)
olarak kullanılır.
LM kimlik
doğrulamada parolanın özeti bağlanılmak istenen her sunucuda bulunmak
zorundaydı. Etki alanlarının oluşturulması ve merkezi bir yapının oluşturulması
bu güvenlik riskini bir nebze de olsa etkisini azaltmıştır. Etki alanı kavramı
ile NTLM kullanılmaya başlanmıştır. İstemcilerin parolalarının özeti sadece
DC’lerde saklanmaya başlamıştır.
Şekil 3- NTLM Şifre özeti

NTLMv2 ile Kimlik Doğrulama

NTLMv2 protokolü  NTLMv1 üzerinde sıkılaştırma
uygulayarak daha güvenli şekilde kimlik doğrulama işleminin gerçekleştirilmesi
için geliştirilmiştir. Temel olarak sunucunun gönderdiği 8 byte’lık challenge
değerine karşın 2 tane 16 byte’lık  cevap
(response) döndürür. Cevaplardan biri HMAC-MD5 ile özetlenmiş Server Challenge
(SC), rastgele olarak üretilen Client Challenge (CC), ve kullanıcı parola
bilgisinin yine HMAC-MD5 ile özetlenmiş halini içerir. Kısa olan cevap
(response) üretilen 16 byte’lık değere 8 byte’lık SC (Server challenge)
değerini de ekleyerek 24 byte’lık  bir
cevap elde eder ve bunu sunucuya gönderir. Bu cevap değerine LMv2 de denilir.
Diğer cevap
ise sabit uzunlukta olmayan bir CC (Client Challenge) kullanılır. Zaman damgası
(imestamp), 8 byte’lık rastgele değer, etki alanı adı ve bazı standart bigliler
kullanır. Bu cevap mutlaka bu sabit uzunlukta olmayan CC değerinin bir
kopyasını barındırmalıdır.  Ve bundan
dolayı bu response uzunluğu değişkendir. Bu cevap değerine NTv2 adı verilir.

İşlem
SC = 8-byte sunucunun rastgele sayısı(challenge)
CC = 8-byte istemcinin rastgele sayısı (challenge)
CC* = (X, time, CC2, Domain Adı)
v2-Hash = HMAC-MD5(NT-Hash, Kullanıcı Adı, Domain Adı)
LMv2 = HMAC-MD5(v2-Hash, SC, CC)
NTv2 = HMAC-MD5(v2-Hash, SC, CC*)
cevap = LMv2 | CC | NTv2 | CC*
Not: Temelde SAM içerisinde olan NT
özeti, kullanıcı adı ve etki alanı adı işlemden geçirerek gönderir.
NTLMv2 NTLM
protokolünden çok daha güvenlidir, bunun başlıca sebepleri ;
·        
NTLM
protokolü istemciye ait sayı (Client Challenge) kullanmazken NLTMv2
protokolünün istemciye ait sayı kullanması
·        
Tekrarlama
saldırılarından korunmayı güçlendirmek için zaman bilgisinin (time stamp)
işlenmesi ve gönderilmesi.
·        
HMAC-MD5
algoritması ile özetleme işlemlerinin yapılması.
·        
NTLM
protokolünde LM özeti ve NT özeti kullanılırken, NTLMv2 protokolünde yalnızca
NT özeti kullanılmasıdır.
LM ve NTLM
protokolleri güvenli olamadıklarından dolayı Windows Vista ve Windows Server
2008’den itibaren işletim sisteminde varsayılan olarak kullanılmayacak şekilde
ayarlanırlar. Buna rağmen içeri doğru yapılan (inbound) yetkilendirmelerde NTLM
hala kullanılır fakat dışa doğru olan (outbound) yetkilendirmede NTLM özetinden
daha güvenilir olan NTLMv2  varsayılan
olarak kullanılır. NLTMv2 ile ilgili yapılandırma ayarları grup ilkelerinden
(Group policy) Local Policies\Security Options altında «Network security: LAN
Manager authentication level» kısmında güncellenebilir. Ayrıca kayıt
defterinden (registry) «LMCompatibilityLevel» anahtarından da bu ayar kontrol
edilebilir. Windows Vista ve Windows Server 2008’de «LMCompatibilityLevel»
değeri varsayılan olarak 3’tür. (NTLMv2 Response Only).

Kaba Kuvvet ile kırma yöntemi

Şifre kırma
programları özet değerinden şifre elde etme işlemini sözlük ve kaba kuvvet
atakları yaparak gerçeklemeye çalışırlar. Gerçekleştirdikleri işlem şu şekilde
özetlenebilir: Öncelikle sözlük veya kaba kuvvet atağında kullanılan şifrenin
özeti hesaplanır, daha sonra elde edilen özet SAM dosyasında yer alan şifre
özetiyle karşılaştırılır. Özet değerleri birbirinden farklıysa yeni bir şifre
denenir. MD5 ve SHA algoritmaları özet fonksiyonlarına örnek olarak
verilebilir.