Настройка номеров портов в Hydra

HydraHydraBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом лабораторном занятии вы научитесь настраивать номер порта FTP на целевой системе и затем использовать Hydra для проведения брутфорс-атаки на службу FTP на этом пользовательском порте. Это ценный навык для пентестеров и специалистов по безопасности, которые должны оценить безопасность систем, настроенных с использованием нестандартных портов FTP.

В рамках лабораторной работы необходимо настроить сервер FTP на виртуальной машине LabEx для прослушивания нестандартного порта путем изменения файла vsftpd.conf и перезапуска службы FTP. Затем вы используете команду netstat, чтобы убедиться, что сервер FTP прослушивает новый порт. Наконец, вы используете Hydra с опцией -s, чтобы указать пользовательский порт и выполнить атаку на FTP, убеждаясь, что Hydra может успешно подключиться к службе FTP на настроенном порте.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL hydra(("Hydra")) -.-> hydra/HydraGroup(["Hydra"]) hydra/HydraGroup -.-> hydra/ssh_attack("SSH Brute Force") hydra/HydraGroup -.-> hydra/verbose_mode("Verbose Mode Usage") hydra/HydraGroup -.-> hydra/custom_port("Custom Port Attack") subgraph Lab Skills hydra/ssh_attack -.-> lab-550765{{"Настройка номеров портов в Hydra"}} hydra/verbose_mode -.-> lab-550765{{"Настройка номеров портов в Hydra"}} hydra/custom_port -.-> lab-550765{{"Настройка номеров портов в Hydra"}} end

Настройка FTP на нестандартном порте

На этом этапе мы настроим сервер FTP на виртуальной машине LabEx для прослушивания нестандартного порта. По умолчанию FTP использует порт 21. Изменение порта FTP может помочь снизить риск автоматических атак, нацеленных на стандартный порт.

Сначала отредактируем файл конфигурации FTP. Мы будем использовать редактор nano, который предустановлен на виртуальной машине LabEx.

sudo nano /etc/vsftpd.conf

Эта команда открывает файл vsftpd.conf в редакторе nano.

Добавьте следующую строку в файл:

listen_port=2121
add listen_port

Если строка listen_port отсутствует, добавьте ее в файл. Лучше всего добавить ее ближе к началу файла.

После внесения изменений сохраните файл, нажав Ctrl+X, затем Y для подтверждения и Enter, чтобы сохранить файл с тем же именем.

Далее необходимо перезапустить службу FTP, чтобы изменения вступили в силу.

sudo service vsftpd restart

Эта команда перезапускает службу FTP. Вы должны увидеть сообщение о том, что служба была перезапущена.

Наконец, убедимся, что сервер FTP теперь прослушивает новый порт. Мы можем использовать команду netstat для проверки прослушиваемых портов.

sudo netstat -tulnp | grep vsftpd

Эта команда показывает всю информацию о TCP, UDP, прослушиваемых портах и процессах, а затем фильтрует вывод, чтобы показать только строки, содержащие "vsftpd". Вы должны увидеть строку, которая указывает, что vsftpd прослушивает порт 2121 (или другой порт, который вы выбрали).

Пример вывода:

tcp6       0      0 :::2121                 :::*                    LISTEN      1027/vsftpd
check FTP port

Если вы видите новый номер порта в выводе, это означает, что сервер FTP теперь прослушивает новый порт.

Указание порта с помощью опции -s

На этом этапе мы научимся указывать нестандартный порт при использовании команды ftp. Это важно, так как на предыдущем этапе мы изменили порт прослушивания сервера FTP с стандартного 21 на пользовательский порт (например, 2121). Теперь при подключении к серверу нам нужно сообщить клиенту ftp, какой порт использовать.

Команда ftp предоставляет опцию -p для указания номера порта. Однако Hydra использует опцию -s для этого же purpose. Важно понимать эту разницу, так как на следующем этапе мы будем готовиться к атаке с использованием Hydra.

Попробуем подключиться к серверу FTP с помощью команды ftp с опцией -p, чтобы проверить соединение. Замените localhost на IP-адрес виртуальной машины LabEx. Если вы выполняете эту лабораторную работу на той же виртуальной машине, вы можете использовать localhost или 127.0.0.1.

ftp -p localhost 2121

Вам будет предложено ввести имя пользователя и пароль. Нажмите Ctrl+C, чтобы выйти.

Теперь давайте смоделируем, как Hydra будет указывать порт. Хотя мы еще не будем использовать Hydra, этот этап важен для понимания синтаксиса. Hydra использует опцию -s для указания порта.

Синтаксис Hydra для указания порта отличается от стандартной команды ftp. Hydra использует -s, за которым следует номер порта. Например, если бы мы использовали Hydra для атаки на службу FTP на порту 2121, мы бы добавили -s 2121 в команду Hydra.

Для демонстрации этого давайте создадим фиктивную команду Hydra. Мы не будем ее выполнять, но она проиллюстрирует правильный синтаксис.

