Где-то месяц полтора в моей голове засела коварная мысль - сравнить какой же "взломщик" для хешей будет работать быстрее. Сначала нашел проги, потом считал, посмотрел на результаты - удалил , снова считал. Хотел написать статью, в итоге не вытерпев и забив на продолжительные тесты решил написать о том что есть, по итогам легких тестов, которые может сделать любой пользователей и окончательно решить что ему нужно. Итак, на кого будем смотреть? 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 использовалась маска, именно она отвечает полному перебору в других программах. Не путайте с -iigits - в данном случае используется так называемый "интеллектуальный перебор", его скорость меньше чем у масок, но результаты может дать быстрее. Вы скажете что я забыл MDCrack v1.8(2), на самом деле нет, так как он умеет считать только 1 хеш за раз, данные для него отдельно Ради интереса взял этот пароль "asdfghj" и решил сравнить с другими, смотрим: Как видите, результаты на практике отличаются от тестовых, и вообще, честно говоря не понятно как статистика у некоторых программ генерится , но это оставим на совести разработчиков. Еще хочу заметить что UDC, показала достаточно хорошие результаты Отсебятина Лично я выбираю JTR+PasswordsPro, на данный момент мне их хватает, вот если будет ключик, тогда потестю UDC, а в таком виде как он сейчас, что-то не хочу его использовать. В пользу JTR еще кучу найденной информации по его улучшению Флейм Не знаю помог ли я вам, или еще больше запутал, но хоть дал пищу для ума По крайней мере не забывайте что это было всего лишь сравнение по md5, если брать JRT, то он однозначно выигрывает у PasswordsPro по DES хешам. Жду конкретных замечаний или вопросов, ну и предложений тоже. Если материал говняный и на "статью" не тянет, пишите с конкретными указаниями почему, перенесу тогда ее. Хотя на самом деле получился больше дайджест по выбору программы Данная статья будет постоянно обновляться учитывая ваши пожелания и замечания. Уже в процессе: 1) графики 2) более емкие тесты 3) + еще софта
Хорошая статья, но я считаю немного по другому. Мое видение данного вопроса. Для начала определяемся как будем классифицировать программные продукты . 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 таблицами. для неспециализированной проги хороша. Готов принять любую критику. Если нужно готов провести тест, с вашими условиями. А также оказать помощь в освоении вышеперечисленных прог.
Примочка к джонику для мультипроцессорных систем. ==================================== 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%
Я вот на эту версию уже пару недель засматриваюсь, но никак рука не подымется, если учитывать что Джон иногда выдает просто неожидаемые результаты, то я просто боюсь предположить что будет когда я его на 2 ядра повешу. Если я правильно понимаю, то на Core2Duo он должен 100% загрузку делать с этой версией, вот тока не знаю с кем его "состязать" кроме UDC. Кстати вроде есть патчи и решения для распараллеливания, будет время отпишу по этому поводу, сейчас и так 3 заметки в процессе
Т.е если мне нужно один хеш, но я хочу получить большую скорость, мне нужно накидать кучу левых хешей и скорость увеличится?
если ты обратил внимание на тесты для DES хешей, ты увидишь, что скорость перебора хешей с многими солями, выше чем с одинаковой. У меня прирост около 100 000 в секунду, если сравнивать 1 хеш, и 78 хешей (с 74 разными солями). Если честно, на мд5 не тестил, но для DES это утверждение справедливо
Конечно же нет! Просто JTR множит число, которое соответствует текущей скорости на количество хешей с разными салтами. Если ты накидаешь еще чего-нибудь для вида, то реальная скорость значительно упадет, а коэфициент домножения (кол-во салтов) вырастет, из-за этого то число которое джон рисует тоже вырастет. Вот так-то.
По поводу безбожного вранья: Дело в том, что когда мы проводим перебор от 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
Как я уже сказал, вся статистическая информация на совести разработчиков. На счет системы UDC, как по мне это гдупость, мне не надо знать сколько оно там считает куски для 5 или 6 символов, приблизительное время мнея и так известно. Меня как и многих интересуют финальная статистика. А с секундомером я сидеть не обязан, у меня как и у многих нет времени чтоб сидеть без перерыва часами за компом, чтоб посчитать время когда же кончит подсчет UDC или PPro. Но все же я учту твою критику в следущей редакции данной темы, то есть обновлю ее и исправлю ошибки которые допустил
Прикольную дискуссию я пропустил. Я бы от себя добавил что в джонике скорость измеряется в символах в секунду, а все остальные в пассвордах в секунду. Есть над чем подумать. А тесты я проверю, и завтра выложу.
Просьба указать ваши замечания к материалу, или вопросы если есть, в течении недели будет обновленная версия
В качестве пожелания: Мне кажется, сильно не хватает списка поддерживаемых функций программами (идеально было бы загнать их в табличку), а потом сравнение вести уже по совпадающим функциям (не понравилось сравнение типа здесь нет этого, зато есть вот это, вот и сравним). Отдельно прямой перебор, атака по словарю, гибридная атака/рулесы, разделяя для соленых хешей и обычных. Хотелось бы что-то увидеть по распределенному джону. Кроме того да, скорость джона было бы неплохо перевести в пароли в секунду. И еще было бы очень прикольно увидеть обещаные графики P.S. И еще, я не знаю, на сколько уместна справка (по JTR например) в обзоре...
Скорость 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 и очень волнуюсь по поводу её компетентности, т.е. правильности и безошибочности того, что там написано. Да и вообще о полезности этой статьи. Заранее, большое спасибо всем, кто ответит.
Да, действительно в инкреметном режим существует лимит в 8 символов. Однако для режима словаря этого лимита нет. Поэтому ограничение 8-ми символов легко обойти, самостоятельно создав словарь всех 9-тизначных паролей. Но если есть другая, более удобная в этом плане программа, пользователь наверное воспользуется ей. И всё же, мне так и не понятно, и мне хочеться знать ответа: можно ли john-ом вскрыть обычный md5_128bit хэш? Наример c8e5b031cee3fe69955e63f8c5e11509 (хэш пароля 'остаток' на латинской раскладке). Если никто не знает, и, соответственно никто не ответит в течении ближайших недель, буду думать, что всё таки нельзя.
Создать словарь всех 9 значных паролей? - удачи Предлагаю тебе учить матчасть и перечитать все мои темы в этом разделе, и ты найдешь ответы на свои вопросы. К примеру, обычным джоном пароль к типу того хеша что ты привел, нельзя
Да, я уже выяснил. Хэш md5_128bit вскрыть стандартной сборкой john-а нельзя. Так же узал ответы на другие интересующие вопросы, и значительно откорректировал свою статейку. Написав которую понял, что полезность её близка к нулю... ) Про 9-ти значные пароли - да, я чушь сказал, как чисто теоритическую возможность. Если мне придётся столкнуться с такой проблемой, я конечно пойду инфу искать на эту тему.
можно было бы добавить и этот продукт – Extreme GPU Bruteforcer: _http://www.insidepro.com/rus/buy.shtml