Архивы: по дате | по разделам | по авторам

Шпионы как мы

Архив
автор : Алексей Павленко   10.04.2001

Вместе с компьютерами, электронной почтой и Интернетом в нашу жизнь прочно вошло слово «пароль». Настало время разобраться в ситуации с паролями спокойно, без истерики, и постараться понять, так ли страшен черт, как его малюют.

- Пароль!
- Да пошел ты…
- Сколько лет стою, а пароль не меняется…


Вместе с компьютерами, электронной почтой и Интернетом в нашу жизнь прочно вошло слово «пароль». Еще в середине восьмидесятых годов прошлого века оно ассоциировалось лишь со шпионскими боевиками да анекдотами про Штирлица, но возникшая в последние годы с легкой руки масс-медиа паранойя компьютерной безопасности привела к тому, что термин сей утвердился в сознании обывателя, и на каждом шагу только и слышишь истории про злобного хакера, залезшего через Сеть в домашний холодильник и выпившего все пиво, защищенное, между прочим, весьма стойким криптоалгоритмом. Настало время разобраться в ситуации с паролями спокойно, без истерики, и постараться понять, так ли страшен черт, как его малюют.

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

Сергей Scout Кащавцев

Полную версию статьи читайте на http://www.softerra.ru/review/internet/8563/

Пароли для ос, или я тучка-тучка-тучка…

То, что операционная система 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% всех паролей, включая администраторский (рис. 1). Что удивительно, у пользователей очень популярен пароль «123».

Паролей.net

Сетевые пароли можно узнать двумя путями: или перебором, или перехватом. В первом случае вновь пригодится RePwl, позволяющая еще и подбирать пароли к ресурсам сети. Вначале она сканирует содержимое сетевого окружения, отыскивая сетевые ресурсы, затем фильтрует их и оставляет только запароленные, а далее все как обычно: полный перебор по алфавиту или использование словаря. Мой личный опыт показал, что определению пароля очень помогает человеческий фактор: людям обычно лень запоминать длинный пароль, кроме того, им кажется, что они поступят очень хитрО, введя комбинацию из нескольких цифр - злоумышленник ведь не знает, что в пароле одни цифры, а все варианты, мол, просто не сможет перебрать… Чтобы опровергнуть это заблуждение, отмечу, что при использовании 166-мегагерцового процессора и сети на 10 Мбит/с пароль из трех-четырех цифр подбирается за несколько минут. Как оказалось, подобные пароли составляют 90% выявленных (рис. 2).

Метод перехвата пароля основан на том, что пользователь, обращаясь к серверу (для прочтения почты, подключения к личной папке и т. д.), должен передать ему свой пароль, который, естественно, идет по самому обычному кабелю в виде самых обычных электрических импульсов. По идее, третья сторона должна быть не в состоянии узнать содержимое пакетов, которыми пользователь обменивается с сервером. Но это только по идее… На самом же деле из-за особенностей архитектуры локальной сети пакеты поступают на все сетевые карты, а затем каждая из них определяет, не к ней ли, случаем, пришел запрос? Если к ней, она принимает данные. Подобная реализация сети позволяет при некотором навыке свободно читать чужие пакеты, например, с помощью утилиты Network Spy.

Что можно обнаружить в пойманном пакете? Да все, что душа пожелает! Теоретически многие сетевые пароли передаются в открытом виде, и, заинтересовавшись этой проблемой, я решил проверить сей факт на практике. Поменяв пароль в домене на 123 и используя при этом Alex в качестве имени пользователя, я сел за другой компьютер в сети и запустил на нем «шпиона», а затем с первого компьютера обратился к почтовому серверу. Network Spy тут же стал показывать пакеты, помеченные как «POP3», то бишь отловил операцию проверки почты. Практически сразу я поймал имя пользователя:

и… пароль:

На рисунках показано содержимое сетевых пакетов: в начале идет служебная информация - длина пакета, IP-адреса (откуда пришел и куда направляется), контрольная сумма и т. д. А после этого располагаются… искомые имя пользователя и пароль.

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

Затем я попытался забрать почту по протоколу IMAP. Тут идентификатор (login) и пароль вообще обнаружились в одном сетевом пакете:

При заходе на FTP-сайт пароль оказалось выявить не сложнее:

Вас еще не хватил удар? Я, например, испытал легкий шок, увидев это в первый раз. В качестве небольшого утешения могу отметить, что почтовые пароли относительно безопасно передавать с помощью Secure Password Authentification. В Outlook Express это делается так:

После выбора этой опции пароли уже не передаются в открытом виде. К сожалению, у популярного в России The Bat! есть проблема с реализацией защищенной аутентификации.

Кроме рассмотренных популярных протоколов, по которым могут идти конфиденциальные данные, в принципе можно перехватывать что угодно: файлы, которые вы передаете по сети, сообщения на коммуникационную программу, аутентификационные пакеты к серверу (вспомните L0phtCrack), данные с Proxy-сервера и многое другое.

В общем, тяжела жизнь простого пользователя. А ведь рассмотренные методы взлома паролей - лишь малая толика в бесконечной череде приемов, использующихся при атаках компьютерных сетей. Заинтересовавшиеся этой темой смогут подробнее узнать о программах, описанных в статье, а также о других (как технических, так и психологических) методах обдуривания несчастных граждан и приемах защиты от них в разделе «Безопасность» сайта «SoftТерра». Есть лишь одно утешение, да и то весьма сомнительное: в реальной жизни все еще хуже - там не только воруют…

[i39130]

© ООО "Компьютерра-Онлайн", 1997-2022
При цитировании и использовании любых материалов ссылка на "Компьютерру" обязательна.