PDA

Просмотр полной версии : Основы работы с John the Ripper


freddi
18.11.2006, 17:11
Эта статья конечно предназначена для самых, так сказать, маленьких (не в смысле возраста, а в смысле уровня знаний) и не претендует на роль всеобьемлющего описания программы, но начальные навыки общения с программой надеюсь вам даст. Итак для начала хотелось бы
рассказать про файл паролей который вы потом будете запихивать в прогу так как судя по моим наблюдениям больше всего траблов случается именно на этом этапе. Главное в файле паролей это его формат дабы прога поняла что перед ней именно пароли а не отрывок из кулинарной книги =) Итак обычный файл паролей имеет строки следующего вида:

ig425:DOSTc9unv4FDc:29602:100:fc mvandale:/usr/home/fcmva:/bin/csh

ig425 - имя пользователя (логин)
DOSTc9unv4FDc - пароль зашифрованный в des
29602:100 - номер юзера и рабочей группы в системе
fc mvandale - инфа о пользователе (имя, адрес и т.п.)
/usr/home/fcmva - каталог пользователя
/bin/csh - шелл

Ну вот и разобрались с тем как должен выглядеть файл паролей...

Пример:

michael:rFPoVNWr6Kv6E:408:408:Michael Dillon:/b/michael:/bin/bash
jan:bHUvOYUd8RSHE:504:100:Jan Dicaire:/b/GOLDEN/jan:/bin/bash
habbott:*Q6inT7TJCPus2:511:100:Harold R. Abbott:/b/GOLDEN/abbott:/bin/false
jaddison:o77ITMIPlQQXw:513:100:John Addison:/b/addison:/bin/bash
fcarl:!BJwGg36EkJtGQ:515:100:Fred Carlson:/b/carlson:/bin/bash
dchamber:*lF8utB4VobAOM:519:100:Dennis Chamberlain:/b/chamberlain:/bin/false

Теперь запихиваем это дело в какой-нибудь файл типа passwd.txt (вообще можно обозвать файл как душа пожелает) и именно его мы и будем скармливать программе. Итак наш файл паролей готов, пришло время запускать программу =) Все действия производим из командной строки. Переходим в папку с программой и запускаем JTR. Запускать можно с разными опциями и параметрами о них я сейчас расскажу:

С самого начала хотелось бы рассказать о том, что с помощью jtr можно подбирать пароли зашифрованные не только в des. Вот список алгоритмов шифрования поддерживаемых программой: DES, BSDI, MD5, BF, AFS, LM. Для того чтобы указать программе на то какой метод следует использовать служит опция format.
Например: john -format:DES passwd.txt Но так как наиболее часто прога используется для взлома des то останавливаться подробнее на других методах я не буду.

1. Brute force.
john passwd.txt
Этот способ является самым простым, но он не очень эффективен так как прога начинает перебирать все символы от балды, что естественно очень долго.

2. Перебор по словарю.
john -w:wordlist passwd.txt
wordlist - имя файла словаря со словами для перебора

3. incremental mode
john -i passwd.txt
Самый сильный способ перебора, 95 символов
john -i:alpha passwd.txt
Перебор с использованием 26 символов от 'a' до 'z'

4. Single mode
john -single passwd.txt
Слабенький способ перебора. Быстро подберёт пароли похожие либо совпадающие с логином пользователя. Рекомендую сначала всегда использовать данный способ т.к. он быстрее чем перебор по словарю.



Ну вот запускать немного научились теперь расскажу про опции:

1. Включаем правила:
Перебор для конкретного пользователя
john -w:wordlist -rules -users:0 passwd.txt
0 - uid пользователя в системе
Перебор для пользователей имеющих шелл
john -w:wordlist -rules -shells:sh,bash passwd.txt
После двоеточия перечисляем интересующие нас шеллы.

2. Просмотр подобранных паролей
john -show passwd.txt

Ну вот в принципе немного рассказал. Да ещё во время перебора если нажать на любую кнопку можно посмотреть сколько времени уже прошло, какие пароли перебираются и т.п.

