Утилита John the Ripper (или просто john
) — популярная программа с открытым исходным кодом для аудита и восстановления паролей, доступная в ОС Linux. Основное назначение инструмента — выявление слабых паролей путем проверки различных комбинаций символов на соответствие заданному хэшу. Однако, утилиту John the Ripper также можно использовать и для взлома паролей.
В этой статье мы расскажем, как взломать хэши паролей из файла /etc/shadow
с помощью команды john
в Linux.
Важно: команду john
можно применять как в законных, так и в незаконных целях. Эта статья несет исключительно обучающий характер.
Содержание:
- Установка john в Linux
- Просмотр файлов /etc/shadow и /etc/passwd
- Копирование содержимого файлов /etc/shadow и /etc/passwd
- Объединение файлов shadow.txt и passwd.txt с помощью unshadow
- Взлом хэшей паролей с помощью john
- Просмотр взломанных паролей
- Выводы
Установка john в Linux
По умолчанию утилита John the Ripper предустановлена в дистрибутиве Kali Linux. Если Вы используете другой дистрибутив Linux, выполните следующую команду для установки инструмента.
Для Debian / Ubuntu:
Для Fedora:
Для Arch Linux:
Просмотр файлов /etc/shadow и /etc/passwd
Файл /etc/shadow
используется для хранения хэшей паролей и другой конфиденциальной информации, связанной с данными учетных записей пользователей. Каждая строка этого документа представляет собой отдельную учетную запись и состоит из следующих полей, разделенных двоеточиями:
- имя пользователя;
- зашифрованный пароль (хэш);
- дата последней смены пароля;
- количество дней, которое должно пройти, прежде чем можно будет изменить пароль пользователя;
- максимальный срок действия пароля;
- количество дней до истечения срока действия пароля, в течение которых пользователя предупреждают о необходимости его изменить;
- количество дней после истечения срока действия пароля до отключения учетной записи пользователя;
- дата, когда учетная запись будет отключена.
Чтобы просмотреть содержимое этого файла, выполните в терминале следующую команду:
Читайте также: 15 лучших дистрибутивов Linux, ориентированных на безопасность.
Важно: для работы с файлом /etc/shadow
нужны привилегии суперпользователя.
Файл /etc/passwd
содержит в текстовом формате список пользовательских учетных записей. Как и в /etc/shadow
, каждая строка этого документа представляет собой отдельный аккаунт и состоит из полей, разделенных двоеточиями:
- имя пользователя;
- заполнитель для зашифрованного пароля (обычно
x
или*
); - идентификатор пользователя (UID);
- идентификатор основной группы пользователя (GID);
- поле комментария или описания (часто пустое);
- домашняя директория пользователя;
- оболочка пользователя по умолчанию.
Чтобы просмотреть содержимое этого файла, выполните в терминале следующую команду:
В данных файлах у нас есть информация о двух пользователях — root
и user
. В дальнейшем мы будем взламывать хэши паролей этих аккаунтов.
Копирование содержимого файлов /etc/shadow и /etc/passwd
Чтобы во время взлома паролей случайно не повредить файлы /etc/shadow
и /etc/passwd
, скопируем их содержимое в новые документы shadow.txt
и passwd.txt
, соответственно:
Далее будем работать с только что созданными файлами.
Объединение файлов shadow.txt и passwd.txt с помощью unshadow
Утилита unshadow
в Linux используется для объединения содержимого двух важных системных файлов /etc/passwd
и /etc/shadow
в один. Основное назначение этой команды — подготовить данные для дальнейшего анализа или взлома паролей.
Чтобы объединить содержимое shadow.txt
и passwd.txt
, выполним следующую команду:
Теперь просмотрим содержимое файла john-input
, в который мы записали объединенные строки файлов shadow.txt
и passwd.txt
:
Читайте также: Как шифровать и расшифровывать файлы и директорию с помощью Tar и OpenSSL.
Взлом хэшей паролей с помощью john
Утилита john
взламывает пароли методом грубой силы (brute force). То есть, программа перебирает все возможные комбинации символов, пока не найдет совпадение.
Так как метод грубой силы может занять слишком много времени, лучше предоставить утилите john
так называемый wordlist
— список или словарь, содержащий пароли. Он поможет немного сократить время подбора паролей. Мы будем использовать словарь rockyou.txt
(Вы можете найти и скачать этот документ в Интернете). Этот файл нужно передать команде john
при помощи опции --wordlist
.
Для взлома паролей пользователей root
и user
применим следующую команду:
Теперь остается только ждать, пока утилита подберет нужные пароли.
Просмотр взломанных паролей
После завершения взлома хэшей можно узнать пароли, которые за ними скрывались. Для этого выполним следующую команду:
В этой команде параметр --show
выводит на экран взломанные пароли, найденные в указанном файле (в нашем случае john-input
).
Выводы
Утилита John the Ripper является полезным инструментом для выявления слабых или скомпрометированных паролей. Помните, что к ее использованию следует подходить ответственно и не нарушать с ее помощью законы.
Спасибо за время, уделенное прочтению статьи!
Если возникли вопросы — задавайте их в комментариях.
Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!
Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco, курсы по кибербезопасности, полный курс по кибербезопасности, курсы DevNet / DevOps (программируемые системы) от Академии Cisco, курсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).
Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!
- Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
- Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
- Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
- Проведем вечерние онлайн-лекции на нашей платформе.
- Согласуем с вами удобное время для практик.
- Если хотите индивидуальный график — обсудим и реализуем.
- Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
- Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
- отредактировать или создать с нуля резюме;
- подготовиться к техническим интервью;
- подготовиться к конкурсу на понравившуюся вакансию;
- устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.