Статьи Основы работы с John the Ripper

Discussion in 'Статьи' started by freddi, 18 Nov 2006.

  1. freddi

    freddi Elder - Старейшина

    Joined:
    5 Jul 2006
    Messages:
    399
    Likes Received:
    243
    Reputations:
    145
    Эта статья конечно предназначена для самых, так сказать, маленьких (не в смысле возраста, а в смысле уровня знаний) и не претендует на роль всеобьемлющего описания программы, но начальные навыки общения с программой надеюсь вам даст. Итак для начала хотелось бы
    рассказать про файл паролей который вы потом будете запихивать в прогу так как судя по моим наблюдениям больше всего траблов случается именно на этом этапе. Главное в файле паролей это его формат дабы прога поняла что перед ней именно пароли а не отрывок из кулинарной книги =) Итак обычный файл паролей имеет строки следующего вида:

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

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

    Пример:

    Code:
    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

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

    Пример:

    Code:
          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

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


    Code:
          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
     
    #1 freddi, 18 Nov 2006
    Last edited: 18 Nov 2006
    Kevin Shindel likes this.
  2. DisturbeR

    DisturbeR Elder - Старейшина

    Joined:
    11 Mar 2006
    Messages:
    95
    Likes Received:
    40
    Reputations:
    25
    Точку в таких делать ставить всегда рано))))))))
    Ни разу не видел упоминания или обзора GUI для JTR.
    Хотя такие вещи встречается. Например JandsX, который обитает на
    securibox.net уже давно, но там довольно гиморойная регистрация.
    Вообщем если кто столкнется... киньте ссылку пожалуйста.
     
  3. Shram-spb

    Shram-spb Member

    Joined:
    6 Jun 2007
    Messages:
    64
    Likes Received:
    42
    Reputations:
    35
    Че то у меня с MD5 не получается.. ругается No password hashes loaded
    Может кто подскадет, че делать?
     
  4. wers

    wers Elder - Старейшина

    Joined:
    24 Jun 2007
    Messages:
    46
    Likes Received:
    41
    Reputations:
    13
    то ж долго мучился.
    оказывается ему надо в формате
    <user>:<hash>
    Exp:
    Code:
    admin:d295a8f1765ed4fa83e1482c053754bb
    
     
  5. genom--

    genom-- Elder - Старейшина

    Joined:
    9 Jul 2006
    Messages:
    668
    Likes Received:
    416
    Reputations:
    288
    помнится писал гуй на perl -- но тогда еще знаний tk нормальный небыло так что он получился трохан брутальный но ниче работает на genom.h10.ru валяется
     
    #5 genom--, 24 Jul 2007
    Last edited: 24 Jul 2007
  6. 1SeTh

    1SeTh Elder - Старейшина

    Joined:
    17 Feb 2006
    Messages:
    164
    Likes Received:
    18
    Reputations:
    5

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

    А автору спасибо за статью так как я ни разу не пользовался этой прогой
     
    #6 1SeTh, 25 Jul 2007
    Last edited: 25 Jul 2007
  7. Thanat0z

    Thanat0z Негрин

    Joined:
    6 Dec 2006
    Messages:
    627
    Likes Received:
    498
    Reputations:
    311
    потому что смысла в них нет. Есть гуи которые перекрывают функциональность патченого Джона к примеру, и имея эту гую, ты не сможешь заюзать какую-то клевую возмжность к примеру которая реализована путем патчей или модификаций
     
  8. DisturbeR

    DisturbeR Elder - Старейшина

    Joined:
    11 Mar 2006
    Messages:
    95
    Likes Received:
    40
    Reputations:
    25
    А какой смыл в жареной картошке, её ж можно есть сырой и получить тот же набор питательных веществ и микроэлементов?
    Какой смыл в KDE или Gnome если все реализованные в них функции можно получить из командной строки?
    Зачем придумали C++ если есть ассемблер, и зачем ассемблер если процессор - это большая микросхема, которая видит нули и единицы?
    Смысл... такая изменчиво ускользающая вещь Thanat0z, что вроде его и нет, а он мне нужен.
    Сколько видов GUI для JTR ты знаешь? У тебя есть хотя-бы один для примера? И есть ли пример того, что хотябы одна GUI, из тех которые ты знаешь, перекрывает доступ к функциям измененного JTR (не теоретически)?
     
  9. Thanat0z

    Thanat0z Негрин

    Joined:
    6 Dec 2006
    Messages:
    627
    Likes Received:
    498
    Reputations:
    311
    да, такие примеры есть. У меня локально не сохранено доказательства, осталось дома, на отдых не брал материалы по этому поводу, как-то для меня гуя к джону это что хром на педали в копейку, хотя ели будет желание я затрону эту тему в своей статье по Джону которую дописываю сейчас (по крайней мере надеюсь что еще пару дней :))
     
  10. DisturbeR

    DisturbeR Elder - Старейшина

    Joined:
    11 Mar 2006
    Messages:
    95
    Likes Received:
    40
    Reputations:
    25
    С нетерпением буду ожидать выход твой статьи. Надеюсь, ты пойдешь дальше, чем все писатели стандартных мануалов.
    Интересует несколько моментов:
    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, они я думаю автоматом отпадут.
     
  11. Thanat0z

    Thanat0z Негрин

    Joined:
    6 Dec 2006
    Messages:
    627
    Likes Received:
    498
    Reputations:
    311
    Я тебя чем-то раздражаю? :)

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

    Не совсем понял о чем ты, но

    >4<7

    или

    '5
    '6

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

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

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

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


    [List.External:parallel]
    про это будет

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

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

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

    это были реальные вопросы или ты решил меня проверить/семки стрельнуть? :)
     
    #11 Thanat0z, 25 Jul 2007
    Last edited: 25 Jul 2007
  12. DisturbeR

    DisturbeR Elder - Старейшина

    Joined:
    11 Mar 2006
    Messages:
    95
    Likes Received:
    40
    Reputations:
    25
    Когда я первый раз запустил 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 быстрее, но неясно как они получили эти данные и насколько это актуально к другим типам хешей.
     
    #12 DisturbeR, 25 Jul 2007
    Last edited: 25 Jul 2007
  13. Thanat0z

    Thanat0z Негрин

    Joined:
    6 Dec 2006
    Messages:
    627
    Likes Received:
    498
    Reputations:
    311
    :) ну я думаю что ты получили ответы. По поводу статей, можешь посмотреть
    https://forum.antichat.ru/thread37651.html (сейчас ее не имею возможности обновить, только после августа) и https://forum.antichat.ru/thread37964.html. Думаю там как и для маленьких так и многим кто старше было интересно. А свои вопросы по Джону напиши мне в личку, мне будет интересно ответить, и использовать это в статье

    я тестировал в JTR и PPro, разницы не было. Хотя у меня есть идеи как это может проявляться и когда, надо тестить
     
    #13 Thanat0z, 25 Jul 2007
    Last edited: 25 Jul 2007