Как пользоваться John the Ripper для Linux для взлома паролей
John the Ripper является средством аудита слабых паролей. Как и любое другое средство проверки безопасности Джон может быть использован неблагонадежными гражданами не только для проверки стойкости своих собственных паролей, но и для взлома чужих. Мы же пока озаботимся укреплением безопасности собственных систем.
Установка John the Ripper
Установка осуществляется стандартным методом:
sudo apt-get install john
Энтузиасты могут собрать программу из исходников самостоятельно, посетив страницу загрузки исходного кода http://www.openwall.com/john/.
Проверка паролей по словарю
Как известно, в Linux используется т.н. теневое хранение паролей, т.е. в файле /etc/passwd пароли отсутствуют, зато парольные хэши можно найти в /etc/shadows. Создадим комбинированный файл с которым сможет работать Джон:
$ sudo unshadow /etc/passwd /etc/shadow > passfile.txt
Теперь нам потребуется словарный файл с паролями. Несмотря на громкое название, он представляет собой обычный текстовой файл со списком возможных паролей. Такие словари легко ищутся поисковиками. Запускаем процесс подбора:
$ john -wordlist:password.lst passfile.txt
Loaded 2 passwords with 2 different salts (FreeBSD MD5 [32/64])
admin (root)
t-bone (khess)
guesses: 2 time: 0:00:00:00 100% c/s: 4408 trying: t-bone
Почти моментально Джон подобрал пароли к root (пароль admin) и к khess (пароль t-bone). Подбор по словарю отличается высокой скоростью работы, но низкой эффективностью, если пользователь использует случайный пароль, а не "словарный". Для таких случаев полезно использовать метод т.н. грубой силы (brute force) при котором перебираются все возможные символы в пароле. Такой метод эффективен для несловарных паролей небольшой длины (как правило, до 8 символов). Приступим.
John the Ripper в режиме Brute Force
Очевидно, что никакие дополнительные файлы искать уже не нужно и можно сразу перейти к подбору:
$ john -incremental:lanman passfile.txt
Loaded 2 passwords with 2 different salts (FreeBSD MD5 [32/64])
guesses: 0 time: 1:04:04:08 (3) c/s: 10927 trying: gmugoky - gmugok2
guesses: 0 time: 1:09:25:10 (3) c/s: 10929 trying: SAgof2 - SAgofs
guesses: 0 time: 1:10:21:23 (3) c/s: 10930 trying: topoua b - topoua f
В качестве параметра -incremental можно указывать:
alpha — только буквы
digits — только цифры
lanman — буквы, цифры и некоторые спецсимволы
all — все возможные символы
Выводы
Если ваш пароль оказался по зубам John the Ripper, значит ваш пароль плох и его требуется сменить. Чтобы новый пароль не был бы таким же плохим специалисты рекомендуют следующие правила:
- Пароль должен содержать не менее 10 символов.
- Буквы должны быть и в верхнем, и в нижнем регистрах.
- В пароле должны присутствовать числа.
- Используйте спецсимволы.
- Не используйте пароли в виде обычных слов.
По материалам журнала Admin Magazine.
Комментарии
pomodor
1 сентября, 2011 - 19:15
А теперь бочка дегтя. В некоторых низкокачественных ;) дистрибутивах хотя для хранения паролей и используется хэш SHA512, но John the Ripper собран без поддержки SHA512. Так, например, пользователи Убунты смогут насладиться лишь записью "No password hashes loaded", после чего пакет можно смело сносить. :)
Есть два решения проблемы. Собрать JTR самому, используя соответствующую заплатку отсюда: http://openwall.info/wiki/john/patches. Либо использовать специализированные дистрибутивы. Всем рекомендую прекраснейший BackTrack5.
pomodor
1 сентября, 2011 - 19:39
Джон выявил низкую стойкость тестового пароля abc :)
root@bt:~# useradd hello
root@bt:~# passwd hello
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
root@bt:~# cp /etc/shadow pass.txt
root@bt:~# /pentest/passwords/john/john -incremental:alpha pass.txt
Loaded 2 password hashes with 2 different salts (generic crypt(3) [?/32])
abc (hello)
Session aborted
root@bt:~#
Dmitry
2 сентября, 2011 - 16:03
Полезная статья. А можно использовать John the Ripper для проверки стойкости любых паролей? Скажем так, я ввожу свой пароль, допустим от ящика, сайта, чего угодно, в него, а он своими методами пытается честно его подобрать, "не подглядывая" в ответ.
pomodor
2 сентября, 2011 - 16:19
Да, только следует учитывать, что под методами понимается только хэширование (DES, MD5, SHA и т.д.). John берет слово из словаря или генерирует случайным образом, находит хэш и сравнивает с хэшем подбираемого пароля. В этом вся суть программы. Но в комбинации с другим софтом JTR используется для "взлома" чего угодно. Например, JTR может работать в связке с Aircrack для подбора паролей на WiFi.
Чингачгук
19 ноября, 2012 - 15:22
В Bt5 r3 дистрибутиве не запускается gohn riper ,в чем может быть проблема ?
pomodor
19 ноября, 2012 - 15:36
Что значит не запускается? Если хотите получить помощь, то предоставьте больше информации.
Чингачгук
13 мая, 2013 - 19:49
Забыл указать что использую BackTrack 5R3-GNOME-64.
Чингачгук
13 мая, 2013 - 19:55
Использую BackTrack 5R3-GNOME-64,скажите пожалуйста,хендшейк перехвачен,как задействовать Aircrack и John,какую нужно ввести команду и как я понимаю затем перетащить Cap файл в окно Aircrack.
pomodor
13 мая, 2013 - 20:16
John + Aircrack уже не модно. Модно Pyrit. Чо да как — здесь.
Чингачгук
13 мая, 2013 - 21:16
Но,всё таки какую команду нужно?Если такую,то выдаёт какую то ошибку.
:~# /pentest/passwoкуrd/jtr/john --stdout --incremental:all | aircrack-ng -b 00:19:5B:52:AD:F7 -w - /tmp/wpa2*.cap
pomodor
13 мая, 2013 - 21:43
Какую именно ошибку?
Чингачгук
14 мая, 2013 - 06:29
Вот такую
fopen (dictionary)failed:No such file or directory
No file to crack specified.
aircrack-ng --help" for help.
aircrack-ng:unrecognized option'--stdout'
Комментировать