GrabDuck

Как установить "John the ripper" под Linux и как ей пользоваться ( Статьи - ...

:

Программа "John the ripper" служит для восстановления забытых паролей. Официальный сайт программы - http://www.openwall.com/john/

 

Установка

 

Устанавливать надо из исходников. Можно взять исходники версии 1.7.3.1 (или более старую 1.7.2, которая считается стабильной). Распаковать архив в отдельный каталог. Зайти в подкаталог src, запустить make. В ответ сборка не пойдет, а будет выдан список целевых систем, под которую возможна компиляция. Надо найти в списке нужный тип, и дать соответсвующую команду, например:

 

# make clean linux-x86-mmx

 

В результате запустится компиляция. Результирующий бинарник будет лежать в каталоге run.

По непонятной причине, John не работает с MD5, хотя в документации написано, что программа знает MD5. Чтобы поддержка MD5 заработала, надо наложить патч.

Для версии 1.7.2 патч раньше можно было взять по ссылке:

ftp://ftp.openwall.com/pub/projects/john/contrib/john-1.7.2-all-9.diff.gz

но теперь такого файла нет.

Для версии 1.7.3.1 патч находится по ссылке:

ftp://ftp.openwall.com/pub/projects/john/contrib/john-1.7.3.1-all-5.diff.gz

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

Установить патч можно следующим образом. Заходим в каталог с сырцами (он может называться, например, john-1.7.3.1). Кладем тутда файл патча. Потом там же даем команды вида:

 

# gzip -d john-1.7.3.1-all-5.diff.gz
# patch -p1 < john-1.7.3.1-all-5.diff

 

После чего заходим в каталог src и снова запускаем компиляцию как было описано выше. После этих действий John начнет работать с MD5.

 

Как пользоваться John the ripper

 

Чтобы начать подбор пароля, надо сделать файл, который будем скармливать в программу. Формат файла такой:

 

логин1:хеш1
логин2:хеш2
...
логинN:хешN

 

Логины можно указывать произвольные, они нужны только для того, чтобы запросить у John результат подбора конкретного пароля, так как John может перебирать одновременно несколько паролей. Если надо подобрать один пароль, то файл просто будет содержать одну строку, например:

 

user:98ab3290fd8efaeb016529b9c45cbde9a

 

При переборе такого файла, при нахождении пароля, программа выдаст пароль на экран и остановится.

Чтобы запустить перебор паролей, от которых известны MD5, надо дать команду вида:

 

# ./john --format=raw-MD5 --incremental:alnum password_skype.txt

 

Надо обратить внимание, что в качестве формата нужно указывать "raw-MD5" а не "MD5". Кроме того, код хеша должен быть записан с использованием строчных (т.е. маленьких) букв a, b, c, d, e, f. Если эти буквы будут большие, хеш не прочитается.

Когда перебор закончится, можно и посмотреть что там удалось найти:

 

# ./john -show password_skype.txt

 

Вот какие возможны варианты перебора:

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

 

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