
Доброго времени суток всем!
Это вторая статья из серии Starting Point на HackTheBox. В ней попробуем разобраться в работе FTP-протокола и выполним несложные задачи.
Внимание!!!
Я настоятельно рекомендую сначала попробовать решить задачу самостоятельно, а в случае затруднений обратиться к подробному пошаговому руководству. Это позволит вам лучше понять процесс и развить собственные навыки. Также вы можете изучить различные подходы к решению и логику мышления.
Ссылка на предыдущую статью в серии:
HackTheBox Labs (Starting Point) - Meow
1. Что означает аббревиатура FTP?
FTP - File Transfer Protocol - это протокол передачи файлов. Он относится к прикладному уровню и отвечает за передачу данных между двумя системами. Он был создан в 1971 году и является одним из старейших прикладных протоколов.
Ответ: File Transfer Protocol
2. Какой порт обычно прослушивает FTP-сервис?
При установлении FTP-соединения создаются два типа каналов связи: канал команд и канал данных.
Канал данных используется непосредственно для передачи информации и работает через порт 20.
Канал команд служит для передачи сообщений о тех или иных действиях, ответов между клиентом и сервером (и наоборот) и работает по 21 порту.
Для прослушивания используется 21 порт.
Ответ: 21
3. FTP отправляет данные в четком виде, без какого-либо шифрования. Какая аббревиатура используется для более позднего протокола, предназначенного для обеспечения аналогичной функциональности FTP, но безопасно, в качестве расширения протокола SSH?
Для безопасного отправления файлов используется SFTP (SSH File Transfer Protocol). SFTP использует SSH для передачи файлов и, в отличии от стандартого FTP, он шифрует и команды, и данные, предохраняя пароли и конфиденциальную информацию от открытой передачи через сеть.
Ответ: SFTP
4. Какую команду мы можем использовать для отправки запроса ICMP Echo для проверки нашего соединения с целью?
Для проверки соединения используется команда ping <ip>:

Ответ: ping
5. На основе вашего сканирования, какая версия FTP работает на цели?
Запустим Nmap-сканирование на цель по 21 порту:

-sV - Используем для определения названия и версии ПО на открытом порте.
По результатам сканирования видим, что на 21 порту работает vsftpd 3.0.3.
Ответ: vsftpd 3.0.3
6. На основе вашего сканирования, какой тип ОС работает на цели?
Из прошлого сканирования мы видим, что используется ОС Unix.
Ответ: Unix
7. Какая команда нам нужна для запуска, чтобы отобразить меню справки "ftp" клиента?
Для отображения справки можно использовать аргумент -?:

Ответ: ftp -?
8. Какое имя пользователя используется, когда вы хотите войти в систему без учетной записи?
FTP позволяет подключаться на сервер анонимно, без учетной записи пользователя. Для этого при подключении используется УЗ anonymous:

Для подключения также не требуется пароль, и строку пароля можно оставить пустой.
Ответ: anonymous
9. Какой код ответа мы получаем при входе на FTP-сервер?
Из предыдущей части кода видно, что получаем мы код 230.
Ответ: 230
10. Есть несколько команд, которые мы можем использовать для перечисления файлов и каталогов, доступных на FTP-сервере. Один из них - dir. Что является общим способом перечисления файлов в системе Linux?
Для перечисления файлов в Linux используется команда ls.
Ответ: ls
11. Какая команда используется для загрузки файла, который мы нашли на FTP-сервере?
Команда get используется для загрузки файлов:

"!" перед командой позволяет нам обращаться к себе в терминал
Ответ: get
12. Получить финальный флаг
Флаг мы вытянули с FTP сервера, нам остается только его прочитать:

Заключение
В данной статье мы рассмотрели основные аспекты работы FTP-протокола и освоили его ключевые функции. Мы изучили методы передачи файлов, проверки соединений и выполнения базовых команд, что является важным этапом на пути к профессиональному развитию в области информационной безопасности.
Каждый из изученных элементов FTP служит основой для понимания более сложных концепций и протоколов в контексте пентестинга. Мы не только выполнили практические задания, но и заложили фундамент для дальнейшего изучения других протоколов прикладного уровня.
В следующих статьях серии Starting Point мы будем исследовать новые протоколы и технологии, что позволит углубить понимание и навыки в области кибербезопасности.