# Практика 4 ###### tags: `MiSD`, `MIREA`, `OSINT` ## Цель работы Получить навыки работы с ПО для сканирования сети и брут-форс утилит. Применение ранее полученных навыков по работе с Pwdlogy и crunch. ## Выполнение работы >Разные скриншоты терминала, так как что-то выполнял из консоли VirtualBox, а что-то из консоли MobaXTerm через SSH, из ВМ неудобно копировать. ### Установка ПО Установка Python и пакетного менеджера pip на ВМ Ubuntu Server 20.04: ``` sudo apt install python3-pip git clone https://github.com/noptrix/sshprank cd sshprank ``` Скриншоты установки: ![](https://i.imgur.com/fVvUgSf.png) ![](https://i.imgur.com/zjBZt3p.png) #### Сервер SSH В качестве цели для использования утилит использую свой домашний сервер на Ubuntu 22.04. Служба активна, так как постоянно используется в локальной сети: ![](https://i.imgur.com/t9fKYci.png) Проба работы SSHPrank с реальными данными: ![](https://i.imgur.com/p3LbQJD.png) Для наглядности добавлю в словари перебора реальные данные для входа на сервер. Работа sshprank в Verbose-режим (с отображением логов): ![](https://i.imgur.com/zfdad7y.png) Как можно заметить, логин и пароль были выявлены. ![](https://i.imgur.com/aMojZf8.png) Сканирую домашнюю сеть на наличие открытых портов SSH, можно увидеть мой сервер и данную ВМ: ![](https://i.imgur.com/9wJh3Zf.png) Просканирую все открытые порты на сервере: ![](https://i.imgur.com/h7jLywy.png) Обнаружены все открытые порты на моем домашнем сервере. Здесь большая часть это docker-контейнеры, есть smb, http и https для доступа к контейнерам по reverse-proxy из внешней сети. Сканирование сети на наличие открытых портов 22,80,2222,8080: ![](https://i.imgur.com/IIM6iJp.png) #### Masscan с NMAP Для просмотра всех доступных nmap-совместимых команд: ``` masscan --nmap ``` Также есть [Инструкция](https://github.com/robertdavidgraham/masscan) Несколько примеров выполняемых команд: 1. сканирование 80 портов всех устройств домашней сети ``` sudo masscan -p80 192.168.31.0/24 --rate=5000 ``` 2. сканирование и поиск баннеров ``` sudo masscan --banners --ports 0-65535 192.168.31.228 ``` 3. использование определенного сетевого интерфейса ``` sudo masscan -e enp0s3 --ports 0-65535 192.168.31.228 ``` 4. показывать только открытые порты ``` sudo masscan --open --ports 0-65535 192.168.31.228 ``` 5. демонстрировать все отправленные и полученные пакеты ``` sudo masscan --packet-trace --ports 0-65535 192.168.31.228 ``` 6. установить произвольные TTL на пакеты ``` sudo masscan --ttl 60 --ports 0-65535 192.168.31.228 ``` 7. изменить IP-адрес отправителя ``` sudo masscan --source-ip 192.168.31.230 --ports 0-65535 192.168.31.228 ``` 8. исключить адрес(а) из выборки ``` sudo masscan --exclude 192.168.31.228 --ports 0-65535 192.168.31.0/24 --rate=500000 ``` 9. изменить порт отправки ``` sudo masscan --source-port 8080 --ports 0-65535 192.168.31.0/24 ``` 10. сохранять результаты поиска в файл logs.txt ``` sudo masscan --ports 0-65535 192.168.31.0/24 --output-filename logs.txt ``` ### Ответы на вопросы 1. **Что такое SSHPrank?** Утилита для перебора и, соответсвенно, взлома SSH. 2. **Какие основные функции SSHPrank?** Перебор по адресам, по учетным данным, поиск открытых SSH портов и их доступности, логирование и сохранение найденных портов в любом статусе. 3. **Как установить SSHPrank на Linux?** С помощью менеджера пакетов Python. 4. **Как создать файл конфигурации для SSHPrank?** Можно создать словари учетных данных паролей и логинов и разместить в директории с исполняемым файлом, затем указать с флагами -u -p. 5. **Как запустить SSHPrank в интерактивном режиме?** С помощью режима Verbose (-v). 6. **Как использовать ключ -s для атаки на сервер SSH?** Ключ -s устанавливает число потоков для параллельного взлома службы 7. **Как использовать ключ -r для атаки на список IP-адресов?** Генерирует список случайных адресов и пытается их взломать. `./sshprank.py -r 10 -m!` 8. **Как использовать ключ -I для чтения списка IP-адресов из файла?** `./sshprank -l sshds.txt -u admin -P pass.txt` 9. **Какие параметры можно использовать в файле конфигурации SSHPrank?** Можно указывать списки паролей и логинов, их комбинаций. С помощью `-C` можно также исполнять команды по списку. 10. **Какие риски существуют при использовании SSHPrank для атаки на сервер SSH?** Получить блокировку по количесвту неудачных входов на свой адрес. Спровоцировать смену учетных данных на хосте. Риск быть обнаруженым.