hydra -l ftpuser -P ~/project/password.txt localhost ftp -s 2121
hydra syntax

Основная идея здесь в части -s 2121. Это сообщает Hydra подключиться к службе FTP на порту 2121.

В целом, если стандартная команда ftp использует -p для указания порта, то Hydra использует -s. Понимание этой разницы является ключевым для следующего этапа, на котором мы выполним атаку на FTP с использованием Hydra.

Выполнение атаки на FTP на пользовательском порте

На этом этапе мы используем Hydra для проведения брутфорс-атаки на службу FTP, работающую на нестандартном порте, который мы настроили на первом этапе. Мы будем использовать список паролей, созданный на этапе настройки.

Теперь мы готовы запустить атаку с помощью Hydra. Замените localhost на IP-адрес виртуальной машины LabEx. Если вы выполняете эту лабораторную работу на той же виртуальной машине, вы можете использовать localhost или 127.0.0.1.

hydra -l ftpuser -P ~/project/password.txt localhost ftp -s 2121 -vV

Разберем эту команду по частям:

  • hydra: Команда для запуска инструмента Hydra.
  • -l ftpuser: Указывает имя пользователя, на которого будет направлена атака.
  • -P ~/project/password.txt: Указывает путь к файлу со списком паролей, созданному на этапе настройки.
  • localhost: Указывает целевой IP-адрес. Замените localhost на фактический IP-адрес.
  • ftp: Указывает службу, на которую будет направлена атака (в данном случае - FTP).
  • -s 2121: Указывает номер порта. Это важно, так как на первом этапе мы изменили порт FTP на 2121.
  • -vV: Включает подробный режим, который показывает попытки входа в режиме реального времени.

Выполните команду. Hydra начнет пытаться использовать разные пароли из файла ~/project/password.txt для доступа к службе FTP на указанном порту.

Если Hydra найдет правильный пароль, он отобразит информацию о успешном входе. Например:

[ATTACKER] attacking ftp://localhost:2121/
[2121][ftp] host: localhost   login: ftpuser   password: password123

Если Hydra не найдет правильный пароль, он попробует все пароли из списка и затем завершит работу, не показывая сообщения о успешном входе.

Важное замечание по безопасности: Эта лабораторная работа предназначена только для образовательных целей. Не используйте Hydra для атаки на системы без явного разрешения. Незаконный доступ к компьютерным системам является незаконным и этически недопустимым.

Проверка соединения на правильном порте

На этом последнем этапе мы проверим, что мы все еще можем подключиться к серверу FTP на пользовательском порте после попытки атаки с использованием Hydra. Это подтверждает, что служба FTP работает как ожидается и что мы можем к ней подключиться, используя указанный порт.

Используйте команду ftp с опцией -p для подключения к серверу FTP на пользовательском порте. Замените localhost на IP-адрес виртуальной машины LabEx. Если вы выполняете эту лабораторную работу на той же виртуальной машине, вы можете использовать localhost или 127.0.0.1.

ftp -p 2121 localhost

Вам будет предложено ввести имя пользователя и пароль. Используйте учетные данные, которые мы создали на этапе настройки:

  • Имя пользователя: ftpuser
  • Пароль: password123

Если соединение установлено успешно, вы войдете в систему на сервере FTP.

ftp login

Если вы не можете подключиться, проверьте следующее:

  • Убедитесь, что служба FTP все еще запущена. Вы можете проверить это с помощью команды netstat -tulnp | grep vsftpd, как мы делали на первом этапе.
  • Убедитесь, что порт FTP все еще установлен на 2121 (или на тот порт, который вы выбрали) в файле /etc/vsftpd.conf.
  • Убедитесь, что нет правил брандмауэра, блокирующих соединения на пользовательском порте. (Примечание: В среде виртуальной машины LabEx обычно по умолчанию не включен брандмауэр, но это стоит учитывать в реальных сценариях.)
  • Убедитесь, что вы используете правильное имя пользователя и пароль.

Успешное соединение подтверждает, что сервер FTP работает на пользовательском порте и что вы можете к нему подключиться с помощью команды ftp с опцией -p. Это также подтверждает, что атака с использованием Hydra, даже если она не удалась, не повлияла на работу службы FTP.

Это завершает лабораторную работу. Вы успешно настроили FTP на нестандартном порте, узнали, как указывать порт с помощью опции -s в Hydra, выполнили базовую атаку с использованием Hydra и проверили соединение на правильном порте.

Резюме

В этой лабораторной работе мы настроили сервер FTP на виртуальной машине LabEx для прослушивания нестандартного порта, а именно порта 2121, вместо стандартного порта 21. Это потребовало редактирования файла /etc/vsftpd.conf с помощью nano для изменения или добавления директивы listen_port, а затем перезапуска службы FTP с использованием команды sudo service vsftpd restart.

Наконец, мы проверили, что сервер FTP действительно прослушивает новый порт, используя команду netstat -tulnp | grep vsftpd для проверки прослушиваемых портов и подтверждения того, что vsftpd связан с портом 2121.