Rambler's Top100
 поиск по сайту:

Технологии - журнал "Компьютерра"

Hacker-friendly-авторизация

Автор: Андрей Васильков
Опубликовано в журнале "Компьютерра" №11 от 09 апреля 2004 года

Рано или поздно рядовому пользователю приходится заниматься взломом. Причины различны — от банального склероза (забыл пароль) до желания нормально работать в какой-нибудь локальной сети, не ограничиваясь правами гостя. На большинстве компьютеров сейчас установлена та или иная версия Windows NT (4.0/5.0/5.1), что делает задачу довольно легко разрешимой. Рассмотрим способы взлома этих операционных систем при условии наличия физического доступа к атакуемому компьютеру.

Мы можем оказаться в одной из двух ситуаций:

- Нужно узнать пароль в системе.
- Нужно получить доступ в систему (желательно с администраторскими привилегиями, чтобы ни в чем себе не отказывать).

Казалось бы, зачем узнавать пароль, если существуют способы авторизоваться и без него? Во-первых, зная пароль, не придется заметать следы взлома. Вы просто входите от имени другого пользователя (или администратора) и работаете из-под его учетной записи. Во-вторых, не имея оригинального пароля (сбросив его, заменив своим или пустым), вы не сможете получить доступ к файлам, которые пользователь зашифровал посредством EFS1. То же самое касается личных ключей из сертификатов2.

Восстановление пароля


Начнем с первой задачи (восстановление пароля).
В семействе операционных систем Windows NT для аутентификации используется не сам вводимый пароль, а его хэш3. Для входа в систему может использоваться любой из двух типов хэшей, обозначаемых LM (от LanMan) и NT. Учетные записи пользователей и их хэши хранятся в файле, расположенном по адресу4 %Системная_директория%\SYSTEM32\CONFIG\sam (SAM расшифровывается как Security Account Manager).
Файл заблокирован, пока загружена Windows NT/2000/XP. Его чтение/запись невозможны даже при наличии прав администратора. Чтобы обойти это препятствие, придется загрузиться в другой ОС (MS-DOS с дискеты, к примеру) и скопировать SAM из-под нее. В случае файловой системы NTFS придется к тому же воспользоваться программой, поддерживающей режим чтения NTFS. Например, ERD Commander, CIA Commander, NTFSDOS и т. д.

Заполучив файл SAM, можно приступать к отысканию паролей доступа. Однако невозможно провести обратную процедуру и вычислить исходный пароль на основании его хэша, поскольку хэширование — однонаправленное преобразование. Для решения этой задачи используется метод подбора пароля различными способами. Суть его в том, что каждый пароль, который может быть использован в системе, хэшируется по алгоритму LM или NT, после чего сравниваются два хэша: проверяемого пароля и хранящегося в файле SAM. Если они совпадают, то считается, что пароль найден. Если нет, перебор продолжается.

Поскольку LM-хэш менее надежный, то для получения несанкционированного доступа пароли подбирают, сравнивая именно LM-, а не NT-хэши, хотя никто не запрещает работать и с NT-хэшами, а в некоторых случаях (см. далее) сравнение NT-хэшей вообще единственный способ подобрать пароль.

LM- и NT-хэши имеют фиксированную длину в 16 байт независимо от длины вводимого пароля и его структуры. Windows NT версии 5.0 (2000) и старше разрешают использовать в качестве парольного символа любой из 256 кодов ASCII, а длина пароля ограничивается 127 символами. Перед хэшированием по алгоритму LM все буквенные символы в пароле приводятся к верхнему регистру. Таким образом, 26 символов строчных букв латинского алфавита и 33 русского надо исключить из 256 вариантов ASCII-символов. Отсюда следует, что в локализованной версии Windows NT для создания пароля доступны 256 – (26+33) = 197 символов.

При длине пароля более 14 символов (предел для WinNT 4.0) алгоритм подготовки паролей к LM-хэшированию не может быть выполнен корректно. Происходит ошибка, в результате которой LM-хэш всегда принимает значение, соответствующее нулевому паролю. C NT-хэшем таких проблем нет. Из-за этой ошибки подбор пароля длиной более 14 символов путем сравнения LM-хэшей невозможен в принципе. Придется считать и сравнивать NT-хэши, что займет гораздо больше времени. В то же время, если длина пароля превышает 14 символов, это можно определить сразу — лишь взглянув на LM-хэш.

