John the Ripper - проверка надежности пароля в LinuxПодписка на Комментарии к "John the Ripper - проверка надежности пароля в Linux"

Аватар zenon

John the Ripper - средство аудита слабых паролей.
Тип программы: Взлом паролей.
Разработчик: Alexander Peslyak.
ОС: Кроссплатформенное.
Последняя версия: 1.7.8 (22 июня 2011 года).
Лицензия: GNU General Public License.
Сайт: http://www.openwall.com/john

  • John The Ripper — свободная программа, предназначенная для восстановления паролей по их хешам (контрольным суммам). Основное назначение программы — аудит слабых паролей в UNIX системах. Программа также может выполнять аудит NTLM хешей (Windows NT/2000/XP LM), Kerberos, и др. Существуют реализации под различные ОС. Весьма популярна из-за поддержки большого количества хешей, автораспознавания хеша и настраиваемого взломщика. Также поддерживает модули, предоставляющие поддержку MD4 хешей, LDAP и MySQL паролей. Несколько дополнительных типов хэшей поставляется в составе дополнительных обновлений.
  • Как и любое другое средство проверки безопасности Джон может быть использован не только для проверки стойкости своих собственных паролей, но и для взлома чужих. Мы же пока озаботимся укреплением безопасности собственных систем.

Установка в debian/ubuntu осуществляется стандартным методом:

$ apt-get install john
  • Два слова о паролях.
  • В Linux пароли шифруются в алгоритме DES (более подробно например тут). Пароли в большинстве случаев хранятся в следующих файлах:

    /etc/passwd
    /etc/shadow

    Теперь посмотрим на содержимое passwd:
    root:9IDv/CqdFuqWo:0:0:System Administrator:/root:/bin/csh
    john:653MWdpUGN3BM:66:1:John Nikolsen, 2-nd west:/home/john:/bin/sh

    Давайте разберемся на примере с пользователем "john":
    john:653MWdpUGN3BM:66:1:John Nikolsen, 2-nd west:/home/john:/bin/sh
    1. john – имя пользователя.
    2. 653MWdpUGN3BM – пароль зашифрованный в DES.
    3. 66:1 – номер пользователя в системе: номер рабочей группы (у root всегда 0:0).
    4. John Nikolsen, 2-nd west – информация о пользователе (обычно Имя, Фамилия: адрес).
    5. /home/john – Домашний каталог.
    6. /bin/csh – shell.
  • Теперь о самом Джоне и как его использовать.
    • Проверка паролей по словарю:
    • Как известно, в Linux используется т.н. теневое хранение паролей, т.е. в файле /etc/passwd пароли отсутствуют, зато парольные хэши можно найти в /etc/shadows. Создадим комбинированный файл с которым сможет работать Джон:

    $ 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 — все возможные символы
  • После запуска Джона в каталоге /root/.john появляются два файла john.pot и john.log. Если Джон не запускается вторично их можно удалить.
  • Если ваш пароль оказался по зубам John the Ripper, значит ваш пароль плох и его требуется сменить. Чтобы новый пароль не был бы таким же плохим специалисты рекомендуют следующие правила:

    • Пароль должен содержать не менее 10 символов.
    • Буквы должны быть и в верхнем, и в нижнем регистрах.
    • В пароле должны присутствовать числа.
    • Используйте спецсимволы.
    • Не используйте пароли в виде обычных слов.
  • Добавить комментарий