Эта глава исследует взломщики паролей. Поскольку эти утилиты имеют такое значение в безопасности, я опишу много различных их типов, включая явно не предназначенные для взлома Internet паролей.
Термин взломщик паролей может быть неправильно понят, так что я хочу определить его здесь. Взломщик паролей это любая программа, которая может расшифровывать пароли или иначе отключать защиту с использованием пароля. Взломщик паролей не должен расшифровывать что-нибудь. Фактически, большинство из них и не делают этого. Реальные зашифрованные пароли, как Вы скоро узнаете, не могут быть расшифрованы в обратную сторону.
Более точно: зашифрованные пароли не могут быть расшифрованы. Наиболее современные технические процессы шифрования односторонние (то есть не существует обратного процесса, который после выполнения покажет пароль в простом тексте).
Вместо этого, используются утилиты моделирования, работающие по тому же самому алгоритму, что и первоначальная программа паролей. Через сравнительный анализ эти утилиты пробуют найти соответствие зашифрованной версии пароля к оригиналу (это объяснятся немного позже в этой главе). Много так называемые взломщики паролей всего лишь двигатели решения "в лоб", программы, которые пробуют слово за словом, часто с большой скоростью. Они полагаются на теорию, что в конечном счете Вы натолкнетесь на правильное слово или фразу. Эта теория была доказана надежной, прежде всего из-за фактора человеческой лени. Люди просто не заботятся, чтобы создавать сложные пароли. Однако, это не всегда ошибка пользователя:
1 Daniel V. Klein, A Survey of, and Improvements to, Password Security (Обзор и Усовершенствование Безопасности Паролей). Software Engineering Institute, Университет Carnegie Mellon, Пенсильвания. (сообщенная дата создания PostScript: 22 февраля, 1991.)
Эта проблема постоянная, несмотря на тот факт, что образование в безопасности паролей требует минимальных ресурсов. Озадачивает, как такая критическая проблема безопасности (которая может быть легко устранена) часто игнорируется. Проблема проникает к самому сердцу безопасности:
2 K. Coady. Understanding Password Security For Users on & offline. (Понимание Безопасности Паролей Для Сетевых и Автономных Пользователей.) Информационный Бюллетень New England Telecommuting, 1991.
В любом случае, я хочу определить диапазон этой главы. Для наших целей, люди, которые обеспечивают регистрационные пароли или CD ключи не взломщики паролей, и при этом они не особенно нужны здесь. Люди, которые копируют общие регистрационные номера и обеспечивают их по Internet пираты. Я обсуждаю этих людей (и, кстати, указываю на некоторые сайты) в конце этой главы. Однако, эти люди (и файлы, которые они распространяют, часто содержащие тысячи регистрационных номеров) не квалифицируются как взломщики паролей.
ПРИМЕЧАНИЕ: Эти регистрационные номера и программы, которые обходят защиту с использованием пароля, часто называются кряками. Существует телеконференция Usenet фактически посвященная обеспечению таких паролей и регистрационных номеров. Не удивительно, что в этой телеконференции регистрационные номера обычный трафик, и программное обеспечение, к которому они применяются, также часто посылается туда. Эта телеконференция соответственно называется alt.cracks.
Единственное исключение из этого правила программа, предназначенная для обхода ранней реализации схемы проверки правильности Microsoft CD ключа (хотя автор исходного текста не предполагал, что программа будет использоваться как инструмент пиратства). Объясним все по порядку.
Как часть своих анти-пиратских усилий, Microsoft разработала метод идентификации потребителя, который использовал CD ключ. При установке программы Microsoft впервые, пользователям выдавалось диалоговое окно, которое запрашивало CD ключ. Это вызов Вам; если Вы имеете допустимый ключ, программное обеспечение продолжает устанавливаться, и все хорошо. Если, однако, Вы вводите недопустимый ключ, инсталляционный алгоритм завершается с ошибкой, объясняя, что CD ключ является недопустимым.
Несколько людей исследовали схему проверки правильности ключей и заключили, что она плохо разработана. Один программист, Donald Moore, определил, что через следующую процедуру вымышленный ключ мог быть принят за подлинный. Его формула надежна и в основном включает следующие шаги:
Номер, который Вы получили в результате этих действий, исследуется в десятичном форме. Если номер не имеет дробной части (нет числовых значений справа от десятичной точки), ключ допустим. Если номер содержит дробную часть (имеются числа справа от десятичной точки), ключ недопустим. Moore затем разработал маленькую программу, которая автоматизирует этот процесс.
Ссылка: Законченное объяснение Moore'а и анализ алгоритма проверки правильности CD ключа расположены на
http://www.apexsc.com/vb/lib/lib3.html.
Программист также послал исходный текст, написанный на C, в Internet. Я компилировал этот код на нескольких платформах, и он работал одинаково хорошо на всех. (Платформы, на которых я компилировал его, включают DOS, NT, Linux и AIX.) Я нашел утилиту весьма ценной, поскольку я часто теряю свои CD ключи.
Ссылка: Исходный текст расположен на
http://www.futureone.com/~damaged/PC/Microsoft_CD_Key/mscdsrc.html.
Этот тип утилит квалифицируется в этой главе как форма взломщиков паролей. Я подозреваю, что некоторые из Вас будут использовать эту утилиту, чтобы обойти проверку правильности CD ключа. Однако, чтобы делать это, Вы должны сначала узнать немного о C (и иметь доступный компилятор). Я полагаю, если Вы имеете эти утилиты, ваш уровень экспертных знаний действительно высок, и Вы вероятно вне захвата программного обеспечения Microsoft. (Я надеюсь.)
ПРИМЕЧАНИЕ: Метод Microsoft защиты пакетов обновления также легко обходится. Модернизация инсталлируется пока Вы имеете первый диск предыдущей версии указанного программного обеспечения. Поэтому, пользователь, который получит первый диск Microsoft Visual Basic Professional 3.0, может установить его обновление 4.0. По этой причине, некоторые пиратские группы распространяют образы первого диска, которые затем пишутся на дискеты. (В редких случаях, когда на дискете должен иметься точный образ, некоторые люди используют rawrite.exe или dd.exe, две популярные утилиты, которые записывают образ непосредственно на дискету. Эта методика отличается от копирования его на дискету.) Кроме того, любопытно обратить внимание, что некоторые версии обновления VB успешно устанавливаются даже без дискеты, если сначала был установлен Microsoft Office.
Я должен прояснить, что не потворствую пиратству (даже притом, что многие коммерческие программные продукты преступно переоценены). Я использую Linux и GNU. В этом отношении, я значительно обязан Linus Torvalds и Richard Stallman. Я не опасаюсь, что нарушаю закон, поскольку большая часть программного обеспечения, которое я могу свободно передать любому. (Также, я нахожу, что Linux будет более устойчивой, чем многие другие операционные системы, которые стоят сотни долларов.)
Linux полностью свободная для копирования операционная система, и набор GNU программ, находящихся под генеральной общедоступной лицензией. То есть Вы вольны передавать эти программы кому и когда захотите. Этим Вы не нарушите никаких соглашений с авторами программного обеспечения. Многие из этих утилит свободные версии популярных коммерческих пакетов, включая компиляторы C и C++, инструментальные средства Web-разработки, или все, о чем Вы можете мечтать. Эти программы свободны для любого, кто может загрузить их. Они являются удачей для любого, кто занимается разработкой.
В любом случае, взломщики паролей, которые я буду исследовать здесь, делают следующее: они взламывают, уничтожают или иначе обходят пароли. Я предоставлю информацию о кряках регистрации в конце главы. Об этом сказали, давайте продвигаться дальше.
Чтобы понять, как работают взломщики паролей, Вы должны понять только, как работают генераторы паролей. Большинство генераторов паролей используют некоторую форму криптографии. Криптография метод письма в некоторой форме кода.
Это определение широко, и я хочу сузить его. Этимологический корень слова криптография может помочь в этом отношении. Крипто основано от греческого слова kryptos. Kryptos использовался, чтобы описать что-нибудь, что было скрыто, затенено, закрыто, тайно или таинственно. Граф получено из graphia, что означает писать. Таким образом, криптография это искусство секретного письма. Превосходное и краткое описание криптографии даёт Yaman Akdeniz в своей статье Cryptography & Encryption (Криптография и Шифрование):
3 Yaman Akdeniz, Cryptography & Encryption (Криптография и Шифрование) август 1996, Cyber-Rights & Cyber-Liberties (UK) на
http://www.leeds.ac.uk/law/pgs/yaman/cryptog.htm.
(Курсы Уголовного Законодательства Юридического Факультета Университета Leeds, Leeds LS2 9JT.)
Большинство паролей подвергаются некоторой форме криптографии. То есть пароли шифруются. Чтобы проиллюстрировать этот процесс, позвольте мне свести его до самых основ. Вообразите, что Вы создали ваш собственный код, где каждый символ алфавита соответствует числу (смотрите Рисунок 10.1).
Рисунок 10.1. Примитивный пример кода.
На Рисунке 10.1 слева показана таблица, или легенда. Ниже каждого символа находится соответствующее число. Таким образом, A = 7, B = 2, и т.д. Это код подобен тому, который имеется в комплектах с секретным декодером для детей. Вы, вероятно, помните их: Они поставлялись с дешифраторами в виде кольца и иногда даже включали крошечную книгу кодов для ломания кода вручную.
К сожалению, такой код может быть легко сломан. Например, если каждый символ имеет установленный числовой эквивалент (то есть эквивалент никогда не изменяется), это означает, что Вы будете использовать только 26 различных чисел (возможно от 1 до 26, хотя Вы могли бы выбирать числа произвольно). Предположим, что сообщение, которое Вы хотите скрыть, содержит символы, но не числа. Лексический анализ показал бы ваш код за несколько секунд. Существуют программы, которые выполняют такой анализ с высокой скоростью, ища образцы, общие для вашего языка.
Другой метод (слегка более сложный), в котом каждый символ становится другим символом, основан на стандартной операции инкремента (или декремента). Чтобы продемонстрировать эту методику, я задержусь на кодировании ROT-13. ROT-13 метод, посредством которого каждый символ заменяется символом заместителем. Символ заместитель получается перемещёнием на 13 символов вперёд (смотрите Рисунок 10.2).
Рисунок 10.2. Принцип замены символа ROT-13.
Это, также, является неэффективным методом кодирования или шифровки сообщения (хотя он по сообщениям работал в Римских временах для Caesar, который использовал формулу "сдвиг на три"). Имеются программы, которые быстро определяют этот образец. Однако это не подразумевает, что методы подобные ROT-13, бесполезны. Я хочу проиллюстрировать почему, и в процессе продемонстрирую первую важную мысль о паролях и шифровании вообще:
Другими словами, методы подобные реализации ROT-13, могут быть весьма полезны при некоторых обстоятельствах. Вот пример: Предположим, что пользователь хочет послать методику взлома в группу Usenet. Он нашел дыру и хочет предать это гласности, в то время как дыра всё ещё пригодна для использования. Прекрасно. Чтобы помещать настоящими специалистам по безопасности так же быстро обнаруживать дыры, как и взломщикам, ROT-13 может использоваться.
Помните, как я указал, что группы подобные NCSA обычно постоянно загружают конференции Usenet? Многие группы также используют популярные механизмы поиска, чтобы выведать методы взлома. Эти механизмы поиска, прежде всего, используют regex (регулярное выражение) поиск (то есть они ищут по слову или фразе). Например, ищущая сторона (возможно NCSA или любая заинтересованная сторона) может ввести такие комбинации слов:
Когда комбинация слов введена правильно, появляется масса информации. Правильно может означать многие вещи; каждый двигатель работает слегка по-разному. Например, некоторые выдают острые результаты, если слова включены в кавычки. Это иногда вынуждает чувствительный к регистру поиск. Одинаково, многие двигатели предусматривают использование различных Булевых выражений. Некоторый даже предоставляют поиск по нечеткой логике или возможность отметить появляется ли слово рядом, перед или после другого слова или выражения.
Когда взломщик применяет алгоритм ROT-13 к сообщению, такие механизмы поиска будут пропускать его. Например, сообщение:
несомненно, вне досягаемости для обычного механизма поиска. В действительности оно выглядит так:
Наиболее современные программы чтения почты и новостей поддерживают кодирование и декодирование ROT-13 (Free Agent by Forte первая; Почтовый пакет Netscape Navigator другая). Снова, это очень простая форма кодирования, но она демонстрирует концепцию. Теперь давайте возьмем что ни будь более специфичное.
В Internet существует много различных операционных систем. Большинство серверов, однако, выполняет некоторый клон UNIX. На платформе UNIX все идентификаторы входа и пароли пользователя хранятся централизовано. Много лет они хранятся в файле passwd (/etc/passwd) в каталоге /etc. Формат этого файла содержит различные поля. Нас интересуют два из них: идентификатор входа и пароль.
Идентификатор входа хранится в простом тексте, или в совершенно читаемом Английском языке. (Он используется как ключ для шифрования.) Пароль хранится в зашифрованной форме. Процесс шифрования выполняется, используя Crypt(3), программа, основанная на стандарте шифрования данных (DES - data encryption standard). Самую первую версию DES разработала IBM. Сегодня он используется на всех платформах UNIX для шифрования паролей. DES совместно утвержден Национальным Бюро Стандартов и Агентством Национальной Безопасности. Фактически, начиная с 1977, DES был общепринятым методом для охраны критических данных. Рисунок 10.3 содержит краткий график разработки DES.
Рисунок 10.3. Краткий график разработки DES.
DES был разработан прежде всего для защиты некоторой незасекреченной информации, которая может существовать в федеральных офисах. Как сформулировано в Публикации Федеральных Стандартов Обработки Информации 74, Guidelines for Implementing and Using the NBS Data Encryption Standard (Рекомендации по Реализации и Использованию NBS Стандарта Шифрования Данных):
Информация о первоначальной разработке DES редка. По сообщениям, по просьбе Агенства Национальной Безопасности IBM сделала некоторые документы секретными. (Они, вероятно, останутся таковыми в течение нескольких последующих лет.) Однако исходный текст Crypt(3) (текущая реализация DES в UNIX) широко доступен. Это существенно, потому что все годы, когда исходник Crypt был доступен, все же никто не нашел способ легко раскодировать информацию, зашифрованную им.
СОВЕТ: Хотите испытать удачу во взломе Crypt? Получите исходник! Он поставляется в стандартом GNU дистрибутиве библиотек C, который может быть найден на
ftp://gatekeeper.dec.com/glibc-1.09.1.tar.gz.
(Пожалуйста обратите внимание, что если Вы не в Америке и не в пределах Американской юрисдикции, Вы должны загружать источник Crypt с сайта вне Соединенных Штатов. Сайт, обычно использующийся для этого
ftp://ftp.uni-c.dk./glibc-1.09-crypt.tar.z.
Различные реализации Crypt работают по-разному. Однако в общих чертах процесс следующий:
Некоторые версии Crypt, особенно Crypt(3), производят дополнительные шаги. Например, после прохождения этого процесса, они шифруют уже зашифрованный текст, снова используя ваш пароль как ключ. Это довольно сильный метод шифрования, который чрезвычайно трудно сломать.
Короче говоря, DES берет данные и кодирует их, используя одностороннюю операцию, иногда упоминаемую как хэш. Эта операция специфична с математической точки зрения по одной причине: В то время как относительно просто закодировать данные этим способом, декодировать их в вычислительном отношении сложная задача. Оцените, например, что один и тот же пароль может быть закодирован 4,096 различными способами. Средний пользователь без знаний системы мог бы, вероятно, затратить всю жизнь, пытаясь взломать DES, и никогда не добиться успеха. Чтобы получить это в надлежащей перспективе, исследуйте оценку Национального Института Стандартов и Технологий:
4 NIST, 30 декабря, 1993. "Стандарт Шифрования Данных (DES - Data Encryption Standard)", Federal Information Processing Standards Publication 46-2 (Публикация Федеральных Стандартов Обработки Информации 46-2).
http://csrc.nist.gov/fips/fips46-2.txt.
Можно было бы думать, что DES полностью безошибочен. Это не так. Хотя информация не может быть раскодирована, пароли, зашифрованные через DES, могут быть открыты через сравнительный процесс. Процесс работает следующим образом:
Это сам по себе удивительно. Однако программы взлома паролей, сделанные для этой цели, даже более удивительны. Например, такие программы взлома часто подвергают каждое слово списку правил. Правило может быть, например, что слово может появиться в нескольких видах. Типичные правила могли бы включать:
Естественно, чем большее количество правил применяется к каждому слову, тем дольше длится процесс взлома. Однако большее количество правил также гарантирует более высокую вероятность успеха. Это так по ряду причин:
Появление таких программ очень изменило безопасность Internet. Причины могут быть легко поняты любым. Одна причина в том, что такие утилиты эффективны:
5 David Feldmeier и Philip R. Karn. UNIX Password Security Ten Years Later (Защита Паролей в UNIX Десять Лет Спустя). (Bellcore).
Другая причина в том, что пароли на многих системах остаются доступными. Другими словами, многие годы задача взломщика была почти выполнена, если бы он смог получить файл /etc/passwd. Завладев зашифрованными паролями, имея мощную машину и программу взлома, взломщик был готов ломать (если, конечно, он имеет хороший список слов).
Списки слов обычно имеют одно слово в строке, созданы в простом тексте без использования перевода каретки. Они составляют в среднем в около 1МБ каждый (хотя можно создавать список слов размером 20МБ). Как Вы, возможно, предположили, много списки слов доступно в Internet. Они охватывают большое разнообразие языков (таким образом, Американский взломщик может взломать Итальянскую машину и наоборот).
Ссылка: Имеется несколько популярных хранилищ списков слов. Эти коллекции содержат все мыслимые типы списков слов. Некоторые это просто словари, а другие содержат написанные через дефис слова, написанные в верхнем и нижнем регистре и так далее. Вот исключительно хороший источник на
http://sdg.ncsa.uiuc.edu/~mag/Misc/Wordlists.html.
Однако, возможно наиболее окончательная коллекция доступна в проекте COAST в Purdue. Его страница расположена на
http://www.cs.purdue.edu/coast/.
Прежде, чем говорить ещё более определенно, я хочу графически проиллюстрировать процесс взлома пароля (смотрите Рисунок 10.4).
Графическое представление на Рисунке 10.4 будет Вам полезно. Я хочу немного рассказать о каждой части процесса. Сначала, я должен кратко охватить аппаратные проблемы.
Как отмечено на Рисунке 10.4, машина 66МГц или выше является типичной. Действительно, это основное требование. Не углубляясь в параметры того или иного процессора (или той или иной платформы), я должен, по крайней мере, заявить следующее: На практике, взлом большого файла паролей является сложной задачей для ЦПУ и памяти. Часто могут потребоваться дни. Независимо от того, любитель Вы, взломщик или системный администратор, я посоветовал бы принять во внимание этот факт. Перед взломом большого файла паролей, Вы бы могли провести инвентаризацию своего оборудования и ресурсов.
Я нашел, что для того, чтобы успешно (и комфортабельно) взламывать большой файл паролей, нужно иметь 66Мгц мощности и 32МБ ОЗУ (или больше). Это может быть сделано с меньшими ресурсами, даже с 25Мгц процессором и 8МБ ОЗУ. Однако если Вы используете такую машину, Вы не сможете использовать её для любых других задач. (По крайней мере, это истинно для любой совместимой IBM AT. Я видел, как это делалось на Sun Sparcstation 1, и пользователь был всё ещё способен выполнять другие процессы, даже в OpenWindows.)
Рисунок 10.4. Графически проиллюстрированный процесс взлома.
Одинаково, имеются методы для преодоления этой проблемы. Один из них, это уловка названная распределенным взломом. Распределенный взлом состоит в том, что взломщик выполняет программу взлома параллельно, на отдельных процессорах. Имеется несколько способов сделать это. Один это разделить файл паролей на части и взламывать эти части на отдельных машинах. Таким образом, задание распределяется среди ряда рабочих станций, уменьшая необходимые для взлома всего файла ресурсы и время.
Проблема с распределенным взломом состоит в том, что он создаёт много шума. Помните случай с Randal Schwartz? Господин Schwartz вероятно никогда не был бы обнаружен, если бы не распределял загрузку ЦПУ. Другой системный администратор заметил большой съедание мощности процессора. (Он также отметил, что один процесс выполнялся больше дня.) Таким образом, распределенный взлом в действительности не жизнеспособен для взломщиков, если они не администраторы сайтов, или имеют сеть дома (это не столь необычно в наши дни; я имею сеть дома, которая состоит из компьютеров Windows 95, Windows NT, Linux, Sun и Novell).
В любом случае, как показано на Рисунке 10.4, список слов проходит через процесс шифрования по одному слову за раз. К слову применяются правила, и после каждого такого применения слово снова сравнивается с целевым паролем (который также зашифрован). Если соответствия нет, через процесс проходит следующее слово.
Некоторые взломщики паролей выполняют эту задачу по-другому. Некоторые берут полный список слов, применяют правило, и получают следующий список. Затем этот список шифруется и ищется соответствие целевому паролю. Отличие не принципиальное. Вторая методика вероятно намного быстрее.
На заключительном этапе, если соответствие происходит, пароль считают взломанным. Затем простое текстовое слово заносится в файл (записывается в простой текстовый файл для последующего анализа).
Имеет некоторое значение, что большинство утилит взлома паролей не дружественны пользователю. Фактически, при выполнении некоторые из них не выдают ничего, кроме загадочного сообщения, типа:
File?
Также большинство из них не имеют обширной документации. Существуют несколько причин для этого явления:
Остаток этой главы посвящен отдельным взломщикам паролей. Некоторые сделаны для взламывания файла passwd в UNIX, а некоторые нет. Некоторые утилиты даже не взломщики паролей. Вместо этого, они являются вспомогательными утилитами, которые могут использоваться вместе с (или для усовершенствования) существующими взломщиками паролей.
Crack вероятно наиболее знаменитая утилита для взлома зашифрованных паролей UNIX. Теперь она промышленный стандарт для проверки сетей на характерные слабые пароли. Она было написана Alec D. E. Muffet, инженером программистом UNIX из Уэльса. В документах, обеспеченных дистрибутивом, Господин Muffett кратко и ясно сформулировал цель программы:
Crack только для использования на платформах UNIX. Она приходит в виде tar/gzip файла и доступна на многих сайтах. Я не привожу здесь их список (используйте строку поиска crack-4.1.tar.gz или crack-4.1.tar.Z). После загрузки на локальный диск она разархивируется в подходящий каталог (я предпочитаю помещать её в дерево каталогов /root/). После того, как Вы закончите этот процесс, ваш каталог (Crack-4.1) будет выглядеть подобно показанному на Рисунке 10.5.
Рисунок 10.5. Структура каталогов Crack.
Чтобы работать Вам необходимо только установить корневой каталог для Crack (это каталог, в котором могут быть найдены все ресурсы Crack). Это значение присваивается переменной (Crack_Home) в файлах конфигурации. Это просто переменная окружения, которая, когда установлена, сообщает программе Crack, где находятся остальные ресурсы. Чтобы установить эту переменную, отредактируйте файл Crack, который является сценарием /bin/sh, запускающим двигатель Crack. После редактирования этого файла, Вы можете начинать. Этот файл, состоящий из простых текстовых команд, кода и переменных, может быть отредактирован в любом текстовом редакторе или текстовом процессоре. Однако, он должен быть сохранен в простом тексте.
ПРИМЕЧАНИЕ: Вы можете или не можете нуждаться в приобретении списка слов. Как это и происходит, многие дистрибутивы Crack сопровождаются файлами типовых списков слов (или словарей). В Вашем случае может так не быть. Я предлагаю получить копию Crack с легального (в противоположность подпольному) сайта. Тогда более вероятно, что Вы получите типовой список слов (хотя, чтобы производить серьёзный взлом паролей, Вы должны приобрести более обширные и более подходящие списки слов).
Вы инициируете сессию Crack, вызывая программу и обеспечивая имя файла паролей и любые параметры командной строки, включая спецификации для использования нескольких рабочих станций и так далее. Если Вы обратитесь к окну Xterm на Рисунке 10.5, Вы увидите, что там файл назывался my_password_file. Это типовой файл passwd, который я взломал, чтобы создать пример. Чтобы взломать этот файл, я дал следующую команду:
Crack my_password_file
Crack запускает процесс и записывает его продвижение в файл с префиксом out. В этом случае, файл был назван outSamsHack300. Следующее это выборка из этого файла. Хорошенько исследуйте ее.
pwc: Jan 30 19:26:49 Crack v4.1f: The Password Cracker, (c) Alec D.E. Muffett, 1992 pwc: Jan 30 19:26:49 Loading Data, host=SamsHack pid=300 pwc: Jan 30 19:26:49 Loaded 2 password entries with 2 different (salts: 100% pwc: Jan 30 19:26:49 Loaded 240 rules from 'Scripts/dicts.rules'. pwc: Jan 30 19:26:49 Loaded 74 rules from 'Scripts/gecos.rules'. pwc: Jan 30 19:26:49 Starting pass 1 - password information pwc: Jan 30 19:26:49 FeedBack: 0 users done, 2 users left to crack. pwc: Jan 30 19:26:49 Starting pass 2 - dictionary words pwc: Jan 30 19:26:49 Applying rule '!?Al' to file 'Dicts/bigdict' pwc: Jan 30 19:26:50 Rejected 12492 words on loading, 89160 words (left to sort pwc: Jan 30 19:26:51 Sort discarded 947 words; FINAL DICTIONARY (SIZE: 88213 pwc: Jan 30 19:27:41 Guessed ROOT PASSWORD root (/bin/bash (in my_password_file) [laura] EYFu7c842Bcus pwc: Jan 30 19:27:41 Closing feedback file.
Как Вы можете видеть, Crack предположил правильный пароль для root. Этот процесс занял около минуты. Строка 1 показывает время, в которое процесс был инициализирован (30 января 19:26:49); строка 12 показывает, что пароль Laura был взломан в 19:27:41. Это было сделано с использованием 133МГц процессора и 32МБ ОЗУ.
Поскольку файл паролей, который я использовал, был настолько мал, ни время ни ресурсы не были проблемой. Однако на практически, если Вы взламываете файл с сотнями записей, Crack будет жадно пожирать ресурсы. Это особенно так, если Вы используете несколько списков слов, которые находится в сжатой форме. (Crack фактически определит их как сжатые файлы и разархивирует их.)
Как упомянуто ранее, Crack может распределять работу по различным рабочим станциям в сети UNIX. Даже более экстраординарно, чем это, машины могут иметь различные архитектуры. Таким образом, Вы можете иметь совместимую IBM, выполняющей Linux, RS/6000, выполняющей AIX, и Macintosh, выполняющей A/UX.
Crack чрезвычайно легок и, вероятно, наиболее надёжный из доступных взломщиков паролей.
СОВЕТ: Чтобы исполнять сессию взлома с сетевой структурой, Вы должны создать файл network.conf. Он используется программой, чтобы идентифицировать узлы в сети, их архитектуры и другие ключевые параметры. Можно также определить опции командной строки, которые передаются Crack, запущенному на каждой машине. Другими словами, каждая машина может выполнять Crack и использовать различные опции командной строки. Это может удобно для управления с одной машины.
Ссылка: Пользователи Macintosh могут также наслаждаться скоростью и эффективностью Crack, используя самую последнюю портированную его версию, названную MacKrack v2.01b1. Она доступна на
http://www.borg.com/~docrain/mac-hack.html.
CrackerJack известный взломщик паролей UNIX, разработанный явно для платформы DOS. Вопреки популярному мнению, CrackerJack не является прямым портированием Crack (даже близко). Однако, CrackerJack чрезвычайно быстрая и удобная в работе утилита взлома. В течение нескольких лет, CrackerJack был лучшим выбором для пользователей DOS; хотя появились многие другие утилиты взломщика, CrackerJack остается весьма популярной (это культовая вещь). Более поздние версии были по сообщениям откомпилированы, используя GNU C и C++. Автор CrackerJack сообщает, это после этой перекомпиляции, программа получила значительный прирост скорости.
СОВЕТ: CrackerJack теперь также работает на платформе OS/2.
У CrackerJack есть несколько значительных недостатков, включая:
Несмотря на эти препятствия, CrackerJack надежна и, для умеренных задач, требует ограниченные ресурсы. Она требует небольшую мощность процессора, не требует оконной среды, и может работать с дискеты.
Ссылка: CrackerJack широко доступна, хотя и не так широко, как можно было бы ожидать. Имеется несколько надежных сайтов:
- http://www.fc.net/phrack/under/misc.html
- http://www.ilf.net/~toast/files/
- http://www.paranoia.com/~steppin/misc.html
- http://www.interware.net/~jcooper/cracks.htm
- http://globalkos.org/files.html
PaceCrack95 разработана для работы на платформе Windows 95 в консольном режиме в окне оболочки. Ее автор сообщает, что PaceCrack95 была подсказана недостатками в других DOS взломщиках. Он пишет:
К чести автора, он создал программу, которая делает это. Она быстра, компактна и эффективна. К сожалению, PaceCrack95 новая разработка и ещё широко не доступна (я полагаю, что она будет распространена к июлю 1996).
Ссылка: Не хватает надежных сайтов, с которых можно получить PaceCrack95, но она может быть найдено на
http://tms.netrom.com/~cassidy/crack.htm.
Qcrack была первоначально разработана для использования на платформе Linux. Недавно она была перенесено на платформу MS-DOS/Windows (по сообщениям где-то в июле 1996). Qcrack следовательно среди новой волны взломщиков паролей, которые неожиданно появились в прошлом году или около того. Это увеличило выбор в пустоте. Эта утилита чрезвычайно быстра, но имеются некоторые основные недостатки. Один имеет отношение к памяти. Как автор, Crypt Keeper, объясняет:
ПРИМЕЧАНИЕ: Обратите внимание, что Qcrack немного медленнее чем некоторые другие утилиты такого характера, но вероятно она стоит этого. Распараллеливание возможно, но не в истинном смысле. В основном, она может использовать различные машины и использовать различные словари (как предлагает автор Qcrack). Однако, это не та же самая форма распараллеливания, которая может быть осуществлена Crack Muffett'а. (Не мелочитесь, но использование Qcrack этим способом существенно ускорит процесс взлома.)
Только ещё один интересный момент: автор Qcrack, в озарении, предложил, чтобы кто ни будь создал CD-ROM только со словарями списков слов (представляете, её вероятно нельзя было бы использовать с медленными CD-ROM; повторный доступ через диски, мог немного замедлить систему).
Ссылка: Qcrack может быть найдена в следующих местах:
- http://lix.polytechnique.fr/~delaunay/bookmarks/linux/qcrack.html
- http://klon.ipr.nl/underground/underground.html
- http://tms.netrom.com/~cassidy/crack.htm
John the Ripper относительно новый взломщик паролей UNIX, который работает на платформе DOS/Windows 95. Двоичный дистрибутив говорит, что кодирование было закончено в декабре 1996. Первые дистрибутивы этой программы были с ошибками. Те из Вас, кто работают с меньше чем 4МБ ОЗУ, могут захотеть избежать этой утилиты. Ее автор говорит, что программа может работать с меньше чем 4МБ, но будет часто производиться доступ диску.
Ссылка: John the Ripper также работает на Linux. Версия Linux в настоящее время в тестировании и распространяется как двоичный образ ELF. Она может быть найдена поиском строки john-linux.tar.zip.
Несомненно, эти ранние усилия были недоработаны, потому что автор попытался включить так много функций. Хотя John the Ripper не может все же быть совершенной, она оценивается как настоящая программа. Она работает в DOS (или в Windows 95 через окно оболочки) и имеет обширные опции. Вместо того, чтобы приводить список здесь, я обеспечил скриншот экрана, который появляется при запуске John без параметров (смотрите Рисунок 10.6).
Рисунок 10.6. Экран John the Ripper.
В этом отношении, John включает многие из удобств и возможностей других, более известных программ. Я полностью верю, что месяцев через шесть John the Ripper будет среди наиболее популярных утилит взлома.
Ссылка: Версия John the Ripper для DOS, которая является относительно большой в терминах взломщиков паролей, может быть найдена на
http://tms.netrom.com/~cassidy/crack.htm.
Pcrack это сценарий Perl для использования на платформе UNIX (это не подразумевает, что Pcrack не может быть реализована на платформе NT; это просто означает, что для этого должно быть произведено некоторое сверхжесткое перенесение). Эта утилита имеет преимущества, потому что весьма компактна и, когда загружена в интерпретатор, быстра. Тем не менее, необходимо очевидно иметь не только некоторый клон UNIX, но также и доступ к Perl. Как я уже указал, такие утилиты наилучшим образом применяются кем ни будь с корневым доступом к машине UNIX. Многие системные администраторы в наши дни приняли практику ограничения доступа к Perl.
Ссылка: Pcrack не доступна широко, но
http://tms.netrom.com/~cassidy/crack.htm
кажется надёжный источник.
Hades ещё одна утилита взлома, которая показывает UNIX пароли /etc/passwd. Или что? Hades очень быстра, быстрее чем Crack Muffett'а, и гораздо быстрее чем CrackerJack (по крайней мере по тестам, которые я выполнял).
Дистрибутив поставляется с некоторым исходным текстом и страницами руководства, а также с консультацией, которую я цитирую здесь:
За исключением Crack Muffett'а, Hades наиболее хорошо документированный взломщик паролей. Авторы взяли на себя исключительную заботу, чтобы обеспечить Вас всеми возможными прелестями. Дистрибутив Hades состоит из ряда маленьких утилит, которые, когда используется вместе, представляют мощный набор программ взлома. Для каждой такой утилиты существует man (manual - руководство) страница. Отдельные утилиты, включенные в дистрибутив, выполняют следующие функции:
Ссылка: Hades так широко доступна, что я не буду приводить здесь список сайтов. Пользователи, которые желают испытать эту хорошо разработанную утилиту, должны искать один или оба из следующих терминов поиска:
- hades.zip
- hades.arj
Star Cracker была разработана для работы под DOS4GW средой. Хорошо ... эта специфическая утилита немного любопытна. Автор был чрезвычайно тщательным, и хотя возможности, которые он или она добавил, имеют большое значение и интерес, одно удивляет, когда автор нашел время для забавы. В любом случае, вот некоторые наиболее любопытные возможности:
Пользователям UNIX вторая прелесть ничего не значит. Пользователи UNIX всегда имели возможность на задание времени. Однако на платформе DOS эта возможность меняется и недостаточна (хотя существуют утилиты, типа tm, которые могут планировать задания).
Кроме того, эта утилита взлома имеет меню опций: функции, которые делают процесс взлома намного проще. Вы можете посмотреть на нее, чтобы поверить этому. Приятно сделанная вещь.
Ссылка: Star Cracker доступна на
http://citus.speednet.com.au/~ramms/.
Killer Cracker другой довольно известный двигатель взлома. Она распространяется почти всегда как исходный текст. Пакет компилируется без проблем в ряде операционных систем, хотя я сказал бы, что она лучше всего работает под UNIX.
ПРИМЕЧАНИЕ: Если Вы не получите двоичный выпуск, Вам будет необходим компилятор C.
Killer Cracker имеет так много опций командной строки, что трудно выбрать, которые упомянуть здесь. Тем не менее, имеются несколько особенностей этого высоко переносимой и эффективной утилиты взлома:
В целом, эта программа весьма закончена. Возможно, именно поэтому она остается настолько популярной. Она была перенесена в операционную систему Macintosh, работает в системе DOS, а разработана была под UNIX. Она переносима и легко компилируема.
Ссылка: Killer Cracker может быть получена из этих мест:
- http://hack.box.sk/stuff/linux1/kc9.zip (DOS 16 бит)
- http://hack.box.sk/stuff/linux1/kc9_32.zip (DOS 32 бит)
- http://www.ilf.net/Toast/files/unix/kc9_11.tgz (UNIX)
- http://www.netaxs.com/~hager/mac/hack/KillerCrackerv8.sit.bin (Mac)
Другая массовая работа Hellfire Cracker, утилита для взлома файлов паролей UNIX, используя платформу DOS. Она было разработано с использованием GNU компилятора. Эта утилита весьма быстра, хотя не благодаря блоку шифрования. Ее главный недостаток состоит в том, что дружественные пользователю функции фактически не существуют. Однако это компенсируется скоростью и эффективностью.
Одна прелесть Hellfire в том, что она теперь распространяется почти исключительно в двоичной форме, устраняя потребность в компиляторе C.
Ссылка: Эта утилита может быть найдена на многих сайтах, но я столкнулся с проблемой при обнаружении надежных. Этот, однако, надежен:
http://www.ilf.net/~toast/files/.
XIT ещё один UNIX взломщик файла /etc/passwd, но очень хороший. Различные его характеристики включают:
Утилита XIT существует уже в течение нескольких лет. Однако не она так широко доступна, как можно было бы ожидать. Она также поставляется в различных сжатых форматах, хотя чаще всего в zip.
Ссылка: Одно надежное место, где можно найти XIT, это
http://www.ilf.net/~toast/files/xit20.zip.
Утилита Claymore слегка отличается от своих коллег. Она выполняется на любой платформе Windows, включая 95 и NT.
ПРИМЕЧАНИЕ: Claymore не работает в DOS или даже окне оболочки DOS.
Рисунок 10.7 показывает окно Claymore.
Рисунок 10.7. Экран Claymore.
Нет ничего крутого в этой утилите, но некоторые удобства заслуживают внимания. Во-первых, Claymore может использоваться как взломщик "в лоб" для многих систем. Она может использоваться для взлома файлов /etc/passwd в UNIX, но может также использоваться для взлома других типов программ (включая, требующих пару login/пароль для входа).
Один довольно смешной аспект этого взломщика "в лоб" его чрезмерная фанатичность. Согласно автору:
Это то, что я классифицировал бы как истинная утилита взлома "в лоб"! Один интересный аспект: Вы можете определить, что программа будет посылать управляющие и другие непечатаемые символы во время взлома. Структура синтаксиса, чтобы сделать так говорит, что Claymore была написана на Microsoft Visual Basic. Кроме того, можно немедленно заключить, что функция VB SendKeys имеет большую роль в этом приложении. В любом случае, оно работает чрезвычайно хорошо.
Ссылка: Claymore доступна во многих местах в Internet, но
http://www.ilf.net/~toast/files/claym10.zip
гарантия её доступности.
Guess компактное, простое приложение, предназначенное для нападения на файлы /etc/passwd в UNIX. Оно представлено стильно, но не много помпезно. Интерфейс разработан для DOS, но успешно работает в оконной оболочке DOS. Основной интерес имеет исходник, который включен в двоичный дистрибутив. Guess была создана кажется где-то в 1991. По некоторым причинам она ещё не получила известность своих коллег. Это странно, для такой хорошей работы.
Ссылка: Guess широко доступна, так что я воздержусь здесь от перечисления её местоположений. Достаточно просто поискать. Используйте для поиска строку guess.zip.
Я включил утилиту PC UNIX Password Cracker (которая выполняется на платформе DOS) прежде всего по историческим причинам. Во-первых, она была выпущена где-то в 1990. Также, она включает поддержку не только 386 и 286 машин, но и 8086 машин. (Правильно. Нашел старый XT, валявшийся у дома? Используй его и взламывай пароли!) Я не буду останавливаться на этой утилите, но скажу следующее: программа чрезвычайно хорошо разработана и имеет неисчислимые опции командной строки. Естественно, Вы вероятно захотите что ни будь немного более современное (возможно другую разработку хорошего Doctor'а), но если Вы действительно имеете старый XT, она для Вас.
Ссылка: PC UNIX Cracker может быть найдена на
http://www.ilf.net/~toast/files/pwcrackers/pcupc201.zip.
Merlin это не взломщик паролей. Скорее, это инструмент для управления взломщиками паролей, а также сканерами, утилитами контроля и другими связанными с безопасностью утилитами. Короче говоря, это довольно сложная утилита для целостного управления процессом безопасности. Рисунок 10.8 показывает экран Merlin'а.
Merlin только для платформ UNIX. Она по сообщениям была протестирована (с положительными результатами) в ряде систем, включая, но не ограничиваясь, IRIX, Linux, SunOS, Solaris и HP-UX.
Одна из основных притягательных особенностей Merlin: Хотя она была специально разработана для поддержки только пяти общих утилит безопасности, она очень расширяема (она почти исключительно написана на Perl). Таким образом, в схему программы можно очевидно включить любое число утилит.
Merlin замечательный инструмент для интегрирования нескольких утилит командной строки в единственный, легко управляемый пакет. Это адресует тот факт, что большинство программ безопасности в UNIX основано на интерфейсе командной строки (CLI - command-line interface). Поддерживаются следующие пять приложений:
Обратите внимание, что Merlin не содержит ни одну из этих утилит в дистрибутиве. Вы должны приобрести эти программы и затем сконфигурировать Merlin для работы с ними (подобный путь используется для конфигурирования внешних просмоторщиков и помощников в Netscape Navigator). Концепция может показаться хромой, но утилита обеспечивает простое, централизованное место для выполнения некоторых довольно общих (и изнурительных) задач безопасности. Другими словами, Merlin больше чем front-end. По моему мнению, это хороший вклад в торговлю безопасностью.
СОВЕТ: Тем, кто плохо знаком с платформой UNIX, вероятно придется немного покопаться, прежде чем Merlin заработает. Например, Merlin полагается на то, что Вы правильно сконфигурируете броузер, чтобы должным образом обрабатывать файлы *.pl (само собой разумеется, что Perl одна из необходимостей). Также, Merlin очевидно выполняет внутренний HTTP сервер и ищет подключения от локального узла. Это означает, что Вы должны должным образом сконфигурировать вашу систему для обратной петли.
Merlin (и программы подобные ей) важная и растущая тенденция (тенденция начатая Farmer и Venema). Поскольку такие программы разрабатываются, прежде всего, на HTML/Perl, они высоко переносимы на различные платформы в семействе UNIX. Они также имеют тенденцию брать незначительные сетевые ресурсы и, после того, как код загружен в интерпретатор, они работают довольно быстро. Наконец, эти утилиты более легки для использования, делая безопасность менее неопределенной задачей. Данные под рукой и ими легко управлять. Это может только помочь усилить безопасность и обеспечить образование.
Теперь Вы отважиться в более экзотические области. Здесь Вы найдёте широкое разнообразие взломщиков паролей для почти любого типа систем или приложений.
ZipCrack делает только то, что Вы подумали: Она разработана для взлома пароля "в лоб" и применяется к файлам с расширением *.zip (другими словами, она взламывает пароль в файлах, созданных PKZIP).
В дистрибутив не включены никакие документы (по крайней мере, то немалое количество файлов, которые я исследовал), но я не уверен, что в них есть необходимость. Программа проста. Вы просто обеспечиваете конечный файл, а программа делает остальное.
Программа была написана на Turbo Pascal, и исходный текст включен в дистрибутив. ZipCrack будет работать на любой IBM-совместимой машине, 286-ой или выше. Файл описания сообщает, что ZipCrack ломает все пароли, сгенерированные PKZIP 2.0. Автор также предупреждает, что, хотя короткие пароли могут быть получены в пределах разумного времени, взлом длинных паролей может занять "столетия". Однако я искренне сомневаюсь, что многие люди создают пароли больше пяти символов. ZipCrack полезная утилита для среднего комплекта утилит. Это одна из тех утилит, в которых Вы, как Вам кажется, никогда не будете нуждаться и позже, в 3:00 утра, Вы страшно ругаетесь, потому что не имеете ее.
Ссылка: ZipCrack широко доступна. Используйте для поиска строку zipcrk10.zip.
Fast Zip 2.0 по существу идентична ZipCrack. Она взламывает zip пароли.
Ссылка: Чтобы найти Fast Zip 2.0, используйте для поиска строку fzc101.zip.
Decrypt неясная но, тем не менее, интересная утилита, ломающая пароли WordPerfect. Она написана на Бейсике и отлично работает. Программа не совершенна, но успешна много времени. Автор говорит, что Decrypt проверяет пароли с ключами от 1 до 23. Программа была выпущена в 1993 и является широко доступной.
Ссылка: Чтобы найти Decrypt, используйте для поиска строку decrypt.zip.
Утилита Glide не имеет обширной документации. Эта программа используется исключительно, чтобы взламывать PWL файлы, которые являются файлами паролей, сгенерированными в Microsoft Windows для Рабочих Групп и более поздних версиях Windows. Недостаток документации, я думаю, простителен. В дистрибутив включен исходник на C. Для любого, кто взламывает машины Microsoft Windows, эта утилита необходима.
Ссылка: Glide доступна в следующих местах:
- http://www.iaehv.nl/users/rvdpeet/unrelate/glide.zip
- http://hack.box.sk/stuff/glide.zip
- http://www.ilf.net/~toast/files/pwcrackers/glide.zip
Утилита AMI Decode разработана явно для захвата пароля CMOS любой машины, используя American Megatrends BIOS. Прежде, чем искать эту утилиту, Вы можете попробовать фабрично установленный пароль CMOS. Это, как ни странно, AMI. В любом случае программа работает.
Ссылка: Чтобы найти AMI Decode, используйте для поиска строку amidecod.zip.
NetCrack интересная утилита для использования на платформе Novell NetWare. Она применяется для нападение "в лоб" против bindery. Она медленна, но весьма надежна.
Ссылка: Чтобы найти NetCrack, используйте для поиска строку netcrack.zip.
Прежде, чем читатели, которые используют PGP, будут использовать ее, необходимо сказать немного общих слов. Довольно Хорошая Секретность (PGP - Pretty Good Privacy) вероятно самая сильная и наиболее надёжная утилита шифрования, доступная общественному сектору. Ее автор, Phil Zimmermann, подводит итог этому следующим образом:
PGP может применять ряд методов шифрования. Один из них, который обсуждается в Главе 13, "Техника Сокрытия Личности", это IDEA. Для того чтобы дать Вам понять, как трудно взломать IDEA, привожу выборку из PGP Attack FAQ (FAQ Нападений на PGP), за авторством Route (источник шифрования и член "Гильдии", группа хакеров):
В сущности, сообщение шифруется используя 1024-битный ключ, сгенерированный из хитрой и длинной фразы доступа, неламаем ни чем. Так почему Господин Miller создал эту интересную утилиту? Поскольку фразы доступа могут быть плохо выбраны и, если зашифрованное PGP сообщение должно быть взломано, фраза доступа хорошее место для начала. Miller говорит:
Is this utility of any use? It is quite promising. Miller включил в дистрибутив исходник, а также файл возможных фраз доступа (я нашел, по крайней мере, одну из фраз доступа, которую использовал). Программа написана на C и выполняется в DOS, UNIX и OS/2 средах.
Ссылка: PGPCrack доступна в нескольких, надежных местах, включая:
- http://www.voicenet.com/~markm/pgpcrack.html (DOS версия)
- http://www.voicenet.com/~markm/pgpcrack-os2.zip (OS/2 версия)
- http://www.voicenet.com/~markm/pgpcrack.v99b.tar.gz (UNIX версия)
ICS Toolkit универсальная утилита для обучения Криптоанализу. Она работает хорошо в Microsoft Windows 3.11, но более трудна для использования в Windows 95 или Windows NT. Она использует старую версию VBRUN300.DLL и поэтому пользователи, имеющие более новую версию, могут поступить мудро, переместив более новую копию во временный каталог. (Приложение ICS не будет устанавливаться, если оно не может разместить свою версию VBRUN300.DLL в каталоге c:\windows\system). Эта утилита поможет Вам изучить то, как шифры создаются и как ломать их. Оно действительно весьма всесторонне, хотя требуется некоторая изобретательность, чтобы установить его. Оно было запрограммировано для старых версий Microsoft Windows. Интерфейс больше утилитарный, чем привлекательный.
Утилита EXCrack получает пароли, применяемые в среде Microsoft Excel. Господин Kuslich поясняет, что это программное обеспечение не является свободным, но доступно для лицензирования (и защищено авторским правом). Поэтому, я не стал обеспечивать скриншоты или информацию. Можно с уверенностью сказать, утилита работает хорошо.
Ссылка: Чтобы найти EXCrack, используйте для поиска строку excrak.zip.
CP.EXE получает или взламывает пароли для CompuServe, которые сгенерированы в CISNAV и WINCIM. Она по сообщениям также работает для паролей DOSCIM. Это быстрый и надёжный способ проверить, является ли ваш пароль уязвимым для нападения.
Ссылка: Эта утилита широко распространена и может быть найдена, используя для поиска строку cis_pw.zip.
Утилита Password NT получает или взламывает файлы паролей администратора на платформе Microsoft Windows NT 3.51. В этом отношении, это NT эквивалент любой программы, которая взламывает корневую учетную запись в UNIX. Обратите внимание, что требуется некоторый взлом, чтобы использовать эту утилиту. Если первоначальный диск, на котором расположен целевой пароль, NTFS (и следовательно допустимы опции контроля доступа), Вы должны переместить пароль на диск, который не защищенный контролем доступа. Чтобы сделать это, Вы должны переместить пароль на диск рабочей станции или сервера, также выполняющих 3.51. Поэтому, это не является мгновенным решением. Однако после того как все должным образом установлено, не потребуется времени вообще.
Ссылка: Приятно сделанная утилита Password NT всегда доступна на домашней странице компании
(http://www.omna.com/yes/AndyBaron/recovery.htm).
Имеются ещё более 100 других утилит подобного характера. Я воздержусь от перечисления их здесь. Я думаю, что предыдущий список достаточен, чтобы дать вам возможность начать изучать безопасность паролей. По крайней мере, Вы можете использовать эти утилиты, чтобы проверить относительную стойкость ваших паролей.
На этом этапе, я хотел бы обратиться к некоторым концепциям безопасности паролей, а также дать Вам источники для дальнейшего образования.
Я надеюсь, что Вы обратитесь к Сети, и получите все документы, которые я собираюсь цитировать. Если Вы серьезно относитесь к изучению безопасности, то будете делать так по всей этой книге. Следуя за этими ссылками в порядке их предоставления, Вы получите мгновенное образование в безопасности паролей. Однако, если ваше время ограничено, следующие параграфы по крайней мере обеспечат Вас некоторым пониманием безопасности паролей.
Безопасность паролей UNIX, когда правильно осуществлена, является довольно надежной. Проблема состоит в том, что люди выбирают слабые пароли. К сожалению, так как UNIX многопользовательская система, каждый пользователь со слабым паролем представляет риск другим пользователям. К этой проблеме необходимо обратиться:
6 Walter Belgers, UNIX Password Security. (Безопасность Паролей UNIX.) 6 декабря, 1993.
СОВЕТ: Вышеупомянутый документ, Безопасность Паролей UNIX, даёт превосходный краткий обзор того, как DES работает в схеме паролей UNIX. Он включает схему, которая показывает фактический процесс шифрования, используя DES. Для пользователей, плохо знакомых с безопасностью, это превосходная отправная точка.
Ссылка: Обнаружить Безопасность Паролей UNIX можно используя для поиска строку password.ps.
Что такое слабые пароли? Характерно, это что-нибудь, что может быть найдено в словаре. Кроме того, собственные имена плохой выбор для паролей. Однако, нет необходимости теоретизировать о том, какие пароли легко взламывать. Можно с уверенностью сказать, если пароль имеется в списке слов взлома пароля, доступном в Internet, пароль не имеет смысла. Так, вместо того, чтобы удивляться, получите сами несколько списков.
Ссылка: Начните поиск списков слов на
http://sdg.ncsa.uiuc.edu/~mag/Misc/Wordlists.html.
Регулярно проверяя стойкость паролей в вашей сети, Вы можете гарантировать, что взломщики не смогут проникнуть в нее (по крайней мере, не через эксплуатацию плохо выбранных паролей). Такой режим может существенно улучшить вашу системную безопасность. Фактически, теперь многие ISP и другие сайты используют утилиты, которые проверяют пароль пользователя при его создании. Это в основном осуществляет философию, что:
7 Matthew Bishop, UC Davis, Калифорния, и Daniel Klein, LoneWolf Systems Inc. "Improving System Security via Proactive Password Checking." ("Улучшение Системной Безопасности через Предварительную Проверку Пароля.") (Появилась в Computers and Security (Компьютеры и Безопасность) [14, стр. 233-249], 1995.)
СОВЕТ: Эта статья вероятно одно из лучших исследований и обработок легко отгадываемых паролей. Она глубоко охватывает тему, приводит примеры различных паролей из реальной жизни, о которых можно было бы подумать, что они безопасны, но в действительности это не так.
Ссылка: Обнаружить Улучшение Системной Безопасности через Предварительную Проверку Пароля можно используя для поиска строку bk95.ps.
ПРИМЕЧАНИЕ: Как Вы видите, многие файлы имеют расширение *.ps. Оно показывает PostScript файл. PostScript язык и метод подготовки документов. Он был создан Adobe, создателем Acrobat и Photoshop.
Чтобы читать PostScript файл, Вам необходим просмоторщик. Один очень хороший это Ghostscript, который является shareware и может быть найден на
http://www.cs.wisc.edu/~ghost/.Другой хороший пакет (и немного больше легкий) это утилита, вызванная Rops. Rops доступна для Windows и расположена здесь:
- http://www5.zdnet.com/ (библиотека программ ZDNet)
- http://oak.oakland.edu (библиотека программ Oak)
Другие важные документы включают следующее:
"Observing Reusable Password Choices" ("Наблюдение Многократно Используемых Паролей")
Технический Отчет Purdue CSD-TR 92-049
Eugene H. Spafford
Отдел Компьютерных Наук, Университет Purdue
Дата: 3 июля, 1992
Строка для Поиска: Observe.ps
"Password Security: A Case History" ("Безопасность Паролей: Исторический Случай")
Robert Morris и Ken Thompson
Bell Laboratories
Дата: Неизвестна
Строка для Поиска: pwstudy.ps
"Opus: Preventing Weak Password Choices" ("Опус: Предотвращение Выбора Слабых Паролей")
Технический Отчет Purdue CSD-TR 92-028
Eugene H. Spafford
Отдел Компьютерных Наук, Университет Purdue
Дата: июнь 1991
Строка для Поиска: opus.PS.gz
"Federal Information Processing Standards Publication 181" ("Публикация Федеральных Стандартов Обработки Информации 181")
Анонсирование Стандарта для Автоматизированного Генератора Паролей
Дата: 5 октября, 1993
URL: http://www.alw.nih.gov/Security/FIRST/papers/password/fips181.txt
"Augmented Encrypted Key Exchange: A Password-Based Protocol Secure Against Dictionary Attacks and Password File Compromise" ("Расширенный Зашифрованный Обмен Ключами: Основанный на Паролях Протокол Безопасности Против Нападений по Словарю и Компрометации Файла Паролей")
Steven M. Bellovin и Michael Merrit
AT&T Bell Laboratories
Дата: Неизвестна
Строка для Поиска: aeke.ps
"A High-Speed Software Implementation of DES" ("Высокоскоростная Программная Реализация DES")
David C. Feldmeier
Computer Communication Research Group
Bellcore
Дата: июнь 1989
Строка для Поиска: des.ps
"Using Content Addressable Search Engines to Encrypt and Break DES" ("Использование Ассоциативных Механизмов Поиска для Шифрования и Ломания DES")
Peter C. Wayner
Отдел Информатики
Университет Cornell
Дата: Неизвестна
Строка для Поиска: desbreak.ps
"Encrypted Key Exchange: Password-Based Protocols Secure Against Dictionary Attacks" ("Зашифрованный Обмен Ключами: Основанные на Паролях Протоколы Безопасности Против Нападений по Словарю")
Steven M. Bellovin и Michael Merrit
AT&T Bell Laboratories
Дата: Неизвестна
Строка для Поиска: neke.ps
"Computer Break-ins: A Case Study" ("Взлом Компьютера: Социологическое Исследование")
Leendert Van Doorn
Университет Vrije, Нидерланды
Дата: Четверг, 21 января, 1993
Строка для Поиска: holland_case.ps
"Security Breaches: Five Recent Incidents at Columbia University" ("Нарушения Безопасности: Пять Недавних Инцидентов в Университете Columbia")
Fuat Baran, Howard
Kaye, и Margarita Suarez
Центр Компьютерной Деятельности
Университет Colombia
Дата: 27 июня, 1990
Строка для Поиска: columbia_incidents.ps
Следующее это список других ресурсов. Некоторые не доступны в Internet. Однако имеются статьи, которые могут быть получены через различные интерактивные службы (возможно Uncover) или в вашей местной библиотеке через межбиблиотечный обмен или через микрофишу. Вам, вероятно, придется более настойчиво искать некоторые из них, возможно используя Библиотеку Конгресса (locis.loc.gov) или даже более эффективный инструмент, подобно WorldCat (www.oclc.org).
"Undetectable Online Password Guessing Attacks" ("Необнаруживаемые Online Нападения по Предположению Пароля")
Yun Ding и Patrick Horster,
OSR, 29(4), стр. 77-86
Дата: Октябрь 1995
"Optimal Authentication Protocols Resistant to Password Guessing Attacks" ("Оптимальные Протоколы Аутентификации Стойкие к Нападениям по Предположению Пароля")
Li Gong
Научно-исследовательский Институт Stanford
Лаборатория Информатики
Men Park, CA
Дата: Неизвестна
Строка для Поиска: optimal-pass.dvi или optimal-pass.ps
"A Password Authentication Scheme Based on Discrete Logarithms" ("Схема Аутентификации Пароля, Основанная на Дискретных Логарифмах")
Tzong Chen Wu и Chin Chen Chang
Международный Журнал Вычислительной Математики; Том 41, Номер 1-2, стр. 31-37
1991
"Differential Cryptanalysis of DES-like Cryptosystems" ("Дифференциальный Криптоанализ DES-подобных Криптосистем")
Eli Biham и Adi Shamir
Журнал Cryptology, 4(1), стр. 3-72
1990
"A Proposed Mode for Triple-DES Encryption" ("Предложенный Режим Тройного DES Шифрования")
Don Coppersmith, Don B. Johnson и Stephen M. Matyas
Научно-исследовательский Журнал IBM, 40(2), стр. 253-262
Март 1996
"An Experiment on DES Statistical Cryptanalysis" ("Эксперимент на Статистический Криптоанализ DES")
Serve Vaudenay
Конференция по Безопасности Компьютеров и Связи, стр. 139-147
ACM Press
Март 1996
"Department of Defense Password Management Guideline" ("Руководство Министерства Обороны по Управлению Паролями")
Если Вы хотите получить более историческую перспективу безопасности паролей, начните с Руководства Министерства Обороны по Управлению Паролями. Этот документ был создан Центром Компьютерной Безопасности Министерства Обороны в Форте Meade, Мэриленд.
Ссылка: Вы можете найти Руководство Министерства Обороны по Управлению Паролями на
http://www.alw.nih.gov/Security/FIRST/papers/password/dodpwman.txt.
Вы достигли конца этой главы, и я хочу сказать только о нескольких вещах, оставленных для заключения. Одна мысль, которую я хочу сказать: количество взломщиков паролей растет. Поскольку эти утилиты часто требуют существенную мощность для работы, для взломщиков не является необычным взлом большого и мощного сайта, чтобы иметь возможность использовать мощность его процессора. Например, если Вы взломаете сеть скажем с 800 рабочими станциями, то сможете использовать, по крайней мере, некоторые из этих машин, чтобы выполнить высокоскоростной взлом. Распределяя рабочую нагрузку на несколько из этих машин, Вы можете гарантировать намного более быстрый результат.
Многие люди доказывают, что нет достаточно убедительной уважительной причины для создания таких утилит. Такое представление несостоятельно. Взломщики паролей предоставляют ценную услугу системным администраторам, предупреждая их о слабых паролях в сети. Проблема не в том, что взломщики паролей существуют, а в том, что они не используются достаточно часто хорошими парнями. Я надеюсь, что эта книга усилит понимание этого факта.
Macmillan Computer Publishing.
Все мессаги сюда:yanich@inbox.ru |