В этой статье сравним и посчитаем, что крепче, относительно новые LAN и NT хэши или старый добрый DES. Самое интересное, что функции хэша LAN и NT являются "усовершенствованием" того же DES, а почему мы взяли слово в кавычки, мой
маленький друг, узнаешь по позже.
В мастдае используется сразу два хэша: LAN и NT, и что самое интересное...
они передаются одновременно, а теперь
выясним какой более слабый. Хэш LAN Manager
вычисляет вот так : превращается в строку длиной 14 символов, путём урезания более длинных или дополнения нулями более коротких, далее
все символы переводятся в верхний регистр, полученная строка разбивается на две равные половины по 7 байт, каждая шифруется по алгоритму DES при фиксированной привязке (salt), а теперь всё соединяется для создания 16-разрядного значения хэш.
Слабые стороны LAN: всё переводится в верхний регистр, что сокращает перебор во много раз (26+10+32=68 заместо 94 символов), так как пароль
делится на две половинки, которые идут через DES независимо друг от друга, поэтому можно узнать
- пароль длиннее 7 символов или нет... хэш второй половинки будет равен AAD3B435B51404EE, к тому же для 100% нахождения пароля нужно перебрать
вместо 94^0 + 94^1 + 94^2 .. + 94^14 = 4 х 10^27 всего лишь 68^0 + 68^1 + 68^2 ... + 68^7 = 7 x 10^12 = 2^43 комбинации (где "^" знак корня) т.е. почти в 10.000.000.000.000.000 раз меньше =) В-третьих, скорость перебора в 15 раз быстрее чем в Unix, в-четвёртых, отсутствует случайная
привязка или так называемый salt, как в Unix, наличие которой позволяет хэшу двух одинаковых паролей у разных юзеров
выглядеть по разному, но в LAN такая функция отсутствует и можно заранее составить словарь хэшированных паролей и просто осуществлять поиск.
Вот те и "усовершенствование"... функция хэш LAN уступает алгоритму DES, придуманному на 10-15 лет раньше, практически по всем параметрам, а именно : по скорости перебора в 15 раз, по отсутствию привязки в 4.096 раз и по мощности перебора фактически в 1.000 раз =( Скажу даже
- Micro$oft разработали даже патч, который запрещает
вообще использовать хэш
LAN.
Пришлось разработать более криптостойкий алгоритм ...
В так называемом NT хэше убрали практически все недостатки LAN хэша, а именно: теперь поддерживается пароль до 128 символов (!),
где сохраняются все регистры, пароль не разбивается на половинки, а шифруется целиком по алгоритму MD4 (Маст Дай 4 ... гы ..гы ... да
ладно, я пошутил).
P.S. Практически на всех системах используется два хэша LAN и NT, так что все доработки NT хэша
сводятся к нулю, достаточно с помощью всё того же L0phtCrack взломать LAN хэш, а потом NT хэш уже дело техники. И ещё к слову дистребьютед.нет уже довольно давно ведёт проект по тестированию MD5, т.е. даже не тестированию а взлому, кому повезёт получит 2.000$, но это материал для отдельной
статьи...