достатки (в данном случае не стоит ругать Microsoft — алгоритм LanManager изна-
чально был разработан компанией IBM).
Самым большим недостатком алгоритма LM является разделение пароля на две части,
каждая из которых состоит из семи символов. Другими словами, пароль,
имеющий
длину
8 символов разделяется на два пароля, первый из которых состоит из 7 символов, а вто-
рой — из 1 символа. Подобные утилите LOphtcrack средства используют этот недостаток,
проверяя одновременно обе половины пароля именно так, как если бы они были незави-
симыми друг от друга паролями. Рассмотрим, например,
12-символьный
пароль, который
полностью соответствует требованиям библиотеки Passfilt —
123456Qwerty.
Во-
первых, когда пароль шифруется по алгоритму LM, его символы преобразуются в верхний
регистр —
123456QWERTY.
Затем к паролю добавляются нулевые символы (т.е. символы с
кодом 0, чтобы получить строку, состоящую из 14 символов):
1234.56QWERTY
. Перед
шифрованием
эта
строка делится
на две
части
—
123456Q
и
WERTY
.
После этого каждая
строка шифруется независимо от другой, а полученные результаты объединяются. Зашиф-
рованное
значение
ДЛЯ
1234
56Q
—
6BF11E04AFAB197F,
а ДЛЯ
WERTY
—
1E9FFDCC75575B15.
Таким образом, полученный в результате хэш-код будет иметь сле-
дующее
значение:
6BF11E04AFAB197F1E9FFDCC75575B15.
Поскольку первая половина пароля, представленного хэш-кодом, содержит и бук-
вы, и цифры, то на ее взлом путем перебора всех возможных вариантов с помощью
утилиты LOphtcrack уйдут сутки или около того, в зависимости от вычислительной
мощности используемого компьютера. Однако вторая половина пароля содержит
только символы, поэтому на ее взлом понадобится всего лишь 60 секунд при исполь-
зовании компьютера с процессором Pentium.
Каждая взломанная половина пароля отображается в соответствующей строке окна
утилиты LOphtcrack. Теперь можно сделать некоторые предположения о том, какой мо-
жет
быть
первая
половина
пароля. Строка
WERTY
говорит
о
том,
что в
качестве пароля
пользователь
выбрал символы из верхнего ряда клавиш клавиатуры.
Следовательно,
имеет
смысл проверить такие пароли,
как
QWERTYQWERTY,
POIUYTQWERTY,
ASDFGHQWERTY,
YTREWQQWERTY
и,
наконец,
123456QWERTY.
Эти
варианты можно добавить
в
словарь, под-
готовленный для утилиты LOphtcrack, а затем приступить к очередному штурму.
Данный пример наглядно демонстрирует, как относительно просто угадать, каза-
лось бы, довольно сложный пароль LM, зная его вторую половину. Таким образом,
мы получаем парадокс: при данном подходе 12- и
13-символьные
пароли могут ока-
заться менее надежными, чем
7-символьные,
так как взломщик, зная вторую полови-
ну длинного пароля, может догадаться о том, из каких символов состоит первая поло-
вина, как это было показано в рассмотренном примере. Пароль, состоящий из восьми
символов, вряд ли даст взломщику много информации, однако он, пусть только тео-
ретически, не столь надежен, как
7-символьный
пароль.
Для снижения вероятности успешного взлома выбирайте пароли в точности дли-
ной 7 или 14 символов. (Не забывайте, что длинные
14-символьные
пароли пользова-
тели, скорее всего, будут записывать и держать эти записи под рукой. Поэтому пред-
почтительнее использовать 7-символьные пароли.)
Если же вы хотите поставить в тупик взломщика, вооруженного утилитой LOphtcrack,
используйте в каждой половине пароля хотя бы один управляющий символ ASCII. Такие
символы (например, символы с кодом 255 или 129) не отображаются на экране утилитой
LOphtcrack. Конечно, ежедневный ввод таких паролей, требующих дополнительных на-
жатий клавиш для ввода символа по его коду
(<А11>+код
символа на цифровой вспомога-
тельной клавиатуре в режиме
<NumLock>),
связан с некоторым неудобством и, по-
видимому, будет использоваться только профессиональными пользователями, имеющими
широкие полномочия по администрированию рабочих групп и учетных записей обычных
пользователей. Что касается администраторов, то для них использование в паролях как
можно большего количества неотображаемых символов должно стать обыденной практикой.
Глава 5. Хакинг Windows NT 203