Пример:


E:\>cd jtr
E:\jtr>john passwd.txt
Loaded 604 passwords with 427 different salts (Standard DES [24/32 4K])
guesses: 0 time: 0:00:00:10 32% (1) c/s: 210963 trying: Fcmv4ge0 - 1mfc
guesses: 0 time: 0:00:00:14 37% (1) c/s: 211094 trying: Jfmvanda - Mmvandal
guesses: 0 time: 0:00:00:18 43% (1) c/s: 211032 trying: TheMvand - amyIgnat
guesses: 0 time: 0:00:00:21 49% (1) c/s: 211139 trying: MFCMVA - cff
guesses: 0 time: 0:00:00:33 78% (1) c/s: 211091 trying: raf83 - fcmva87
guesses: 0 time: 0:00:00:39 0% (2) c/s: 205577 trying: xxx - gandalf
guesses: 0 time: 0:00:00:45 2% (2) c/s: 211153 trying: lizard - hawkeye
guesses: 0 time: 0:00:00:50 5% (2) c/s: 212256 trying: Nick - Tigre


Ну а когда перебор закончится можно и посмотреть что там интересного удалось найти =)



E:\>cd jtr
E:\jtr>john -show passwd.txt
panteon:panteon:29602:100:fc mvandale:/usr/home/fcmva:mail,10
jamax:jamax:29602:100:fc mvandale:/usr/home/fcmva:mail,10
quantum:marat:29602:100:fc mvandale:/usr/home/fcmva:mail,10
mitek:mitek:29602:100:fc mvandale:/usr/home/fcmva:mail,10
dilmur:dilmur:29602:100:fc mvandale:/usr/home/fcmva:mail,10
astmot:astmot:29602:100:fc mvandale:/usr/home/fcmva:mail,10
krav520:krav520:29602:100:fc mvandale:/usr/home/fcmva:mail,10
712 passwords cracked, 1008 left

Ну вот на этом и поставим точку. Удачи...



Автор: 1dt.w0lf
---------------------------------------
RusH security team - http://rst.void.ru

DisturbeR
18.11.2006, 20:14
Ну вот на этом и поставим точку. Удачи...
Точку в таких делать ставить всегда рано))))))))
Ни разу не видел упоминания или обзора GUI для JTR.
Хотя такие вещи встречается. Например JandsX, который обитает на
securibox.net уже давно, но там довольно гиморойная регистрация.
Вообщем если кто столкнется... киньте ссылку пожалуйста.

Shram-spb
05.07.2007, 01:56
Че то у меня с MD5 не получается.. ругается No password hashes loaded
Может кто подскадет, че делать?

wers
24.07.2007, 22:30
то ж долго мучился.
оказывается ему надо в формате
<user>:<hash>
Exp:

admin:d295a8f1765ed4fa83e1482c053754bb

genom--
24.07.2007, 22:55
помнится писал гуй на perl -- но тогда еще знаний tk нормальный небыло так что он получился трохан брутальный но ниче работает на genom.h10.ru валяется

1SeTh
25.07.2007, 00:03
Точку в таких делать ставить всегда рано))))))))
Ни разу не видел упоминания или обзора GUI для JTR.
Хотя такие вещи встречается. Например JandsX, который обитает на
securibox.net уже давно, но там довольно гиморойная регистрация.
Вообщем если кто столкнется... киньте ссылку пожалуйста.


попытайся hotmail ом зарегаться.

А автору спасибо за статью так как я ни разу не пользовался этой прогой

Thanat0z
25.07.2007, 01:13
Точку в таких делать ставить всегда рано))))))))
Ни разу не видел упоминания или обзора GUI для JTR.
Хотя такие вещи встречается.

потому что смысла в них нет. Есть гуи которые перекрывают функциональность патченого Джона к примеру, и имея эту гую, ты не сможешь заюзать какую-то клевую возмжность к примеру которая реализована путем патчей или модификаций