При хэшировании пароля по алгоритму NT различаются регистры букв — следовательно, любой из 256 кодов ASCII не просто допустим, а обрабатывается уникально и потому имеет реальный вес. Непосредственным перебором пароль длиной более 14 символов в Windows NT 5.0/5.1 пришлось бы искать среди примерно 7,05х10305 вариантов5.

В тоже время число возможных NT-хэшей гораздо меньше — 2128=25616 »3,4х1038 вариантов. Иными словами, смысла делать пароль длиннее 16 символов нет. Все равно хэш получится шестнадцатибайтным с теми же 256 вариантами допустимых значений для каждого байта. При длине пароля от 17 до 127 символов его хэш будет совпадать с одним из хэшей другого пароля, длиной до 16 символов включительно.

Внушительное количество возможных комбинаций (3,4х1038) являлось бы реальной характеристикой стойкости пароля только в том случае, если каждый бит хэша равновероятно может быть как единицей, так и нулём. На самом деле это не так. Хэш формируется на основе пароля, а в качестве символов последнего обычно используют буквы, реже цифры, еще реже — специальные символы. Поэтому вероятность одних паролей (и следовательно хэшей) гораздо выше, чем других. До сих пор избирательная атака по словарю и её комбинированный вариант позволяют вскрыть большую часть паролей сколь угодно криптографических стойких систем. Нет особой разницы между практической надежностью 64- и 1024-битного ключа, если ваш пароль key или 123. Такой пароль вскроют прежде, чем вы дочитаете это предложение до конца.

Атака по словарю представляет собой перебор в качестве паролей слов из предварительно составленного списка. Комбинированный вариант использует не только слова из списка, но и их вариации. Например, пароли, набранные транслитом, без согласных, с замененной раскладкой, дважды подряд, в обратном порядке и т.д.

Пароли до 14 символов включительно вскрываются сравнением LM-хэшей. Тут все несколько проще: длина хэша также всегда равна шестнадцати байтам (либо дополняется до двадцати одного байта при сетевой аутентификации), а каждый символ пароля может принимать одно из 197 значений. Однако для нахождения пароля вовсе не обязательно перебирать весь диапазон вариантов (5,15х1036). Дело в том, что в результате подготовки пароля к хэшированию по алгоритму LM он претерпевает ряд изменений6:

- В зависимости от длины введенный пароль усекается либо дополняется нулями так, чтобы из него получилась строка в 14 байт.
- Все буквы приводятся к верхнему регистру.
(Пропускаем ряд операций, связанных с шифрованием по алгоритму DES.)
- На выходе формируется шестнадцатибайтный хэш.
Затем, если речь идет о сетевой аутентификации (LM challenge/response):
- К хэшу дописываются пять нулей (получается строка в 21 байт), и он делится на три части по 7 байт.
- Каждая часть шифруется независимо по алгоритму DES.

Если пароль был короче восьми символов, то байты от 15-го до 21-го включительно (третья часть 21-байтного хэша) всегда равны 0х04ЕЕ0000000000. Таким образом, можно сразу определить, что пароль короче восьми символов.


1 Encrypting File System — возможность файловой системы NTFS хранить данные в зашифрованном виде.
2 См. www.support.microsoft.com/?kbid=290260.
3 Хэшем (hash) называют числовое значение фиксированной длины, полученное в результате обработки данных (одного символа, одного слова, строки или файла) по какому-либо hash-алгоритму. Например, MD5, SHA-512. Понятие «контрольной суммы» (CRC-16, CRC-32) близко к понятию хэша, но не эквивалентно ему. Хэши обладают рядом уникальных свойств. Так, зная хэш, невозможно судить о структуре и даже размере первоначальных данных. Функция хэширования является однонаправленной. При изменении хотя бы одного бита данных их хэши будут абсолютно разными.
4 Также пароли хранятся в резервной копии файла SAM (каталог %Системная_директория%\repair и диски аварийного восстановления) с именем sam._ (архив CAB).
5 Обозначим буквой W количество допустимых для использования символов, а буквой q — длину пароля. При этом учтем, что длина пароля лежит в диапазоне от 15 до 127 включительно, то есть может принимать любое из 113 значений. Тогда получим, что общее количество возможных паролей F рассчитывается по формуле: F = (Wq)+(Wq–1)+(Wq–2)+(…)+(Wq–113). Подставляем значения: F = (256127)+(256126)+(256125)+(…)+(25614) » 7,05х10305.
6 Крис Касперски, «Техника сетевых атак».

