--- title: Praktika 3.2 --- <center><img src="https://i.imgur.com/ZerVsyP.png"><p></p> </center> -------- **Цель работы**: Формирование словарей паролей, пользователей и увлечений с помощью специальных утилит. **Задачи**: 1. Установить Linux без GNU. 2. Установить следующие утилиты для составления словарей: * pwdlogy. * crunch. 3. Составить словари паролей, пользователей и увлечений. 4. Оформить отчёт в виде инструкции. ------------------------ # **Ход выполнения работы**: Данная практическая работа выполняется на виртуальной машине с использованием операционной системы Ubuntu Server 22.04. ## **Установка** Для начала установим **pwdlogy**. Для установки **pwdlogy** потребуется: 1) Установить git командой `sudo apt install git`. Процесс показан на рисунке 1. <center><img src="https://i.imgur.com/CypZskd.jpg"><p></p> Рисунок 1 &ndash; Успешная установка git</p></center> 2) Склонировать репозиторий с утилитой командой `git clone https://github.com/tch1001/pwdlogy`. Процесс показан на рисунке 2. <center><img src="https://i.imgur.com/MEE6jhu.jpg"><p></p> Рисунок 2 &ndash; Успешное склонирование репозитория</p></center> 3) Перейти в репозиторий командой `cd pwdlogy`. 4) Запустить утилиту командой `sudo python3 pwdlogy.py`. Переход и успешный запуск утилиты показан на рисунке 3. <center><img src="https://i.imgur.com/IDJuLTS.jpg"><p></p> Рисунок 3 &ndash; Успешное установка утилиты pwdlogy</p></center> Далее установим **crunch**. Для установки **crunch** потребуется: 1) Установить утилиту командой `sudo apt install crunch`. Процесс установки утилиты показан на рисунке 4. <center><img src="https://i.imgur.com/XRx1U8M.jpg"><p></p> Рисунок 4 &ndash; Установка утилиты crunch</p></center> 2) Проверить версию утилиты командой `crunch -version`. Проверка версии утилиты показана на рисунке 5. <center><img src="https://i.imgur.com/c8KK7xN.jpg"><p></p> Рисунок 5 &ndash; Проверка версии утилиты<p></p></center> Далее для достижения целей нам понадобиться текстовый редактор. Установим, например, инструмент **nano**. Выполним команду`sudo apt install nano`. Процесс выполнения команды показан на рисунке 6. <center><img src="https://i.imgur.com/wiLp7N6.jpg"><p></p> Рисунок 6 &ndash; Установка инструмента nano<p></p></center> --- ## Составление словарей **pwdlogy** В директории **pwdlogy** есть несколько входных файлов: * keywords.txt (для ключевых слов); * commonPhrases.txt (для обычных фраз); * birthday.txt (для дат). Посмотрим файл с настройками командой `sudo nano settings_default.conf` . Файл с настройками показан на рисунке 7. <center><img src="https://i.imgur.com/cq4y6kG.jpg"><p></p> Рисунок 7 &ndash; Файл с настройками<p></p></center> Из лекции нам известно то, что : **Birthday.txt**: здесь мы можем указать дату рождения как самой цели, так и ближайших родственников, любимого человека, питомца или знакового события. **Keywords.txt**: здесь мы указываем слова, которые могут оказаться каркасом пароля – имена, фамилии, отчества, хобби, никнеймы, клички. Предположим, что наша цель - Антон, который любит машины и футбол, программирует на питоне, постоянно ест бургеры и шаурму. Мы знаем дни рождения его родственников и день, когда он сам родился. Файл с **датами** показан на рисунке 8. <center><img src="https://i.imgur.com/mXt2aCF.jpg"><p></p> Рисунок 8 &ndash; Файл с датами<p></p></center> Файл со **словами** показан на рисунке 9. <center><img src="https://i.imgur.com/655d9W3.jpg"><p></p> Рисунок 9 &ndash; Файл со словами<p></p></center> Приступаем к генерации словаря. Для этого запускаем утилиту командой `sudo python3 pwdlogy.py`. Затем передаем утилите команду start. По окончанию генерации увидим строку =====DONE===== и утилита завершит свою работу. Все сгенерированные варианты возможного пароля расположились в файле gen.txt. Посмотрим сколько строк получилось в словаре командой `grep -c $ gen.txt`. В моем случае вышло 10 298 660 строк. Наглядно количество строк показано на рисунке 10. <center><img src="https://i.imgur.com/T4xEM1r.jpg"><p></p> Рисунок 10 &ndash; Количество строк<p></p></center> Можем посмотреть части содержимого словаря утилитами tail,sed,head.Части содержимого словаря показаны на рисунке 11. <center><img src="https://i.imgur.com/AsWT2yF.jpg"><p></p> Рисунок 11 &ndash; Часть содержимого словаря<p></p></center> --- **crunch** Допустим,нам дали задание, что нам нужно подобрать номер телефона цели. Мы смогли узнали логин или почту жертвы и при попытке восстановления пароля от сервиса, нам говорят, что код подтверждения будет направлен в СМС по номеру телефона, где все цифры скрыты, кроме последних 4. Давайте составим словарь возможных номеров телефона командой crunch 10 10 1234567890 -t +79@@@@@8759 > phone1.txt. Процесс показан на рисунке 12. <center><img src="https://i.imgur.com/GUCsFzk.jpg"><p></p> Рисунок 12 &ndash; Файл phone1.txt<p></p></center> --- **Вывод** : в ходе выполнения практической работы были изучены способы сбора метаданных, составления словарей для подстановки их в методы перебора паролей.