W systemach Windows (2000, XP, 2003) hasła przechowywane są w dwóch postaciach. Obie są oczywiście zaszyfrowane, ale prostsza z nich to LM hash, będący ukłonem w stronę starych systemów (takich jak Windows 95, 98, Me czy uruchamianego spod DOS Lan Managera) i jest on bardzo podatny na złamanie.
Hasło krótsze niż 15 znaków dzielone jest na ciągi siedmioznakowe. Zamieniane są one na wielkie litery i dopiero wtedy są szyfrowane. Złamanie hasła będzie więc sprowadzało się do złamania (bądź znalezienia w gotowych tablicach odpowiednich wartości) tych siedmioznakowych członów. Potem już zostanie tylko błyskawiczne sprawdzenie, które ze znaków powinny być kapitalikami i nasze hasło przestanie być tejemnicą, a narzędzia potrzebne do tej operacji są darmowe i ogólnodostępne.
W jednym z najbliższych artykułów pokażemy jak złamać hasło windows, dzisiaj zaś zaprezentujemy jak wyłączyć ten podatny na atak sposób kodowania. Warto zaznaczyć, że po wyłączeniu LM hash komunikacja z archaicznymi systemami będzie możliwa dopiero po doinstalowaniu programu Directory Services Client.
Aby wyłączyć LM Hash w systemie Windows XP (bądź 2003) uruchamiamy edytor rejestru (rozwijamy menu start|uruchom i wpisujemy regedit). Gdy już uruchomimy edytor rejestru, znajdujemy klucz HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa. Jeśli nie mamy jeszcze ciągu DWORD o nazwie NoLMHash to tworzymy go (wielkość liter nieistotna). Zmieniamy jego wartość na 1 a następnie zmieniamy nasze hasło.
Podobnie wygląda problem z Windows 2000, przy czym tutaj nie tworzymy wartości DWORD a jedynie klucz o nazwie NoLMHash.
Hasło przestanie być przechowywane w tablicy LM hash dopiero po jego zmianie, dlatego ważna jest by to zrobić po wprowadzeniu zmian.
Warto dodać, że dobre hasło powinno zawierać małe i wielkie litery a także jakieś znaki specjalne (np. #,&!?*%). Jeśli nie chcemy wyłączać LM hash to znaki specjalne powinny znaleźć się również w pierwszych siedmiu znakach naszego hasła.


