
Лабораторная работа №1 / Лабораторная 1 Филатов SAMInside
.docЛипецкий государственный технический университет
Кафедра автоматизированных систем управления
Лабораторная работа №1
по методам и средствам защиты информации
Использование средств реализации атак на информационные системы
|
Студент |
|
|
|
Филатов А.А. |
|
||||||||||
|
|
|
подпись, дата |
|
фамилия, инициалы |
|
||||||||||
|
Группа АС-09-2 |
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
||||||||||
|
Принял |
|
|
|
|
|
||||||||||
|
к.т.н. |
|
|
|
Батищев Р.В. |
|
||||||||||
|
ученая степень, звание |
|
подпись, дата |
|
фамилия, инициалы |
|
Липецк 2012
1 Задание
-
Зафиксировать конфигурацию компьютера и виртуальной машины в отчете (тип и частота процессора).
-
Создать в операционной системе 3 учетные записи пользователей, для которых будет производиться подбор пароля, например «user1», «user2» и «user3».
-
Для учетной записи «user1» установить пароль, представляющий собой какое-либо слово. Длина пароля должна быть 6-8 символов.
-
Для учетной записи «user2» установить пароль, включающий только буквы латинского алфавита в одном регистре. Длина пароля должна быть 6-8 символов.
-
Для учетной записи «user3» установить пароль, включающий буквы латинского алфавита в одном регистре и цифры. Длина пароля должна быть 5-6 символов.
-
Зафиксировать имена пользователей и пароли в отчете.
-
Установить утилиту подбора паролей в соответствии с вариантом. Если утилита не позволяет импортировать базу идентификационной информации пользователей из операционной системы, воспользоваться утилитой «pwdump».
-
Установить словарь паролей для утилиты подбора паролей.
-
Средствами утилиты подбора паролей или «pwdump» считать идентификационную информацию пользователей из операционной системы. Зафиксировать полученную информацию в отчете в форме скриншота.
-
Запустить для учетной записи «user1» атаку по словарю. Зафиксировать в отчете скорость перебора и время подбора пароля.
-
Запустить для учетной записи «user2» атаку полным перебором, ограничив множество символов латинским алфавитом нужного регистра. Зафиксировать в отчете скорость перебора и время подбора пароля.
-
Запустить для учетной записи «user3» атаку полным перебором, ограничив множество символов латинским алфавитом нужного регистра и цифрами. Зафиксировать в отчете скорость перебора и время подбора пароля.
2. Способ хранения паролей в Windows
2.1. Способ хранения
Windows до версии Vista по умолчанию хранила пароль в двух разных хэшах — LM и NT. В висте и выше LM-хэш не хранится.
Пароли пользователей и сопутствующая информация хранится в реестре по адресу HKLM\SAM\SAM\Domains\Account\users\[RID]\V, известному как V-блок. Раздел SAM находится в соответствующем файле c:\Windows\System32\config\SAM. RID — уникальный идентификатор пользователя, его можно узнать здесь: HKLM\SAM\SAM\Domains\Account\users\names\<имя пользователя> (параметр Default, поле — тип параметра). Например, RID учетной записи «Администратор» всегда 500 (0x1F4), а пользователя «Гость» — 501 (0x1f5). Доступ к разделу SAM по умолчанию возможен только пользователю SYSTEM, но если очень хочется посмотреть — запускаем
Чтобы наблюдать V-блок в удобном виде можно, например, экспортировать его в текстовый файл (File-Export в Regedit).
От 0x0 до 0xCC располагаются адреса всех данных, которые находятся в V-блоке, их размеры и некоторая дополнительная информация о данных. Чтобы получить реальный адрес надо к тому адресу, что найдем прибавить 0xCC. Адреса и размеры хранятся по принципу BIG ENDIAN, т.е понадобится инвертировать байты. На каждый параметр отводится по 4 байта, но фактически все параметры умещаются в одном-двух байтах. Вот где искать:
Адрес имени пользователя — 0xС
Длина имени пользователя — 0x10
Адрес LM-хэша — 0x9с
Длина LM-хэша — 0xa0
Адрес NT-хэша — 0xa8
Длина NT-хэша — 0xac
В данном случае имя пользователя найдется по смещению 0xd4 + 0xcc и его длина будет 0xc байт. NT-хэш будет располагаться по смещению 0x12c + 0xcc и его размер (всегда один и тот же) = 0x14.
Еще одна деталь, касающаяся хранения паролей — как к NT- так и к LM-хэшу всегда добавляются спереди 4 байта, назначение которых для меня загадка. Причем 4байта будут присутствовать даже если пароль отключен. В данном случае видно, что длина LM хэша =4 и если посмотреть на его адрес, можно эти 4 байта увидеть несмотря на то что никакого LM-хэша нет.
Рисунок 1. V-блок
2.2. Алгоритмы шифрования
Формирование NT-хэша:
1. Пароль пользователя преобразуется в Unicode-строку.
2. Генерируется MD4-хэш на основе данной строки.
3. Полученный хэш шифруется алгоритмом DES, ключ составляется на основе RID пользователя.
Формирование LM-хэша:
1. Пароль пользователя преобразуется в верхний регистр и дополняется нулями до длины 14 байт.
2. Полученная строка делится на две половинки по 7 байт и каждая из них по отдельности шифруется алгоритмом DES. В итоге получаем хэш длиной 16 байт (состоящий из двух независимых половинок длиной по 8 байт).
3. Полученный хэш шифруется алгоритмом DES, ключ составляется на основе RID пользователя.
4. В windows 2000 и выше оба полученных хэша дополнительно шифруются алгоритмом RC4 с помощью ключа, известного как «системный ключ» или bootkey, сгенерированного утилитой syskey, и шифруются довольно хитрым образом.
3. Конфигурация компьютера
Свойства ЦП: |
|
Тип ЦП |
QuadCore Intel Core 2 Quad Q6600, 2400 MHz (9 x 267) |
Псевдоним ЦП |
Kentsfield |
Степпинг ЦП |
G0 |
Наборы инструкций |
x86, x86-64, MMX, SSE, SSE2, SSE3, SSSE3 |
Исходная частота |
2400 МГц |
Мин./макс. множитель ЦП |
6x / 9x |
Engineering Sample |
Нет |
Кэш L1 кода |
32 Кб per core |
Кэш L1 данных |
32 Кб per core |
Кэш L2 |
2x 4 Мб (On-Die, ECC, ASC, Full-Speed) |
Системная память |
3264 Мб (DDR2-800 DDR2 SDRAM) |
Видеоадаптер |
NVIDIA GeForce GTS 250 (1024 Мб) |
4. Имена и пароли учетных записей
Имя пользователя |
Пароль |
user1 |
gigabyte |
user2 |
uytrewq |
user3 |
q1w2e3 |
5. Идентификационная информация пользователей
6. Скорость перебора и время подбора пароля
Пользователь |
Время подбора |
Скорость подбора |
user1 |
1,5 мин |
1679452 p/s |
user2 |
8,5 мин. |
16304743 p/s |
user3 |
2,16 мин. |
16316458 p/s |
7. Вывод
Несмотря на то, что выбранные пароли были не так уж просты, их удалось подобрать менее чем за 10 минут.
Для повышения безопасности пользовательских данных необходимо выбирать пароль следующим образом:
-
Не использовать в пароле слова
-
Использовать буквы разных регистров
-
Использовать в пароле цифры
-
Использовать специальные символы