Содержание:
Использование Hydra, Ncrack и других инструментов для брутфорса поначалу кажется запутанным и даже может разочаровать. Для облегчения задачи брутфорса давайте поговорим об автоматизации и оптимизации брутфорс-атак потенциально уязвимых сервисов, таких как SMTP, SSH, IMAP и FTP, обнаруженных с помощью Nmap — популярной утилиты для сетевого сканирования.
BruteSpray, разработанный Якобом Роблесом и Шейн Янг, представляет собой Python-скрипт, способный обрабатывать результаты сканирования Nmap, и автоматизировать атаки обнаруженных служб с помощью Medusa — популярного инструмента для брутфорса. BruteSpray — крайне необходимое звено, которое объединяет сканирование с помощью Nmap и брутфорс-атаки.
Шаг 1. Установите BruteSpray и Medusa
Более старую версию BruteSpray можно найти в репозиториях Kali. Чтобы избежать возможных конфликтов и путаницы, любую версию BruteSpray, которая может быть уже установлена у вас в системе, следует удалить. Воспользуйтесь для этого командой:
apt-get autoremove brutespray
Затем клонируйте репозиторий BruteSpray.
git clone https://github.com/x90skysn3k/brutespray.git
Затем с помощью команды cd перейдите в папку «brutespray» и используйте pip — пакетный менеджер Python, чтобы установить все зависимости BruteSpray. Эта команда потребуется для установки нужных зависимостей BruteSpray, где аргумент -r указывает, что нужно установить все, что указано в файле «requirements.txt».
cd brutespray/ pip install -r requirements.txt
И, наконец, установите Medusa. Это можно сделать, используя следующую команду:
apt-get install medusa
Параметр —help можно использовать для проверки того, что BruteSpray была нормально установлена, а заодно просмотреть доступные параметры.
./brutespray.py --help
Вот и все, что касается скачивания BruteSpray и установки ее зависимостей — никаких изменений или дополнительного конфигурирования не требуется.
Другие предварительные требования, которые нужно соблюсти для проработки этой статьи — это сам Nmap, общее понимание того, как работает Nmap, а также простой вордлист для «угадывания» пароля. Nmap можно установить из репозиториев с помощью команды ниже, если он у вас еще не установлен:
apt-get install nmap
Вот тот вордлист , который мы используем в этой статье. Его можно скачать с помощью команды, приведенной ниже. Разумеется, вы можете использовать любой вордлист, который хотите, найденный в Интернете или сгенерированный с помощью специальных инструментов для создания вордлистов, типа Mentalist, CeWL и Crunch.
wget ' thttps://raw.githubusercontent.com/tokyoneon/1wordlist/master/1wordlist2rulethem%40ll.txt'
Шаг 2. Сгенерируйте файлы с результатами работы Nmap
Для работы BruteSpray требуется файл с результатами работы Nmap (его вывода). Такие файлы могут быть сгенерированы с помощью указания аргументов -oX или -oG для команды Nmap, как показано на приведенном ниже скриншоте. Аргумент -sV означает, что Nmap будет проверять открытые порты для того, чтобы определить службу и ее версию.
Использование аргумента -oG здесь наиболее важно. Он сохраняет вывод Nmap в локальном файле в формате, который легко можно просматривать с командой grep. Это позволяет BruteSpray эффективно проверять сервисы и порты, которые удастся обнаружить на целевом сервере. Аналогичным образом аргумент -oX сохраняет вывод команды Nmap в формате XML, который также поддерживается BruteSpray, но менее удобочитаем для человека.
nmap -sVTU -p ports TargetServer -oG filename.gnmap
Только что созданный .gnmap можно просматривать с помощью команды cat.
cat filename.gnmap
Обратите внимание на открытые порты, обнаруженные Nmap, так как теперь эти службы доступны для автоматизированных брутфорс-атак.
Шаг 3. Автоматизация брутфорс-атак с помощью BruteSpray
В настоящее время по умолчанию BruteSpray поддерживает почти два десятка служб. Поддерживаемые службы можно просмотреть с помощью аргумента —modules. Этот список включает в себя SSH, FTP, Telnet, VNC, MsSQL, MySQL, PostgreSQL, RSH, IMAP, NNTP, pcAnywhere, POP3, rexec, rlogin, SMBNT, SMTP, SVN, vmauthd и SNMP.
./brutespray.py --modules
1. Интерактивный режим
Для включения интерактивного режима можно использовать аргумент -i.
./brutespray.py --file filename.gnmap -i
Просто следуйте подсказкам и в итоге начнется брутфорс-атака.
2. Указание конкретных служб в качестве цели
Таргетирование на одной службе может быть выполнено с помощью использования аргумента —service и указания протокола. Если аргумент —username не определен при использовании —service, то BruteSpray будет использовать список имен пользователей по умолчанию, который находится по адресу wordlist/ssh/user. Этот список имен пользователей можно изменить в любой момент.
./brutespray.py --file filename.gnmap --service ssh
3. Составление кастомного вордлиста и списка имен пользователей (опционально)
Существуют небольшие встроенные вордлисты и списки имен пользователей, которые используются автоматически, когда происходит брутфорс какой-нибудь конкретной службы. Например, файл «password», расположенный в каталоге wordlist/ssh/, содержит пароли, используемые при брутфорсе SSH-службы. Каждая поддерживаемая служба имеет свой собственный выделенный каталог в каталоге wordlist/.
Можно вручную изменять встроенные словари, используя команду cp, для копирования кастомных вордлистов.
cp /path/to/customPasswords.list wordlist/ssh/password
Встроенные списки имен пользователей также могут быть изменены с помощью этой команды:
cp /path/to/customUser.list wordlist/vnc/user
Кроме того, пользовательские списки паролей и имен можно брать прямо из командной строки с помощью указания аргументов —passlist и —username.
./brutespray.py --file filename.gnmap --username UsernameHere --passlist /path/to/desired/passwords.list --service ftp
Это всего лишь несколько примеров. Если вам нужна дополнительная помощь по этому поводу, напишите нам в комментариях.