Заметки: какой брутер выбрать?

Discussion in 'Криптография, расшифровка хешей' started by Thanat0z, 11 Apr 2007.

  1. Thanat0z

    Thanat0z Негрин

    Joined:
    6 Dec 2006
    Messages:
    627
    Likes Received:
    498
    Reputations:
    311
    Где-то месяц полтора в моей голове засела коварная мысль - сравнить какой же "взломщик" для хешей будет работать быстрее. Сначала нашел проги, потом считал, посмотрел на результаты - удалил :), снова считал. Хотел написать статью, в итоге не вытерпев и забив на продолжительные тесты решил написать о том что есть, по итогам легких тестов, которые может сделать любой пользователей и окончательно решить что ему нужно.

    Итак, на кого будем смотреть?

    1. MD5Inside v1.1.0.2 (http://www.insidepro.com/)
    2. PasswordsPro v2.3.0.0 (registered) (http://www.insidepro.com/)
    3. UDC 2.0.9.2 (demo) (http://the-udc.com/)
    4. MDCrack v1.8(2) (http://c3rb3r.openwall.net/mdcrack/)
    5. John the Ripper 1.7 patched (http://www.openwall.com/john/)

    По два слова о каждой программе:

    MD5Inside:
    Очень старенькая прога от создателя PasswordsPro. Могла посоревноваться по скорости с ранними версиями PasswordsPro, но значительно уступает ей по функциональности.
    + маленький размер
    + без регистрации позволяет загружать много хешей

    - только MD5
    - нельзя скопировать найденные пароли
    - отсутсвует инструментарий для гибридной атаки (по правилам)


    PasswordsPro v2.3.0.0:
    Замечательный брутер, достаточно быстрый, и не менее функциональный. Не даром названный "комбайном" - поддерживает 19 типов хешей. Автор стремится приблизить функциональность атак по правилам до уровня John the Ripper
    + поддержка большинства популярных хешей
    + наличие инструментария для проведения гибридной атаки, комбинированной атаки, и атаки по rainbow таблицам
    + с версии 2.3.0.0 заложены основы для комплексных атак - использование *.ini файлов при запуске программы с командной строки (кстати я попросил ;))
    + поддержка сальтовых хешей от популярных форумов
    + для жителей СНГ цена на программу в 2 раза меньше чем для "буржуев" :)

    - в демо версии можно импортировать только 1 хеш


    UDC 2.0.9.2:
    С данной программой работал мало, ничего особого сказать не могу, вроде функциональная, но больше отрицательных эмоций
    + поддерживает двухядерные процессоры
    + есть гибридная атака

    - не понравился интерфейс
    - не понравилась реализация импорта хешей из текстового файла
    - непонятки с демо версией - то говорит я демо, и этого делать не буду, а в другой раз его клинит, и оно делает то, что ранее отказывалась :)
    - врёт в логах


    MDCrack v1.8(2):
    Достаточно мощный, но не очень функциональный брутер. Будем надеятся что в ближайщее время доделают обещанные фичи.
    + поддерживает двухядерные процессоры

    - работает только с одним хешем
    - не умеет работать со словарями
    - по какой-то причине у меня не ищет пароли более 8 символов


    John the Ripper 1.7:
    Ветеран, но всё такой же меткий :) Версия 1.7, достаточно свежая, если JRT использовать со знанием дела, наверное, равных ему нет.
    + достаточное количество патчей
    + отличная система правил и масок
    + интеллектуальный инкремент

    - атака полным перебором позволят перебирать пароли не более 8 символов



    Приступим к подсчетам

    Прежде чем начать подсчеты, выберем подходящую сборку Джона. Для тех кто не знает - есть оптимизированные сборки JRT под разные процессоры.
    Внимание: лучшие результаты не обязательно покажет сборка JRT оптимизированная под ваш процессор.

    Создаем батник такого содержания и запускаем

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

    В результате будут получены данные, что-то типа

    Внимание: тестовые данные часто расходятся с данными полученными в полевых условиях, это значит что вам надо в итоге протестить сборки на конкретных примерах. Более того, некоторые сборки могут быть очень быстрыми при работе с Md5, а другие быстрее работать для MySQL 3.23. Так что имеет смысл переименовать наиболее понравившиеся ехе в файлы типа jrt_for_md5/jrt_for_des и тд и тп.

    Далее по результатам этих файлов выбирает пару заинтересовавших сборок

    и тестите уже на практике с помощью батника
    Где, к примеру, l6 обозначает множество паролей из lowalpha на 6 символов. Грубо говоря одна проверка множества займет около 2 минут.

    Справка: при выборе Only/Many salts я бы рекомендовал выбирать по параметру Many, так как чаще у вас будут хеши с разными солями, имхо.
    Справка: особенностью JRT является то, что чем больше хешей, тем болешь его скорость



    Ладненько, будем смотреть на циферки

    Итак, сгенерим 100 паролей, состоящих только из цифр, на 8 символов. Очень хилая проверка, но зато быстрая.

    В итоге получаем такие данные
    скорость нахождения всех паролей : паролей/сек : чтение из словаря (200 мб)
    На данный момент я пока не разобрался почему скорость перебора у Джона больше, а вот результаты по времени меньше... Ну как видно по результатам, то быстрее всех пароли находит PasswordsPro, а скорость чтения словаря самая быстрая у UDC. Если смотреть результаты для двухядер, то UDC шустрее соперников.

    Справка: при сравнении скоростей для JRT использовалась маска, именно она отвечает полному перебору в других программах. Не путайте с -i:Digits - в данном случае используется так называемый "интеллектуальный перебор", его скорость меньше чем у масок, но результаты может дать быстрее.

    Вы скажете что я забыл MDCrack v1.8(2), на самом деле нет, так как он умеет считать только 1 хеш за раз, данные для него отдельно


    Ради интереса взял этот пароль "asdfghj" и решил сравнить с другими, смотрим:

    Как видите, результаты на практике отличаются от тестовых, и вообще, честно говоря не понятно как статистика у некоторых программ генерится :), но это оставим на совести разработчиков.
    Еще хочу заметить что UDC, показала достаточно хорошие результаты

    Отсебятина
    Лично я выбираю JTR+PasswordsPro, на данный момент мне их хватает, вот если будет ключик, тогда потестю UDC, а в таком виде как он сейчас, что-то не хочу его использовать. В пользу JTR еще кучу найденной информации по его улучшению

    Флейм

    Не знаю помог ли я вам, или еще больше запутал, но хоть дал пищу для ума :) По крайней мере не забывайте что это было всего лишь сравнение по md5, если брать JRT, то он однозначно выигрывает у PasswordsPro по DES хешам.

    Жду конкретных замечаний или вопросов, ну и предложений тоже. Если материал говняный и на "статью" не тянет, пишите с конкретными указаниями почему, перенесу тогда ее. Хотя на самом деле получился больше дайджест по выбору программы

    Данная статья будет постоянно обновляться учитывая ваши пожелания и замечания. Уже в процессе:
    1) графики
    2) более емкие тесты
    3) + еще софта
     
    #1 Thanat0z, 11 Apr 2007
    Last edited: 23 Apr 2007
    R3re, aka PSIH, kair and 19 others like this.
  2. segamegasega

    segamegasega Member

    Joined:
    9 Mar 2007
    Messages:
    14
    Likes Received:
    23
    Reputations:
    0
    Хорошая статья, но я считаю немного по другому.
    Мое видение данного вопроса.

    Для начала определяемся как будем классифицировать программные продукты .

    1. Платные , Халявные.
    2. Интерфейс --- Графический , консольный
    3. специализированные , неспециализированные имеющие возможность дешифровки.

    Краткие возможности и особенности.

    Итак, на кого будем смотреть?

    Платные имеющие графический интерфейс специализированные:

    1. MD5 Password (http://lastbit.com/md5password/)
    стоимость - 79 евро
    2. PasswordsPro v2.3.0.0(http://www.insidepro.com/)<br />
    Стоимость одной лицензии - 500 рублей
    3. UDC 2.0.9.2 (http://the-udc.com/)
    стоимость одной копии составляет 700 рублей

    Халявные консольные специализированные:

    1. MDCrack v1.8(2) (http://c3rb3r.openwall.net/mdcrack/)<br />
    2. John the Ripper 1.7.2 (http://www.openwall.com/john/)<br />

    Халявные имеющие, графический интерфейс, неспециализированные но имеющие возможность дешифровки.

    1. Cain & Abel v4.8 (http://www.oxid.it/cain.html)


    Мое мнение о программах.

    Естественно первое место занимает John the Ripper он вне конкуренции не только в своей нише,
    но и среди всех программ по дешифровке паролей.
    + функциональность (включены самые востребованные типы хешей)
    + гибкая система рулесов (правил изменения исходного слова)в словарной атаке вряд ли кто в ближайшее время подойдет к этому уровню.
    + скорость перебора.
    тут можно говорить бесконечно (давно его знаю) если будут вопросы по джону готов ответить более подробно.

    Хота прекрасно осознаю что это не правильно так сравнивать.

    На второе место я бы поставил UDC 2.0.9.2 даже только за то, что в этой проге реализована функция распределенного перебора.
    + скорость
    + кол - во загружаемых хешей практически не сказывается на скорости.
    + возможность конвертировать свои словари, скорость по которым просто великолепна, а размер значительно уменьшается.
    + поддерживает многопоточность, прекрасно работает на многопроцессорных системах.
    + активно развивается
    + даже в демо версии позволяет добиться кое каких результатов
    - отсутствие DES И MD5 UNIX
    Изучал где-то в течении месяца, достаточно освоенная прога вопросы принимаются.

    Третье место PasswordsPro v2.3.0.0 в последнее время сильно продвинулся в перед по своей функциональности.
    + Функциональность
    + атака по rainbow таблицам
    + поддержка сальтовых хешей от популярных форумов
    + активно развивается
    - при большем количестве хешей начинает на глазах тормозить
    - в демо версии невозможно работать так как можно загрузить только 1 хэш.


    Дальше места раздавать не буду.

    MDCrack v1.8(2) все прекрасно описано постом выше, практически не использовал в связи с большими временными затратами на 1 хэш.

    MD5 Password -- самая дорогая программа, крутил ее где то неделю, сильных сторон не нашел, хотя заточена только под
    md5. Единственное что понравилось Smart Force Attack, дает результат. Ограничение 32000 хешей.

    Cain & Abel v4.8 -- прекрасная прога, хотя ее основная функция заключается в другом, мне очень нравиться.
    поддерживает много видов хешей, есть основные инструменты дешифровщика, работает с rainbow таблицами.
    для неспециализированной проги хороша.

    Готов принять любую критику. Если нужно готов провести тест, с вашими условиями.
    А также оказать помощь в освоении вышеперечисленных прог.
     
    1 person likes this.
  3. Elekt

    Elekt Banned

    Joined:
    5 Dec 2005
    Messages:
    944
    Likes Received:
    427
    Reputations:
    508
    Примочка к джонику для мультипроцессорных систем.

    ====================================
    John The Ripper MPI Patch
    http://www.bindshell.net/tools//johntheripper

    This is an updated version of Ryan Lim's patch for john the ripper to support MPI, in addition to a large number of third party patches to support additional ciphers and such.

    MPI allows you to use multiple processors on a single system, or a cluster of systems for cracking passwords using john the ripper. Incredibly usefull in these days of multi core processors.

    A compatible MPI implementation is required.
    This has currently been tested on Linux/AMD64 and Linux/x86 using mpich2-1.0.2
    ====================================

    Вообще переход на мультипроцессорные системы, на всякие там core 2 duo и прочее - щас одна из самых актуальных проблем.

    Хотелось бы увидеть обзор\решения\патчи\фиксы для брутеров , позвляющие использовать процесорные мощности многопроцессорных систем на 100%
     
  4. Thanat0z

    Thanat0z Негрин

    Joined:
    6 Dec 2006
    Messages:
    627
    Likes Received:
    498
    Reputations:
    311
    Я вот на эту версию уже пару недель засматриваюсь, но никак рука не подымется, если учитывать что Джон иногда выдает просто неожидаемые результаты, то я просто боюсь предположить что будет когда я его на 2 ядра повешу. Если я правильно понимаю, то на Core2Duo он должен 100% загрузку делать с этой версией, вот тока не знаю с кем его "состязать" кроме UDC.
    Кстати вроде есть патчи и решения для распараллеливания, будет время отпишу по этому поводу, сейчас и так 3 заметки в процессе :)
     
    1 person likes this.
  5. DisturbeR

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

    Joined:
    11 Mar 2006
    Messages:
    95
    Likes Received:
    40
    Reputations:
    25
    Т.е если мне нужно один хеш, но я хочу получить большую скорость, мне нужно накидать кучу левых хешей и скорость увеличится?
     
  6. Thanat0z

    Thanat0z Негрин

    Joined:
    6 Dec 2006
    Messages:
    627
    Likes Received:
    498
    Reputations:
    311
    если ты обратил внимание на тесты для DES хешей, ты увидишь, что скорость перебора хешей с многими солями, выше чем с одинаковой. У меня прирост около 100 000 в секунду, если сравнивать 1 хеш, и 78 хешей (с 74 разными солями). Если честно, на мд5 не тестил, но для DES это утверждение справедливо
     
  7. sic57005

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

    Joined:
    22 Apr 2007
    Messages:
    28
    Likes Received:
    32
    Reputations:
    7
    Конечно же нет! Просто JTR множит число, которое соответствует текущей скорости на количество хешей с разными салтами.
    Если ты накидаешь еще чего-нибудь для вида, то реальная скорость значительно упадет, а коэфициент домножения (кол-во салтов) вырастет, из-за этого то число которое джон рисует тоже вырастет. Вот так-то.
     
  8. sic57005

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

    Joined:
    22 Apr 2007
    Messages:
    28
    Likes Received:
    32
    Reputations:
    7


    По поводу безбожного вранья:
    Дело в том, что когда мы проводим перебор от 1 до 8 символов, в реальности это 8 последовательных шагов перебора:
    * для 1 символа
    * для 2 символов
    ....
    * для 8 символов

    UDC выводит статистику только по последнему шагу (текущему). Для чего так?
    Да просто потому что когда перебор 1-7 уже закончен, какая разница сколько времени он занял. Меня, например интересует, не то что я уже сделал, а то что я буду делать, и в этом плане UDC выдает удобную информацию.

    Простой пример: я хочу брутить все loweralpha от 1 до 20 символов. (наверное я маньяк? )
    Запустим PPro - она напишет мне, что прости, парень, - но ты умрешь раньше чем перебор закончится. Полезна ли мне эта информация? Думаю нет.

    Запустим UDC - она напишет
    Перебор 5 символов (5..20+) : осталось 3 секунды.
    (Почему с 5? потому что до 5 пройдет мгновенно)
    Если я не остановлю в это время, то она напишет мне далее
    Перебор 6 символов (6..20+) : осталось 1 минута. (Меня устраивает, не останавливаю программу)
    Перебор 7 символов (7..20+) : осталось пол часа... (Меня устраивает, не останавливаю программу)
    и т.д.
    до тех пор пока я не увижу что нибудь вроде
    Перебор 10 символов (11..20+) : осталось 2 месяца
    и вот тогда-то я и пойму что был не прав, и остановлю программу. Но результаты (1..10)-то останутся! Для этого, в общем, и придуман такой вариант отображения.

    P.S. Для бенчмаркинга есть секундомер. Не спрашивают же у самих спортсменов на финише, за сколько секунд они пробежали дистанцию

    P.P.S И если уж и хвалить например JTR, то явно не за честность отображения статистики, за явное домножение на количество салтов при переборе.

    Например тогда в UDC можно было бы написать скорость = 9380 000 000 passwords/s * 20000 hashes =
    187600000000000 c/s
     
    #8 sic57005, 22 Apr 2007
    Last edited by a moderator: 22 Apr 2007
  9. Thanat0z

    Thanat0z Негрин

    Joined:
    6 Dec 2006
    Messages:
    627
    Likes Received:
    498
    Reputations:
    311
    Как я уже сказал, вся статистическая информация на совести разработчиков. На счет системы UDC, как по мне это гдупость, мне не надо знать сколько оно там считает куски для 5 или 6 символов, приблизительное время мнея и так известно. Меня как и многих интересуют финальная статистика.
    А с секундомером я сидеть не обязан, у меня как и у многих нет времени чтоб сидеть без перерыва часами за компом, чтоб посчитать время когда же кончит подсчет UDC или PPro.

    Но все же я учту твою критику в следущей редакции данной темы, то есть обновлю ее и исправлю ошибки которые допустил
     
    #9 Thanat0z, 22 Apr 2007
    Last edited: 23 Apr 2007
  10. segamegasega

    segamegasega Member

    Joined:
    9 Mar 2007
    Messages:
    14
    Likes Received:
    23
    Reputations:
    0
    Прикольную дискуссию я пропустил.
    Я бы от себя добавил что в джонике скорость измеряется в символах в секунду, а все остальные в пассвордах в секунду.

    Есть над чем подумать. А тесты я проверю, и завтра выложу.
     
  11. Thanat0z

    Thanat0z Негрин

    Joined:
    6 Dec 2006
    Messages:
    627
    Likes Received:
    498
    Reputations:
    311
    Просьба указать ваши замечания к материалу, или вопросы если есть, в течении недели будет обновленная версия
     
  12. sic57005

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

    Joined:
    22 Apr 2007
    Messages:
    28
    Likes Received:
    32
    Reputations:
    7
    В качестве пожелания:

    Мне кажется, сильно не хватает списка поддерживаемых функций программами (идеально было бы загнать их в табличку), а потом сравнение вести уже по совпадающим функциям (не понравилось сравнение типа здесь нет этого, зато есть вот это, вот и сравним). Отдельно прямой перебор, атака по словарю, гибридная атака/рулесы, разделяя для соленых хешей и обычных.

    Хотелось бы что-то увидеть по распределенному джону.

    Кроме того да, скорость джона было бы неплохо перевести в пароли в секунду.

    И еще было бы очень прикольно увидеть обещаные графики :)

    P.S. И еще, я не знаю, на сколько уместна справка (по JTR например) в обзоре...
     
  13. FLUF

    FLUF New Member

    Joined:
    9 Oct 2007
    Messages:
    3
    Likes Received:
    0
    Reputations:
    0
    Скорость john-а измерить не возможно, из за того, что он подбирает пароль не последовательно, а как тут было написано, "интеллектуально". Полее подробно написано в описании режима Incremental mode в документации.

    Длина пароля не ограничивается 8-мю символами. Максимальную / минимальную длину пароля можно менять в конфиге.

    PasswordsPro использует "циклический инкремент пароля" (_http://www.wasm.ru/article.php?article=cycle_pwd), благодаря чему он весьма быстрый.

    Помогите разобарться с mdcrack. Я не понял, для чего нужны флаги -W, -R, -b, -e ?

    А в john-е не понял, как вскрыть хэш типа md5_128bit (стандартынй md5 без salt). John почему то определяет такой хэш как NT LM (т.е. двойной DES). А использовать флаг --format=MD5 - вообще не определяет хэш. Как, и можно ли, брутить john-ом стандартный md5?

    И можно ли прерывать и востанавливать процесс брута в инкрементном режиме?

    И где можно скачать (бесплатно) большой сборник паролей, который они пробают за 28.25$ ?

    Я написла статейку _http://www.cyberhood.ru/blog/fluf/vskrytie_hjeshej_standartnymi_sredstvami_freebsd и очень волнуюсь по поводу её компетентности, т.е. правильности и безошибочности того, что там написано. Да и вообще о полезности этой статьи.

    Заранее, большое спасибо всем, кто ответит.
     
  14. Thanat0z

    Thanat0z Негрин

    Joined:
    6 Dec 2006
    Messages:
    627
    Likes Received:
    498
    Reputations:
    311
    ;) ты сам пробовал? Более того, фраза вырвана из контекста, и ты ошибаешься по этому пункту
     
  15. FLUF

    FLUF New Member

    Joined:
    9 Oct 2007
    Messages:
    3
    Likes Received:
    0
    Reputations:
    0
    Да, действительно в инкреметном режим существует лимит в 8 символов. Однако для режима словаря этого лимита нет. Поэтому ограничение 8-ми символов легко обойти, самостоятельно создав словарь всех 9-тизначных паролей. Но если есть другая, более удобная в этом плане программа, пользователь наверное воспользуется ей.

    И всё же, мне так и не понятно, и мне хочеться знать ответа: можно ли john-ом вскрыть обычный md5_128bit хэш? Наример c8e5b031cee3fe69955e63f8c5e11509 (хэш пароля 'остаток' на латинской раскладке). Если никто не знает, и, соответственно никто не ответит в течении ближайших недель, буду думать, что всё таки нельзя.
     
  16. Thanat0z

    Thanat0z Негрин

    Joined:
    6 Dec 2006
    Messages:
    627
    Likes Received:
    498
    Reputations:
    311
    Создать словарь всех 9 значных паролей? - удачи :)
    Предлагаю тебе учить матчасть и перечитать все мои темы в этом разделе, и ты найдешь ответы на свои вопросы. К примеру, обычным джоном пароль к типу того хеша что ты привел, нельзя
     
    1 person likes this.
  17. FLUF

    FLUF New Member

    Joined:
    9 Oct 2007
    Messages:
    3
    Likes Received:
    0
    Reputations:
    0
    Да, я уже выяснил. Хэш md5_128bit вскрыть стандартной сборкой john-а нельзя. Так же узал ответы на другие интересующие вопросы, и значительно откорректировал свою статейку. Написав которую понял, что полезность её близка к нулю... )

    Про 9-ти значные пароли - да, я чушь сказал, как чисто теоритическую возможность. Если мне придётся столкнуться с такой проблемой, я конечно пойду инфу искать на эту тему.
     
  18. HiMiC

    HiMiC Member

    Joined:
    22 Dec 2006
    Messages:
    18
    Likes Received:
    11
    Reputations:
    0
    можно было бы добавить и этот продукт – Extreme GPU Bruteforcer: _http://www.insidepro.com/rus/buy.shtml
     
  19. DarkMist

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

    Joined:
    20 Feb 2007
    Messages:
    201
    Likes Received:
    24
    Reputations:
    0
    под Linux что есть?? джон понятно, а что еще???
     
  20. BarsMonster

    BarsMonster New Member

    Joined:
    21 Jul 2008
    Messages:
    6
    Likes Received:
    2
    Reputations:
    5
    Под линух будет BarsWF, работа кипит :)