Автор: Алексей Павленко Опубликовано 13 апреля 2001 года
- Пароль? - Да пошел ты!.. - Сколько лет стою, а пароль не меняется...
Вместе с компьютерами, электронной почтой и Интернетом в нашу жизнь прочно вошло слово “пароль”. Еще в середине восьмидесятых годов прошлого века оно ассоциировалось лишь со шпионскими боевиками да анекдотами про Штирлица, но возникшая в последние годы с легкой руки масс-медиа паранойя компьютерной безопасности привела к тому, что термин сей утвердился в сознании обывателя, и на каждом шагу только и слышишь истории про злобного хакера, залезшего через Сеть в домашний холодильник и выпившего все пиво, защищенное, между прочим, весьма стойким криптоалгоритмом. Настало время разобраться в ситуации с паролями спокойно, без истерики, и постараться понять, так ли страшен черт, как его малюют.
Проведенные изыскания, к сожалению, подтвердили: черт действительно страшен. В проприетарных операционных системах и при сетевом взаимодействии узнать пароли даже взломщику средней руки не сложнее, чем опытному медвежатнику справиться с дверной щеколдой. Но виной тому в первую очередь беспечность самих пользователей, зачастую и не подозревающих, где и как их могут “расколоть”. В этой статье описаны технические приемы и методы “ловли” паролей, знание которых (приемов, разумеется, а не паролей) позволит вам обезопасить себя в работе, ибо “кто предупрежден — тот вооружен”.
Сергей Scout Кащавцев
Пароли для ос, или я тучка-тучка-тучка...
То, что операционная система Windows 9x хранит зашифрованные пароли в файлах вида имя_пользователя.pwl в одном из своих каталогов, давным-давно не секрет. Расширение PWL как раз и означает PassWord List. Само собой, пароли в этом файле шифруются, но “на всякого мудреца довольно простоты”… Алгоритм шифрования в Windows 95 был очень слаб, да к тому же в Win API существовала недокументированная функция WNetEnumCachedPasswords, возвращающая ВСЕ пароли!
В Windows 95 OSR 2 способ шифрования поменяли, “недокументированную” функцию убрали, но в качестве алгоритма шифрования был выбран RC4. В отличие от DES и RSA, он работает очень быстро, но все пароли хранятся в верхнем регистре, то есть PassWoRd=PASSWORD. Поэтому пароль можно быстро найти… простым перебором! Для этого достаточно переписать с машины-жертвы файл с паролями и запустить программу типа RePwl. Если длина пароля мала, то на современной машине на его подбор уходит несколько часов (если не минут). Для длинных ключей, однако, на перебор потребуются месяцы и годы, что заставляет повторить набившую оскомину фразу: Люди! Будьте бдительны! Используйте длинные пароли с неалфавитными символами!
Windows NT — гораздо более защищенная операционная система. В ней и регистр паролей важен, да и виснет она редко… Но кто сказал, что в ней нельзя узнать пароли? Можно! И похоже, что не сложнее, чем в Windows 95. Для начала пароли надо найти. Раз они используются, значит, должны где-то храниться, но где? Оказывается, в некоем файле по имени SAM (Security Account Manager), находящемся в каталоге %systemroot%\system32\config. Точнее, в файле хранятся не сами пароли, а их хэши (hash), то есть пароли в зашифрованном виде.
Как уже говорилось, регистр пароля в NT важен, а его максимальная длина составляет 14 символов. Хэши паролей хранятся дважды в двух разных форматах: NT Hash и LanMan Hash. Каждая из семисимвольных половин пароля шифруется независимо от другой в LanMan Hash по алгоритму DES; NT Hash получается в результате шифрования всего пароля по алгоритму MD4. LanMan Hash содержит информацию о пароле без учета регистра (прописными буквами), а NT Hash — с учетом регистра. Поэтому взломщику проще работать с LanMan Hash, а потом уже перебором получать пароль с учетом регистра. Таким образом, если пароль состоит из четырнадцати символов, то придется узнавать два пароля по семь символов каждый, а не один четырнадцатисимвольный, что гораздо проще.
Однако для того, чтобы расшифровать хэши паролей, их нужно сначала заполучить. Дело осложняется тем, что к SAM-файлу доступ получить нельзя, если загружена операционная система. Но SAM-файл можно списать, загрузив другую операционку, к примеру DOS или Windows 9х. Скажете, что в качестве файловой системы в WinNT обычно используется NTFS? Правильно, но ведь есть прекрасно работающие драйверы NTFS for Windows 98 и NTFS for DOS. Кроме того, SAM-файл (именуемый “sam”, без расширения) можно найти на диске аварийного восстановления системы или резервном носителе.
Еще один способ получения парольных хэшей — из реестра (ветки HKLM\SAM\SAM и HKLM\SECURITY), но для этого необходимо иметь административные права. По умолчанию у администратора нет доступа к “секретным” данным, однако права можно изменить с помощью regedt32.exe и просмотреть всю информацию, хотя делать этого не советую, ели нет желания переустанавливать систему, — по любопытству и сам пострадал.
Понятно, что получить хэши непросто: надо иметь административный доступ или “физический контакт” с компьютером. И даже это иногда не работает, если активизирована программа SYSKEY, входящая в состав ServicePack. Но! Опять есть обходная тропка. Можно перехватывать аутентификационные пакеты по сети, когда машина-клиент обращается к другой машине, с помощью, скажем, программы L0phtCrack. Будучи запущенной, за день она собирает достаточно хэшей паролей. Правда, говорят, что в Microsoft научились бороться и с этим…
Ну а уж когда хэши будут на руках, с ними можно поступить так же, как и с паролями Windows 9x. С помощью L0phtCrack+ (обратите внимание на плюс)можно получить хэши паролей из реестра или импортированного файла SAM. В качестве примера: как-то я запустил эту программу на одном из предприятий. Более 40% паролей были получены через минуты (!) работы, а за несколько часов удалось узнать уже 84% всех паролей, включая администраторский. Что удивительно, у пользователей очень популярен пароль “123”:
Паролей.net
Сетевые пароли можно узнать двумя путями: или перебором, или перехватом. В первом случае вновь пригодится RePwl, позволяющая еще и подбирать пароли к ресурсам сети. Вначале она сканирует содержимое сетевого окружения, отыскивая сетевые ресурсы, затем фильтрует их и оставляет только запароленные, а далее все как обычно: полный перебор по алфавиту или использование словаря. Мой личный опыт показал, что определению пароля очень помогает человеческий фактор: людям обычно лень запоминать длинный пароль, кроме того, им кажется, что они поступят очень хитрО, введя комбинацию из нескольких цифр — злоумышленник ведь не знает, что в пароле одни цифры, а все варианты, мол, просто не сможет перебрать… Чтобы опровергнуть это заблуждение, отмечу, что при использовании 166-мегагерцового процессора и сети на 10 Мбит/с пароль из трех-четырех цифр подбирается за несколько минут. Как оказалось, подобные пароли составляют 90% выявленных:
Собираетесь обновить ПО? Самое время. Нужны встроенные средства виртуализации? Экономия на электроэнергии? Обслуживание виртуальных машин без простоев? Все это возможно с Windows Server® 2008 R2.
Раньше ESET NOD32 учился побеждать новые вирусы исключительно в Словакии. Теперь бороться с сетевой "заразой" будут и у нас, в России. Александр Матросов, руководитель вируслаба, вызвался ответить на ваши вопросы.
Будущие выпускники часто спрашивают, какую тему выбрать для диплома или диссертации. Предвидя, что такие вопросы и дальше будут продолжаться, я аккумулировал ключевые направления исследований в области ИБ, над которыми сейчас бьются лучшие умы отрасли.
Продолжая разговор про российский самолет пятого поколения, посмотрим на его "сердце – огненный мотор". Управление двигателями требует сложнейших математических моделей и весьма значительных процессорных мощностей.
С платформой NVIDIA ION мы уже познакомились на примере неттопа Acer Aspire Revo. А спустя полгода она наконец-то добралась до нетбуков. Об одном из первых представителей нового поколения и пойдёт речь.