DisturbeR
25.07.2007, 01:35
А какой смыл в жареной картошке, её ж можно есть сырой и получить тот же набор питательных веществ и микроэлементов?
Какой смыл в KDE или Gnome если все реализованные в них функции можно получить из командной строки?
Зачем придумали C++ если есть ассемблер, и зачем ассемблер если процессор - это большая микросхема, которая видит нули и единицы?
Смысл... такая изменчиво ускользающая вещь Thanat0z, что вроде его и нет, а он мне нужен.
Есть гуи которые перекрывают функциональность патченого Джона к примеру.........
Сколько видов GUI для JTR ты знаешь? У тебя есть хотя-бы один для примера? И есть ли пример того, что хотябы одна GUI, из тех которые ты знаешь, перекрывает доступ к функциям измененного JTR (не теоретически)?

Thanat0z
25.07.2007, 01:51
И есть ли пример того, что хотябы одна GUI, из тех которые ты знаешь, перекрывает доступ к функциям измененного JTR (не теоретически)?

да, такие примеры есть. У меня локально не сохранено доказательства, осталось дома, на отдых не брал материалы по этому поводу, как-то для меня гуя к джону это что хром на педали в копейку, хотя ели будет желание я затрону эту тему в своей статье по Джону которую дописываю сейчас (по крайней мере надеюсь что еще пару дней :))

DisturbeR
25.07.2007, 03:14
С нетерпением буду ожидать выход твой статьи. Надеюсь, ты пойдешь дальше, чем все писатели стандартных мануалов.
Интересует несколько моментов:
1. Как реализовать атаку по маске например такого вида: ?l?l?l?d?d?d
2. Как поставить ограничения по длине пароля от 5 до 6 знаков, используя заданный набор символов.
3. Интересует медленней ли и если да, то насколько медленней происходит перебор по словарю по сравнению с генерацией пароля на лету. (чистая скорость)
4. Насколько реальна та скорость что показывает JTR, можно ли заставить его показывать реальную скорость при загрузке нескольких хешей.
5. Не до конца понятна функция salts "The amount of different salts has effect on the speed of JTR. How more salts must be calculated, the slower JTR is. To speed up the whole process you can chose to let JTR try salts with <n> passwords" Как работает и насколько увеличится скорость, если к примеру у меня есть shadow на 100 хешей MD5.
6. Интересует наиболее подробное описание правил реализованных в JTR.
7. Как в JTR реализовать перебор одного списка хешей на нескольких машинах (чтобы машины разумеется перебирали разные интервалы одного диапозона)
8. Можно ли реализовать в JTR исключения (т.е. например перебор всех шестизначных паролей, кроме попадающих по маску ?l?l?l?l?d?d )
9. Интересует название всех модов JTR и насколько они/быстрей медленней по сравнению, например, c PP.
10. Ну и естественно GUI, какие есть, что он дают и что забирают.

Ну, вообщем, вопросов у меня еще много, но если появится наконец-то нормальная статья - исследование по работе JTR, они я думаю автоматом отпадут.

Thanat0z
25.07.2007, 05:20
С нетерпением буду ожидать выход твой статьи. Надеюсь, ты пойдешь дальше, чем все писатели стандартных мануалов.

Я тебя чем-то раздражаю? :)


Интересует несколько моментов:
1. Как реализовать атаку по маске например такого вида: ?l?l?l?d?d?d

john -mask:\l\l\l\d\d\d


2. Как поставить ограничения по длине пароля от 5 до 6 знаков, используя заданный набор символов.
Не совсем понял о чем ты, но

>4<7

или

'5
'6


3. Интересует медленней ли и если да, то насколько медленней происходит перебор по словарю по сравнению с генерацией пароля на лету. (чистая скорость)

Практически без разницы, точные данные не скажу - не сохранял, но когда тестил на словаре в 2 гига, разница кажется не привышала и минуты


4. Насколько реальна та скорость что показывает JTR, можно ли заставить его показывать реальную скорость при загрузке нескольких хешей.
Он показывает скорость комбинаций в секунду, что равноценно паролей в секунду для одного хеша. В случае с несколькими хешами, зависит от типа


