From : Alex L Demidov                      2:5051/17.31
Программы типы Crack, Jack, John The Ripper

Объсняю:

1. Как работает login.
Login спрашивает у тебя User id и password. Шифрует введенный пароль по
алгоритму DES или MD5. Сравнивает зашифрованный пароль введенный тобой с
зашифрованным же паролем из файла /etc/passwd (или скорее всего из shadow)
соответствующим введеному UserId. Если пароли совпадают, тебя пускают в
систему.
Если нет, или введен не существующий UserId -тебе говорят Login incorrect.

2. Тонкости.
Из-за некоторых особенностей Unix, файл /etc/passwd желательно было иметь
доступным для чтения для всех, т.е. если имеется любой доступ к системе, то и
имеется доступ к файлу с паролями. Вроде бы не страшно - пароли зашифрованы,
обратно разшифровать невозможно (by design),полный перебор будет длиться много
лет. Hо вот загвоздка, для того чтобы перебор был невозможен, нужно правильно
выбрать пароль, а идеальный пароль это случайный набор символов (я кстати, так
и
выбираю пароли в важных случаях - по генератору случайных чисел). Большинство
же
людей выбирают себе легко запоминающийся пароль - слово, дату, имя, и т.п.
(Hедавно один админ выдал мне пароль, состоящий из моего логина и номера
телефона, большинство юзеров так бы с таким паролем и работали). Поэтому, можно
очень значительно сократить множество перебираемых паролей, и соответственно
время перебора, сохраняя при этом достаточно высокую вероятность угадывания
пароля.

3. Как работает Crack и его последователи.
Крэк действует так же как и логин, берет сгенереный, шифрует его и сравнивает с
зашифрованным паролем из passwd, взятого с атакуемой системы. При этом скорость
перебора - несколько тысяч паролей в секунду на обычном пентюхе. Hастоящая же
круть этих программок в том, что можно управлять выбором генерируемых паролей.
Можно задать, что в качестве паролей берутся слова из словаря, или генеряться
на
основе этих слов, или данных о юзере из passwd, или просто случайно
составляються из заданного набора символов. John The Ripper имеет даже некое
подобие языка (подмножество С) для выбора генерируемых паролей. Вобщем, когда
такие программки выступают против passwd один на один (нет ни shadow, ни
генерации или проверки паролей), то они чертовски эффективны. Я, как-то,
разбираясь с JTR, подсунул ему пароли которые придумывали юзера с ББС, через
полчаса слетели все пароли (кроме моих :-)

4. Как защищаются от Crack'а.
Естественно, устраняют причины, из-за которых стала возможна работа таких
программ, т.е. доступность паролей всему свету и плохо выбранные пароли. В
первом случае пароли убирают в shadow, доступный только лишь админу, во втором,
заставляют юзверей пользоваться сгенеренными паролями, или проверяют пароли на
подбираемость - при измененние юзером, или напускаю того же самого Crack'а.

5. Есть ли у Вас шанс сломать кого-нибудь?
Hет. Любой самый начинающий админ первым делом ставит shadow. А что бы добыть
пароли в этом случае, надо уметь чуть больше, чем пользоваться Crack'ом. Так
что
Crack юзается настоящими интрудерами только для того, чтобы добыть себе
реальные
рабочие логины, после взлома системы каким-то другим способом. Чаще всего, эти
способы основаны на срыве стека и получении управления в свой код в баговых
программах, работающих с рутовыми правами.

P.S. Рассказал все что знаю, если где наврал, пусть более опытные товарищи
поправят.