![](https://i.imgur.com/NxSyg9x.png) # Цель практической работы Необходимо выполнить подбор логина и пароля для развёрнутого SSH-сервера с помощью инструмента под названием SSHprank. Предварительно составить словари с предполагаемыми логинами и паролями с помощью pwdlogy и crunch. Также, необходимо изучить как утилита masscan работает совместно с утилитой nmap. # 1 Развёртывание SSH-сервера Запуск машины, на которой будет распалагаться SSH-server. Изначально пробуем скачать метапакет ssh, но в последствии обнаружим, что всё уже скачено. Проверяем статус ssh server – видно, что он работает исправно. ![](https://i.imgur.com/e3BpDBL.png) Скачиваем метапакет SSH ![](https://i.imgur.com/v9UKqtV.png) Проверяем статус SSH-сервера ![](https://i.imgur.com/MF79I3F.png) Переименование машины с SSH-сервером Вывод ip адреса машины, для дальнейшего подключения к ней с другой машины. ![](https://i.imgur.com/ozLSYcU.png) Вывод ip адреса машины Далее выполним подключение к SSH-серверу с другой машины(debian@PC1). ![](https://i.imgur.com/l2AUGbG.png) Подключение к SSH-серверу # 2 Установка Для начала выполним вывод ip адреса машины. ![](https://i.imgur.com/53egpD5.png) Вывод ip адреса машины debian@PC1 Далее, для дальнейшего удобства выполним подключение к ней с помощью Putty. ![](https://i.imgur.com/bRFW3tS.png) Подключение через Putty Установим пакетный менеджер для третьей версии python. ![](https://i.imgur.com/wkL1nfK.png) Установка пакетного менеджера python 3 Переход в директорию с временными файлами и клонирование репозитория с sshprank. Далее просмотрим её содержимое. ![](https://i.imgur.com/uugcDXe.png) Переход в директорию с временными файлами и клонирование репозитория с sshprank. С помощью пакетного менеджера установим необходимые пакеты данных. ![](https://i.imgur.com/Vuo6DJ2.png) Установка необходимых пакетов данных Далее выполним скрипт для просмотра справочной информации про SSHprank. ![](https://i.imgur.com/9l8Jg22.png) Вывод справочной информации про SSHprank # 3. Сканирование Программа sshprank напрямую не поддерживает диапазоны, хотя чуть позже я покажу, как всё-таки можно указывать подсети для сканирования с помощью sshprank. Поэтому для sshprank нужно создать список хостов. ![](https://i.imgur.com/tY0uKmb.png) Создание файла со списком хостов сети. Сканирование сети по 22 порту, чтобы узнать на каких хостах работает SSH server. ![](https://i.imgur.com/0o8yXvO.png) Cканирование своей сети (порт 22) # 4.1 Составление словарей (Crunch) Для составления списка паролей и логинов будем использовать утилиту crunch. Для упрощения задачи, предположим, что мы выяснили ФИО предполагаемого user и что пароль состоит только из цифр и предположительно имеет длину 4 цифр. ![](https://i.imgur.com/frsRB6G.png) Генерация предполагаемого списка паролей. ![](https://i.imgur.com/xO42LpV.png) Вывод части информации из файла Теперь необходимо составить предполагаемый список с логинами, учитывая нашу информацию о его ФИО. Скорее всего, данный пользователь использует вспомогательный или же разделительные символы, которые нам также необходимо учитывать при подборе логина. ![](https://i.imgur.com/aJBsYEx.png) Генерация предполагаемого списка логинов ![](https://i.imgur.com/ay74wn3.png) Вывод части информации из файла # 4.2 Составление словарей (Pwdlogy) Для составления списка паролей и логинов будем использовать утилиту pwdlogy. Для упрощения задачи, предположим, что мы выяснили ФИО предполагаемого user и что пароль состоит только из цифр и предположительно имеет длину 4 цифр. ![](https://i.imgur.com/IYKZMLA.png) Скачивание репозитория pwdlogy Запишем в keywords предполагаемые цифры которые могут использоваться в пароле. Файлы commonPhase и birthday оставим пустыми. ![](https://i.imgur.com/vwM7T6Y.png) Запись в файл keywords предполагаемых цифр, используемых в пароле. ![](https://i.imgur.com/TOZIfN4.png) Запуск генерации словаря с предполагаемыми паролями. ![](https://i.imgur.com/JGMeM6r.png) Просмотр словаря с предполагаемыми паролями gen.txt. Далее переименовываем файл на genParol.txt Аналогичным образом выполняем действия для составления словаря с предполагаемым логином. ![](https://i.imgur.com/9qmREBz.png) Запись в файл keywords предполагаемых логинов, используемых пользователем ![](https://i.imgur.com/Np5Ag6f.png) Запуск генерации словаря с предполагаемыми логинами. ![](https://i.imgur.com/NwSF3TE.png) Просмотр словаря с предполагаемыми логинами gen.txt. Далее переименовываем файл на genLogin.txt # 5.1 Подбор логина и пароля к SSH с помощью утилиты (crunch) Составив словари, с помощью утилит pwdlogy и crunch с предполагаемыми паролями и логинами,выполним запуск SSHprank для одного найденного хоста. Далее для ускорения добавим флаг “-e” для того, чтобы скрипт закончил свою работу после первой успешной авторизации. ![](https://i.imgur.com/UQw9P5P.png) Подбор логина и пароля ![](https://i.imgur.com/e5Ml7sy.png) Просмотр файла, в который записываются подобранный логин и пароль. # 5.2 Подбор логина и пароля к SSH с помощью утилиты (Pwdlogy) Аналогичным образом выполним все те же действия, но уже для словарей pwdlogy. ![](https://i.imgur.com/uPM7TWo.png) Подбор пароля и логина. Просмотр файла, в который записываются подобранный логин и пароль. # 6. MASSCAN Перейдем к сканированию сети с помощью массового сканера IP портов. Для выполнения данной работы нам необходимо установить утилиту masscan и все необходимые пакеты для её исправной работы. ![](https://i.imgur.com/Y36ghsK.png) Обновление базы данных пакетов ![](https://i.imgur.com/3gWIAKt.png) Установка масскан(уже был установлен) ![](https://i.imgur.com/B4WLf3n.png) Установка необходимых пакетов для работы masscan После выполнения сканирования сети, увидим, что на SSH-сервере утилита обнаружила два открытых порта. ![](https://i.imgur.com/0mlFKh4.png) Результат сканирования портов # 7. Masscan совместно с nmap В данном пункте практической работы, нам необходимо произвести сканирование при помощи masscan совместно с Nmap 10 различными аргументами. Флаг --ttl - Установить время-жизни пакета. ![](https://i.imgur.com/uAXaOGN.png) Флаг -iL - Задаёт адреса, которые нужно просканировать(файл hosts.txt) ![](https://i.imgur.com/imXP188.png) Флаг -max-rate - Отправлять пакеты не быстрее чем <число> в секунду ![](https://i.imgur.com/VfqZbaq.png) Флаг -vv - Увеличение уровня вербальности (используйте -vv/-vvv или более для увеличения эффекта) ![](https://i.imgur.com/eIbwpEP.png) Флаг --packet-trace - Показать все отправленные и полученные пакеты ![](https://i.imgur.com/wFtEP8w.png) ![](https://i.imgur.com/HHOjuk3.png) Флаг -oX - Вывод сканирования в файл Список XML формат ![](https://i.imgur.com/MNNUUDI.png) Флаг -e - Использовать указанный интерфейс ![](https://i.imgur.com/WT9TNU7.png) Флаг --connection-timeout - Время в секундах истечения времени TCP подключения при ожидании данных баннера с порта. ![](https://i.imgur.com/5UvfTEJ.png) Флаг -g - Использовать данный номер порта (Подмена порта при сканировании) ![](https://i.imgur.com/cqSu3Bm.png) Флаг -S -Подмена ip адреса ![](https://i.imgur.com/5RnNJyV.png) Вот несколько функций использования masscan совместно с nmap. Более подробный список всех опций приведен ниже. ![](https://i.imgur.com/bZl5kyT.png) ![](https://i.imgur.com/L9Hrg6s.png) # Заключение Таким образом, в результате выполнения практической работы был развёрнут SSH-сервер.Выполнен подбор логина и пароля для развёрнутого SSH-сервера с помощью инструмента под названием SSHprank. Предварительно составлены словари с предполагаемыми логинами и паролями с помощью pwdlogy и crunch. Также, было изучено как утилита masscan работает совместно с утилитой nmap.