Я использую John the Ripper версии 1.7.8 в Linux Ubuntu для взлома паролей пользователей Linux в качестве упражнения. Я запускаю Linux на виртуальной машине. Я создал пользователя с именем "User1" в системе и установил для него пароль "axby". Затем я получил хеш пароля с помощью обычной команды:

root@machine:~# unshadow /etc/passwd /etc/shadow > filetocrack

Затем я запускаю Джона с командой:

root@machine:~# john filetocrack

Пока я пишу этот вопрос, программа работала около 30 минут, пытаясь угадать простой 4-буквенный пароль. Это нормально? Или я сделал что-то не так? Любые предложения по ускорению вещей будут оценены.

1 ответ1

4

Да, это довольно часто, так как John использует атаку по словарю или грубую силу. Ни один из них не очень быстр, особенно в отношении многих современных алгоритмов хеширования, работающих в одном потоке (запуск некоторых хешей дорог, как упоминает @DavidSchwartz ).

John без аргументов также использует довольно медленные методы из FAQ:

Q: Как долго мне ожидать, чтобы Джон побежал?

A: Это в первую очередь зависит от режима (ов) взлома и ваших файлов паролей (в частности, типа хэшей и количества различных солей, если применимо). Самое главное, вы должны заметить, что "инкрементный" режим, который запускает Джон по умолчанию (без параметров командной строки), после выполнения более быстрых проверок, не должен завершаться в разумные сроки.

Один из вариантов попытаться уменьшить производительность - включить parallelization с параметром --fork=N (N - количество процессов) или --node . Смотрите список опций для получения подробной информации о них.

Теоретически, если у вас два потока, выполняемых полу-интеллектуально - ваше время выполнения должно быть сокращено в два раза. (Обратите внимание на классификатор "теоретически", YMMV в реальном мире)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .