div.main {margin-left: 20pt; margin-right: 20pt}Руководство по "john the ripper" на русском. Решил я написать эту статейку, так как уж больно много народа
оставляет на досках объявлений вопросы о том как использовать John
The Ripper ( в дальнейшем JTR), или где найти мануал к JTR на
Русском. Сразу хотелось бы отметить, что частично информация была
взята из документации прелагаемой к JTR v1.6 на Английском языке.
Руководство прилагается в первую очередь для новичков. JTR -
программа для восстановления паролей для UNIX/Win95/NT/DOS систем,
но в народе как то повелось использоватьJTR в основном для взлома
*nix паролей (для чего он и предназначался в ранних версиях). На NT,
большинство юзает l0pht, а на pwl, PWL-tool. Прежде чем начнем
разбираться с самим JTR, давайте остановимся на самих паролях в *nix
системах.
Немного
о паролях.
В Linux пароли шифруются в
алгоритме "DES", также есть такая фишка как "salt", это 2е любые
буквы, которые являются ключом к паролю, другими словами, с помощью
"salt" и шифруется пароль. Подробнее об этом написано в статье
"пароли в UNIXе" (почитать можно на www.hack-crack.com). Просто не
хочу повторяться, да и тема у нас сейчас другая :). Пароли в
большинстве случаев хранятся в следующих
файлах:
/etc/passwd /etc/shadow
Хотя могут и лежать
в каком-нибудь /etc/shadow.old или /etc/passwd.tmp . Сделав листинг
директории /etc/, сразу можно все понять. Просто иногда хитрые
админы меняют названия файлов :). passwd файл, это как раз то что
нам надо, но в большинстве случаев пароли хранятся в shadow (в
тени), в этом случае в passwd видим следующую
ситуацию:
root:*:0:0:System
Administrator:/root:/bin/csh rfindd:*:66:1:Rfind Daemon and
Fsdump:/var/rfindd:/bin/sh …
Внимание! Это на самом деле
fake, и никаких паролей здесь нет! А то бывали кадры, которые мне
говорили, что типа пароли почему то JTR не берет :) А вот если видим
такую ситуацию:
root:9IDv/CqdFuqWo:0:0:System
Administrator:/root:/bin/csh john:653MWdpUGN3BM:66:1:John
Nikolsen, 2-nd west:/home/john:/bin/sh
То можно заметить, что
данный пример более похож на правду. Давайте разберемся на примере с
пользователем "john":
john:653MWdpUGN3BM:66:1:John Nikolsen,
2-nd west:/home/john:/bin/sh
1. john - имя
пользователя. 2. 653MWdpUGN3BM - пароль зашифрованный в
DES. 3. 66:1 - номер пользователя в системе : номер рабочей
группы (у root всегда 0:0). 4. John Nikolsen, 2-nd west -
информация о пользователе (обычно Имя, Фамилия…). 5. /home/john -
Домашний каталог. 6. /bin/csh - shell.
Теперь ты свободно
можешь разобрать passwd файл :). Но сразу хотелось бы отметить, что
на файл в котором находятся пароли в DES (будь то shadow или
passwd), права в большинстве случаев дают r-------- или r--r-----,
это значит, что права на чтения есть у root'а и зарегистрированных
пользователей (во втором случае r--r-----). Так что, через
какой-нибудь htmlscript, вряд ли удастся просмотреть, но все таки
иногда везет, и получается просмотреть все содержимое :). В Free
BSD пароли хранятся в файле /etc/master.passwd , а в остальном
технология такая же как и в LINUX, хотя используется более стойкий
алгоритм шифрования MD5. В Open BSD, для шифрования используется
алгоритм Blowfish. Ну а теперь о самом JTR и как его
заюзать.
Подготовка.
Вопреки о том, что
файлом с паролями является чем то жутким и не понятным, можно
сказать, что пароли можно засунуть в обычный txt файл :). Главное
чтобы конструкция была правильная (см. выше). И так, у вас есть
что-нибудь типа
этого:
root:6xp8Tw7//32x2:0:0:root:/:/bin/bash michael:Mrd4OyzXJi/.o:500:500::/home/g.giraud:/bin/bash nick:lreHgxVKYfqiU:501:501::/home/pages_web:/bin/bash melisa:sDci0pnsqhhE6:502:502::/home/informix:/bin/bash johnson:pX9gnmqBDSQ/o:506:100::/home/pages_web:/bin/bash dacosta:rGTGPVqn/AhuU:507:100::/home/pages_web:/bin/bash …
Сохраняем
все это дело в каком-нибудь файле типа passwd.txt, или просто
passwd. Этот файл как раз и будет то, что надо сунуть JTR. Далее
переходим в папку с JTR, и находим там файл john.exe, в эту же папку
ложем наш passwd файл. Далее идем в "DOS Prompt" ("Режим DOS"), не
просто по john.exe щелкаем 2 раза, а именно идем в "Режим DOS",
далее командой:
cd c:jtr
заходим в папку где лежит
JTR. Теперь можно запускать JTR :). Запускаться все может в разных
режимах и с разными параметрами о которых я сейчас и постараюсь
рассказать. Данные примеры рассматриваются для пользователей с
системами win95/95/NT, для *nix в принципе все опции и параметры
идентичны.
Режимы.
1. Самый простой способ,
это запустить JTR в режиме "Brute force": john
passwd (Я в дальнейшем буду использовать passwd как имя
файла с паролями, но как я уже и сказал, имя и формат файла может
быть практически любым) Данный способ является самым простым, и
не очень эффективным, так как JTR начинает перебирать все символы от
фонаря, что конечно очень долго… хотя многое зависит от мощности
вашего компьютера и от сложности пароля. Пароль типа "dk9LDs)p1" еще
твои правнуки будут доламывать :)
2. Перебор по
словарю: john -w:wordlist passwd где
wordfile - имя файла со словарем. Также можно и так: john -w:wordlist -rules passwd -rules, включает
правила синтаксиса для словаря. С вариантом по словарю, пароли
подбираются на много быстрее чем в варианте с "Brute force".
По-моему, самый лучший и эффективный способ.
3. incremental
mode john -i passwd Авторы JTR говорят,
что это самый сильный способ перебора, 95 символов. А вот таким
способом: john -i:alpha passwd JTR
перепробует 26 символов, от "a", до "zzzzzzzz". Если с wordlist не
получилось, советую запускать данный способ.
4. single mode
(одиночный режим). john -single
passwd Рекомендуется начать перебирать пароль с данной
опцией. Намного быстрее чем wordlist mode, но рассчитан на хиленькие
пароли. При переборе нескольких файлов с данной опцией, возможно
подобрать пароли быстрее чем просто 1 passwd файл.
Опции.
Теперь я перечислю пару
полезных опции для JTR. Опции можно запускать в любых режимах:-w,
-i, -single.
1. Перебор для конкретного
пользователя: john -w:wordlist -rules -users:0
passwd Перебирает пароль к конкретному пользователю (в
нашем случае root). Что бы указать пользователя, надо после ":"
указать UID (номер пользователя в системе).
2. Смотрим
подобранные пароли. john -show
passwd Показывает уже подобранные пароли, в указанном
файле.
3. Разбиваем файл на куски. john
-w:wordlist -salts:5 passwd john -w:wordlist -salts:-5
passwd Иногда бывает полезно (если есть 2 компьютера).
Число "5" это количество "salts" (паролей). JTR будет отчитывать с
самого верху. В первом примере (на 1ом компе), берется первые 5
пользователей, во втором примере "-5" (на 2ом компе), перебираются
все, кроме 5и первых.
4. Люблю shells :). john -w:wordlist -rules -shells:sh,csh,tcsh,bash
passwd В данном случае, будут перебираться только те
пользователи, которые имеют указанные в вышеприведенном примере
shell'ы.
5. Несколько passwd файлов. Если у вас есть
несколько файлов с паролями в DES, то их можно всех вместе поставить
на расшифровку данным способом: john -single
passwd passwd1 passwd2 Количество файлов по-моему не
ограничено :). Способ с несколькими файлами, работает на всех
режимах и опциях, просто укажите имена файлов в конце (как в
примере).
6. Unshadow files. unshadow
passwd shadow Если у вас пароли в shadow, то данной
командой, их можно восстановить (требует shadow файл :).
Ну
вот ты и научился юзать JTR :). В данной статье были описаны
практически все самые полезные примеры, которым можно найти
применение. За более подробной информацией на Английском, можно
обратиться к документации прилагаемой к JTR. Удачного крека :).
[]acid[] [GiN] Статья является собственностью
команды GiN! 2000г
|