---
# System prepended metadata

title: Praktika 3.2

---

---
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>
    
 ---   
**Вывод** : в ходе выполнения практической работы были изучены способы сбора метаданных, составления словарей для подстановки их в методы перебора паролей.