стр. 2>>

Читайте на сайте тему номера Моя XPепость и другие статьи из журнала "Компьютерра" от 09 апреля 2004 года.

Обсудить статью в форуме (0)

Версия для печати | Послать другу | Написать в редакцию

Автор: Андрей Васильков. Другие статьи автора
Рубрика: Технологии. Другие статьи из рубрики


Самый лучший IQ-тест

Весь мир куда-то глобализуется, и мы должны глобализоваться туда же, и отклонение хотя бы в деталях (и даже скорее в деталях и форме, чем в содержании) воспринимается как опасное вольнодумство; напротив, точное соблюдение подробностей крайне приветствуется нашими партнерами из Первого Мира и даже служит порой индульгенцией для несоответствия по существу.

Что такое "ум", "интеллект"и что измеряют тесты IQ?

Работники агентств по подбору персонала нередко встречаются с запросом типа: "Подберите мне не просто квалифицированного специалиста, а умного и хорошего человека".

Тесты, которые нас сортируют

В сегодняшней теме номера читатель познакомится с неожиданными результатами пристального анализа некоторых распространенных тестов IQ.

Желательно сироты

"Требуются молодые, тощие, выносливые парни не старше восемнадцати.

От пункта А к пункту Б

Чтобы понять, чем современные службы доставки отличаются от классической почты, я побеседовал с руководителями компаний, проехался с курьерами по маршруту и даже попытался отправить воображаемую книгу в совершенно реальный населенный пункт.

О проекте | Карта сайта | Реклама | Рассылки сайта | Контакты | Вакансии | Архив | КПК-версия
РЕГИОНАЛЬНАЯ КОМПЬЮТЕРРА | Подписка в регионах | RSS 2.0

© ООО "Компьютерра-Онлайн", 1997-2008
Редакция сайта: site@computerra.ru
Техподдержка сайта: websupport@computerra.ru
Редакция журнала: inform@computerra.ru
Отдел рекламы: reklama@computerra.ru
Телефон: (495) 232-22-61, (495) 232-22-63
Работает на «Битрикс: Управление сайтом»
Почта защищена сервером СПАМОРЕЗ

Сайт работает на сервере DEPO Computers

  TopList  Rambler's Top100



СЕГОДНЯ В "КОМПЬЮТЕРРЕ"

Интервью: чему учить российских "айтишников"  #

Дмитрий Дахновский, глава компании "Текама", занимающейся обучением разработчиков ПО, считает, что  от увеличения количества программистов и падения зарплат российская софтверная индустрия только выиграет.

Прочитать

Великие клавиатуры прошлого  #

Пока развитие компьютерных клавиатур не остановилось, каждая вычислительная машина имела собственную уникальную раскладку, отражавшую особенности её интерфейса.

Прочитать

Младшие братья медиацентра  #

Может ли миниатюрная приставка заменить медиацентр? Мы попытались это выяснить, протестировав одно из наиболее многообещающих устройств такого типа, и пришли к неутешительным выводам.

Прочитать

Гиды "Компьютерры-Онлайн"  #

- Мобильные браузеры. Opera Mini и шесть других веб-браузеров, предназначенных для работы на мобильных телефонах с поддержкой технологии Java 2 Micro Edition.

- Онлайновые переводчики и словари

- Четыре сервиса для обмена файлами: Box.net, Omnidrive, Yousendit и "Народ: диск".

- Текстовые редакторы для писателя. Между программированием и написанием статей или книг немало общего, но специализированные средства для авторов, похожие на программистские IDE, появились лишь недавно.

- Введение в наноблоговедение

Земля сисадминов  #

Сисадмины редко бывают героями книг. Фантастическая повесть Кори Доктороу "Когда сисадмины правили миром", публикацию которой начинает "Компьютерра-Онлайн", - исключение.

Прочитать

» Статьи, тестирования, обзоры
» Каталог "железа" - Цены

» Форум "Терралаба"