Введение
В цифровой криминалистике восстановление паролей из изъятых улик часто является критически важным шагом. Эти пароли могут разблокировать зашифрованные файлы, предоставить доступ к учетным записям пользователей или дать ключевое представление о действиях подозреваемого. John the Ripper — это бесплатный инструмент для взлома паролей с открытым исходным кодом, который широко используется специалистами по безопасности и криминалистами для проверки стойкости паролей и восстановления утерянных или скомпрометированных паролей.
Эта лабораторная работа проведет вас через практическое применение John the Ripper в контексте цифровой криминалистики. Вы узнаете, как извлекать хэши паролей из различных источников, использовать John the Ripper для взлома этих хэшей и поймете важность надлежащего документирования и соблюдения цепочки сохранности (chain of custody) при криминалистических расследованиях. К концу этой лабораторной работы вы получите твердое понимание того, как интегрировать John the Ripper в ваш рабочий процесс цифровой криминалистики.
Извлечение хэшей из криминалистических образов
На этом этапе вы научитесь симулировать извлечение хэшей паролей из криминалистического образа. В реальном сценарии эти хэши извлекаются из различных источников, таких как файлы /etc/shadow, базы данных SAM или зашифрованные контейнеры. Для этой лабораторной работы мы предварительно создали файл с именем hashes.txt, содержащий примеры хэшей MD5.
Сначала давайте рассмотрим содержимое файла hashes.txt, чтобы понять формат хэшей, с которыми мы будем работать.
cat ~/project/hashes.txt
Вы должны увидеть вывод, похожий на этот, где каждая строка представляет имя пользователя, за которым следует двоеточие и соответствующий ему хэш:
user1:5f4dcc3b5aa765d61d8327deb882cf99
user2:21232f297a57a5a743894a0e4a801fc3
user3:d41d8cd98f00b204e9800998ecf8427e
user4:a87ff679a2f3e71d9181a67b7542122c
Это хэши MD5. John the Ripper может автоматически обнаруживать многие типы хэшей, но понимание формата имеет решающее значение для эффективного взлома.
Использование John the Ripper для восстановления паролей из улик
На этом этапе вы будете использовать John the Ripper для взлома хэшей, извлеченных на предыдущем шаге. Мы будем использовать простую атаку по словарю (wordlist attack), которая является распространенным методом взлома паролей, при котором John пытается сопоставить хэши со списком распространенных паролей.
Сначала давайте используем John the Ripper с файлом hashes.txt и файлом wordlist.txt. Опция --format=Raw-MD5 явно указывает John the Ripper обрабатывать хэши как необработанные MD5, хотя он часто делает это автоматически.
john --wordlist=~/project/wordlist.txt ~/project/hashes.txt
После выполнения команды John the Ripper попытается взломать пароли. Вывод покажет прогресс и любые взломанные пароли. Это может занять несколько мгновений.
Как только John завершит работу, вы можете просмотреть взломанные пароли с помощью опции --show.
john --show ~/project/hashes.txt
Вы должны увидеть вывод, похожий на этот, показывающий взломанные пароли для пользователей:
user1:password (user1)
user2:admin (user2)
user4:test (user4)
3 password hashes cracked, 1 left
Обратите внимание, что пароль user3 (который является пустым, представленным как d41d8cd98f00b204e9800998ecf8427e) может не быть взломан этим конкретным словарем, поскольку пустые пароли часто обрабатываются по-разному или требуют специальных правил.
Документирование криминалистических процедур с помощью John the Ripper
В цифровой криминалистике тщательное документирование имеет первостепенное значение. Каждый шаг, предпринятый во время расследования, включая использование таких инструментов, как John the Ripper, должен быть зафиксирован. Это обеспечивает целостность доказательств и достоверность выводов в суде.
На этом этапе вы будете имитировать документирование процесса взлома. Вам следует записать:
- Использованный инструмент: John the Ripper
- Версия: (Вы можете узнать это, выполнив команду
john --version) - Входной файл:
~/project/hashes.txt - Использованный словарь:
~/project/wordlist.txt - Взломанные пароли: Вывод команды
john --show - Дата и время: Когда был выполнен взлом.
Давайте создадим простой текстовый файл для документирования этого. Используйте nano для создания и редактирования файла с именем forensic_log.txt в вашем каталоге ~/project.
nano ~/project/forensic_log.txt
Внутри nano добавьте содержимое, похожее на следующее, заменив взломанные пароли вашими фактическими результатами:
Forensic Log - Password Cracking
Date: <Current Date and Time>
Investigator: LabEx User
Tool Used: John the Ripper
Version: <Output of john --version>
Input Hash File: ~/project/hashes.txt
Wordlist Used: ~/project/wordlist.txt
Cracking Command:
john --wordlist=~/project/wordlist.txt ~/project/hashes.txt
Cracked Passwords:
user1:password
user2:admin
user4:test
Notes:
Attempted to crack MD5 hashes using a provided wordlist.
Нажмите Ctrl+X, затем Y для сохранения и Enter для подтверждения имени файла.
После сохранения вы можете просмотреть содержимое вашего файла журнала:
cat ~/project/forensic_log.txt
Этот журнал является важной частью вашего криминалистического отчета.
Обеспечение цепочки владения взломанными паролями
Обеспечение цепочки владения (chain of custody) имеет решающее значение в цифровой криминалистике для гарантии того, что с доказательствами обращаются должным образом и они остаются допустимыми в суде. Это означает документирование того, кто имел доступ к доказательствам, когда и с какой целью. Для взломанных паролей это включает их безопасное хранение и документирование их обнаружения.
На этом этапе вы будете имитировать обеспечение безопасности взломанных паролей и документирование их обработки. В реальном сценарии вы могли бы использовать зашифрованные контейнеры или безопасные базы данных, но здесь мы просто переместим взломанные пароли в выделенный каталог "доказательства" и обновим наш журнал.
Сначала создадим каталог для хранения доказательств.
mkdir -p ~/project/evidence/cracked_passwords
Теперь перенаправим вывод команды john --show в файл в этом новом каталоге. Этот файл будет содержать только взломанные пароли.
john --show ~/project/hashes.txt > ~/project/evidence/cracked_passwords/cracked_passwords_output.txt
Проверьте, что файл был создан и содержит взломанные пароли:
cat ~/project/evidence/cracked_passwords/cracked_passwords_output.txt
Наконец, обновите ваш файл forensic_log.txt, чтобы отразить, что взломанные пароли были обеспечены. Снова откройте файл журнала:
nano ~/project/forensic_log.txt
Добавьте новый раздел в журнал, похожий на этот:
Cracked Passwords Secured:
Location: ~/project/evidence/cracked_passwords/cracked_passwords_output.txt
Date Secured: <Current Date and Time>
Сохраните и выйдите из nano (Ctrl+X, Y, Enter).
Этот процесс гарантирует, что взломанные пароли рассматриваются как доказательства, а их обработка документируется.
Представление результатов в криминалистическом отчете
Заключительным этапом любого расследования в области цифровой криминалистики является представление результатов в четком, кратком и юридически обоснованном криминалистическом отчете. Этот отчет обобщает расследование, использованные методы, найденные доказательства и сделанные выводы.
На этом этапе вы скомпилируете информацию, собранную в ходе этой лабораторной работы, в упрощенный криминалистический отчет. Этот отчет обычно включает:
- Информация о деле: Идентификатор дела, следователь, дата.
- Резюме: Краткий обзор результатов.
- Методология: Использованные инструменты и методы (например, John the Ripper, атака по словарю).
- Результаты: Конкретные взломанные пароли и связанные с ними учетные записи.
- Заключение: Краткое изложение того, что подразумевают результаты.
- Приложения: Необработанные журналы, файлы хэшей и т. д. (например,
forensic_log.txt).
Создадим новый файл с именем forensic_report.txt в вашем каталоге ~/project с помощью nano.
nano ~/project/forensic_report.txt
Добавьте содержимое, похожее на следующее, включая детали из вашего файла forensic_log.txt и взломанные пароли:
Digital Forensic Report
Case ID: LABEX-JTR-001
Investigator: LabEx User
Date of Report: <Current Date and Time>
1. Executive Summary:
This report details the recovery of user account passwords from seized digital evidence using John the Ripper. Three passwords were successfully recovered.
2. Methodology:
Password hashes were extracted from a simulated forensic image (hashes.txt). John the Ripper (version <John version>) was utilized with a custom wordlist (wordlist.txt) to perform a dictionary attack against the extracted MD5 hashes.
3. Findings:
The following user accounts and their corresponding passwords were recovered:
- user1: password
- user2: admin
- user4: test
The raw output of the cracking process and detailed procedural logs are appended in the Forensic Log (forensic_log.txt).
4. Conclusion:
The recovered passwords provide access to the identified user accounts, which may contain further relevant evidence for the ongoing investigation.
5. Appendices:
- Forensic Log: ~/project/forensic_log.txt
- Cracked Passwords Output: ~/project/evidence/cracked_passwords/cracked_passwords_output.txt
Сохраните и выйдите из nano (Ctrl+X, Y, Enter).
Наконец, просмотрите ваш полный отчет:
cat ~/project/forensic_report.txt
Это упражнение демонстрирует важность консолидации всех результатов в комплексный отчет для юридических и следственных целей.
Резюме
Поздравляем! Вы успешно завершили лабораторную работу "John the Ripper для цифровой криминалистики".
В этой лабораторной работе вы получили практический опыт работы с John the Ripper, основным инструментом в цифровой криминалистике. Вы научились:
- Имитировать извлечение хэшей из криминалистических доказательств.
- Использовать John the Ripper для восстановления паролей с помощью атаки по словарю.
- Тщательно документировать криминалистические процедуры, создавая подробный журнал ваших действий.
- Понимать и поддерживать цепочку владения для обнаруженных доказательств, в частности, взломанных паролей.
- Компилировать и представлять результаты в структурированном криминалистическом отчете.
Эти навыки имеют решающее значение для любого следователя в области цифровой криминалистики, позволяя ему эффективно анализировать доказательства, восстанавливать критически важную информацию и представлять свои выводы в юридически обоснованной форме. Продолжайте изучать другие методы взлома паролей и расширенные возможности John the Ripper, чтобы еще больше повысить свои криминалистические навыки.


