Введение
В этом практическом занятии вы узнаете, как подготовить важные файлы для брутфорс-атак с использованием Hydra, создавая и изменяя списки имен пользователей и паролей. Вы сгенерируете текстовые файлы, содержащие распространенные учетные данные, и настроите их, добавив дополнительные варианты, чтобы повысить эффективность тестирования.
В упражнении рассматривается создание файлов usernames.txt и passwords.txt, расширение их содержимого за счет добавления новых записей и проверка способности Hydra корректно загружать эти файлы. Подготовленные списки станут основой для последующих попыток взлома аутентификации.
Создание файла со списком имен пользователей
На этом этапе вы создадите текстовый файл, содержащий список распространенных имен пользователей, которые можно использовать для тестирования систем аутентификации. Этот список имен пользователей является важной частью для атак с использованием Hydra, так как он предоставляет инструменту потенциальные имена учетных записей для попыток в ходе брутфорс-атак или атак с использованием словаря.
- Сначала убедитесь, что вы находитесь в правильной рабочей директории. Команда
cdизменяет текущую директорию, и в этом практическом занятии мы используем~/projectв качестве рабочей директории:
cd ~/project
- Создайте новый текстовый файл с именем
usernames.txtс помощью nano, простого текстового редактора командной строки. Следующая команда создаст новый файл или откроет существующий:
nano usernames.txt
- Теперь добавьте распространенные имена пользователей, которые часто используются в качестве стандартных учетных данных в различных системах. Введите или вставьте эти имена пользователей, каждое с новой строки:
admin
root
user
test
guest
administrator
- Чтобы сохранить изменения в nano:
- Нажмите
Ctrl+O(Write Out) для сохранения. - Нажмите
Enter, чтобы подтвердить имя файла (usernames.txt). - Нажмите
Ctrl+X, чтобы выйти из редактора.
- Проверьте, что файл был создан правильно, отобразив его содержимое с помощью команды
cat. Это покажет вам, что именно хранится в файле:
cat usernames.txt
Вы должны увидеть список имен пользователей, которые вы ввели, каждое на отдельной строке. Этот файл будет использоваться в качестве входных данных для Hydra на последующих этапах, где инструмент последовательно попытается использовать каждое имя пользователя (в сочетании с паролями из другого файла) для тестирования систем аутентификации.
Создание файла со списком паролей
На этом этапе вы создадите текстовый файл, содержащий распространенные пароли, которые будут использоваться вместе со списком имен пользователей из шага 1 для тестирования систем аутентификации с помощью Hydra. Списки паролей являются важной частью для брутфорс-атак, так как они содержат часто используемые учетные данные, к которым системы могут быть уязвимы.
- Сначала убедитесь, что вы находитесь в правильной рабочей директории (если еще не там). Директория
~/project- это место, где мы будем хранить все наши файлы для атаки, чтобы они были организованы:
cd ~/project
- Создайте новый текстовый файл с именем
passwords.txtс помощью nano. Nano - это простой текстовый редактор, предустановленный в большинстве дистрибутивов Linux, идеальный для начинающих:
nano passwords.txt
- Добавьте в файл следующие распространенные пароли (по одному на строку). По данным исследований безопасности, это самые часто используемые слабые пароли:
password
123456
admin
12345678
qwerty
123456789
- Сохраните файл, нажав:
Ctrl+O(Write Out) - это сохранит ваши изменения.- Нажмите
Enter, чтобы подтвердить имя файла. Ctrl+X, чтобы выйти из nano и вернуться в терминал.
- Проверьте, что файл был создан правильно, отобразив его содержимое. Команда
cat- это быстрый способ проверить содержимое файла без открытия редактора:
cat passwords.txt
Вы должны увидеть список паролей, которые вы ввели, каждый на отдельной строке. Этот список паролей будет объединен со списком имен пользователей из шага 1 при запуске Hydra на последующих этапах. Корректное форматирование обоих файлов гарантирует, что Hydra сможет систематически проверить все возможные комбинации имен пользователей и паролей во время атаки.
Редактирование списков с общими учетными данными
На этом этапе вы расширите как список имен пользователей, так и список паролей, созданные на предыдущих этапах, добавив больше общих учетных данных, которые часто используются в системах аутентификации. Эти дополнения важны, так как в реальных системах часто есть стандартные или широко используемые учетные данные, которые могут быть уязвимы для брутфорс-атак.
- Сначала убедитесь, что вы находитесь в правильной рабочей директории, где хранятся ваши файлы с учетными данными. Это гарантирует, что все изменения будут внесены в нужном месте:
cd ~/project
- Откройте список имен пользователей для редактирования с помощью текстового редактора nano. Nano - простой редактор командной строки, идеальный для начинающих:
nano usernames.txt
- Добавьте эти дополнительные распространенные имена пользователей в существующий список. Это типичные стандартные учетные записи, используемые многими системами, что делает их хорошими кандидатами для тестирования:
sysadmin
webmaster
support
backup
oracle
mysql
Сохраните файл, нажав
Ctrl+O(write out), затемEnterдля подтверждения и, наконец,Ctrl+Xдля выхода из nano. Эти сочетания клавиш важны для работы с редакторами командной строки.Теперь откройте список паролей для редактирования по тому же принципу:
nano passwords.txt
- Добавьте эти дополнительные распространенные пароли в существующий список. Это слабые пароли, которые пользователи часто выбирают, поэтому их включение в тестирование важно:
letmein
welcome
password1
123123
12345
111111
Сохраните файл с паролями тем же способом:
Ctrl+O,Enter, затемCtrl+X.Проверьте, что в обоих файлах есть обновленные учетные данные, отобразив их содержимое. Часть
&& echo "---"добавляет визуальный разделитель между двумя файлами при отображении:
cat usernames.txt && echo "---" && cat passwords.txt
Вы должны увидеть, что оба списка теперь содержат более полные наборы учетных данных. Эти расширенные списки обеспечат более широкое охват при тестировании систем аутентификации с помощью Hydra, так как они включают как стандартные системные учетные записи, так и часто используемые слабые пароли, которые часто встречаются в реальных сценариях.
Сохранение списков в доступной директории
На этом этапе вы узнаете, как правильно организовать свои списки учетных данных для атак с использованием Hydra, создав специальную директорию и установив правильные права доступа к файлам. Это важно, так как Hydra должен иметь доступ к этим файлам при попытках взлома паролей.
- Сначала перейдите в директорию проекта, если вы еще не там. Это обеспечит хранение всех ваших файлов в одном месте:
cd ~/project
- Создайте новую директорию с именем
hydra_listsспециально для хранения файлов с учетными данными. Использование отдельных директорий помогает поддерживать чистоту рабочего пространства и упрощает поиск файлов:
mkdir hydra_lists
- Переместите оба файла - с именами пользователей и паролями - в эту новую директорию. Команда
mvфизически переместит файлы из текущего расположения в новую директорию:
mv usernames.txt passwords.txt hydra_lists/
- Проверьте, что файлы были успешно перемещены, выведя содержимое директории. Флаг
-lпоказывает подробную информацию, включая права доступа к файлам:
ls -l hydra_lists/
Вы должны увидеть оба файла - usernames.txt и passwords.txt - с указанными правами доступа.
- Установите соответствующие права доступа, чтобы Hydra мог читать эти файлы. Права доступа
644означают, что владелец может читать и записывать, а другие пользователи могут только читать:
chmod 644 hydra_lists/*
- Подтвердите, что права доступа установлены правильно, проверив директорию еще раз. Строка прав доступа
-rw-r--r--указывает, что файлы настроены правильно:
ls -l hydra_lists/
В выводе должны быть указаны права -rw-r--r-- для обоих файлов, что означает, что они доступны для чтения всеми пользователями, но могут быть изменены только владельцем - это идеальная настройка прав доступа для файлов с учетными данными, используемых в атаках с помощью Hydra.
Проверка загрузки файлов в Hydra
На этом последнем этапе вы убедитесь, что Hydra может корректно прочитать и обработать файлы с учетными данными, созданные на предыдущих этапах. Это важная проверка перед запуском реальных атак, так как она гарантирует, что ваши списки имен пользователей и паролей имеют правильный формат и доступны для Hydra.
- Сначала убедитесь, что вы находитесь в правильной рабочей директории, где хранятся ваши файлы с учетными данными. Это важно, так как Hydra должен знать, где найти ваши списки имен пользователей и паролей:
cd ~/project
- Теперь мы запустим Hydra в тестовом режиме с использованием флага
-Vдля вывода подробной информации. Эта команда сообщает Hydra:- Использовать список имен пользователей (
-L hydra_lists/usernames.txt) - Использовать список паролей (
-P hydra_lists/passwords.txt) - Протестировать SSH - сервис на локальном хосте
- Использовать только 1 поток (
-t 1) для тестирования
- Использовать список имен пользователей (
hydra -L hydra_lists/usernames.txt -P hydra_lists/passwords.txt -V -t 1 localhost ssh
- При успешном выполнении команды вы должны увидеть вывод, похожий на этот. Основная информация здесь - это количество "попыток входа", которое подтверждает, что Hydra прочитал оба файла:
Hydra v9.2 (c) 2022 by van Hauser/THC & David Maciejak
[DATA] max 1 task per 1 server, overall 1 task, 42 login tries (l:6/p:7), ~42 tries per task
[DATA] attacking ssh://localhost:22/
[VERBOSE] Resolving addresses ... done
После проверки вывода нажмите
Ctrl+Cдля остановки теста. Нет необходимости ждать завершения, так как мы просто тестируем загрузку файлов.Чтобы убедиться, что оба файла были корректно прочитаны, проверьте количество попыток входа, указанное в выводе. Это число должно быть равно количеству имен пользователей, умноженному на количество паролей в ваших списках. Например, если у вас 6 имен пользователей и 7 паролей, вы должны увидеть 42 попытки входа (6×7 = 42). Это произведение подтверждает, что Hydra правильно комбинирует все возможные пары учетных данных из ваших файлов.
Резюме
В этом лабораторном занятии вы узнали, как подготовить списки имен пользователей и паролей для атак с использованием Hydra, создавая и управляя текстовыми файлами в Linux. В рамках упражнений вы создали файлы usernames.txt и passwords.txt с помощью nano, заполнили их распространенными учетными данными и проверили их содержимое с использованием команды cat.
Вы также отработали важные операции с файлами в Linux, включая навигацию по директориям, редактирование текста и проверку файлов. Эти навыки являются основой для настройки эффективных брутфорс - атак, так как правильно отформатированные списки учетных данных являются ключевым фактором для тестирования безопасности с использованием Hydra.