5. Не до конца понятна функция salts "The amount of different salts has effect on the speed of JTR. How more salts must be calculated, the slower JTR is. To speed up the whole process you can chose to let JTR try salts with <n> passwords" Как работает и насколько увеличится скорость, если к примеру у меня есть shadow на 100 хешей MD5.

Это значит что джон огромную часть времени тратит на шифрование слова и на сравнение его со всеми хешами со всеми солями. Больше солей, больше времени : 1 des - 10 секунд, 10 des - 100 секунда затраченного времени


6. Интересует наиболее подробное описание правил реализованных в JTR.

уже готово, и делал кое-какие тесты несколько дней, вот тока не знаю будет ли в одной статье либо в статье про правила и маски



7. Как в JTR реализовать перебор одного списка хешей на нескольких машинах (чтобы машины разумеется перебирали разные интервалы одного диапозона)
[List.External:Parallel]
про это будет


8. Можно ли реализовать в JTR исключения (т.е. например перебор всех шестизначных паролей, кроме попадающих по маску ?l?l?l?l?d?d )

нет, только через маски


9. Интересует название всех модов JTR и насколько они/быстрей медленней по сравнению, например, c PP.

С ППро сложно сравнивать, потому что из трех которые я регулярно использую - JTR, UDC, PPro у него самая худшая система работы со статистикой


10. Ну и естественно GUI, какие есть, что он дают и что забирают.

подумаем над этим


Ну, вообщем, вопросов у меня еще много, но если появится наконец-то нормальная статья - исследование по работе JTR, они я думаю автоматом отпадут.

это были реальные вопросы или ты решил меня проверить/семки стрельнуть? :)

DisturbeR
25.07.2007, 19:12
Когда я первый раз запустил JTR у себя на компе, то у меня естественно появились вопросы, когда я попробовал найти на них ответы у меня скопилось около 15 мануалов на разных языках подобной тому который выше , понту от них ноль, т.к. они не затрагивают и 10% всех необходимых функций и возможностей JTR, не содержат информации об эффективности функций и их использовании. По сути это даже хуже чем man который идет в комплекте. Поэтому раз уж появится очередная статья про JTR хотелось бы увидеть в ней что то большее чем "john porno_pass.txt"
З.Ы. Это реальные вопросы которые у меня возникали в процессе работы и ответы на которые я не нашел в этих мануалах. Имено поэтому у меня возникает стойкая неприязнь к авторам трактатов "для самых, так сказать, маленьких". Очень надеюсь все мое раздражение уйдет, как только появится твоя статья :)

З.З.Ы По поводу "медленней ли и если да, то насколько медленней происходит перебор по словарю по сравнению с генерацией пароля на лету. (чистая скорость)" здесь есть статистика для Oracle Password http://www.red-database-security.com/whitepaper/oracle_password_benchmark.html, и судя по ней чистый Bruteforce Attack быстрее, но неясно как они получили эти данные и насколько это актуально к другим типам хешей.

Thanat0z
25.07.2007, 19:26
:) ну я думаю что ты получили ответы. По поводу статей, можешь посмотреть
https://forum.antichat.ru/thread37651.html (сейчас ее не имею возможности обновить, только после августа) и https://forum.antichat.ru/thread37964.html. Думаю там как и для маленьких так и многим кто старше было интересно. А свои вопросы по Джону напиши мне в личку, мне будет интересно ответить, и использовать это в статье

З.З.Ы По поводу "медленней ли и если да, то насколько медленней происходит перебор по словарю по сравнению с генерацией пароля на лету. (чистая скорость)" здесь есть статистика для Oracle Password http://www.red-database-security.com/whitepaper/oracle_password_benchmark.html, и судя по ней чистый Bruteforce Attack быстрее, но неясно как они получили эти данные и насколько это актуально к другим типам хешей.
я тестировал в JTR и PPro, разницы не было. Хотя у меня есть идеи как это может проявляться и когда, надо тестить