07 Апр, 2023

Протокол передачи файлов (FTP)

Penetration Testing as a service (PTaaS)

Tests security measures and simulates attacks to identify weaknesses.

FTP расшифровывается как “Протокол передачи файлов”.. Это стандартный сетевой протокол, используемый для передачи файлов с одного хоста на другой по сети на основе TCP, такой как Интернет. FTP позволяет пользователям загружать файлы с удаленного сервера, что делает его популярным методом публикации контента на веб-сайтах или обмена файлами между компьютерами. FTP также используется в автоматизированных процессах, таких как обновление программного обеспечения и резервное копирование. К нему можно получить доступ с помощью различных FTP-клиентов, и он поддерживается большинством операционных систем.

Общие порты FTP

Port 21: Это порт по умолчанию для FTP и используется для команд управления.

Port 20: Это используется для передачи данных в активном режиме.

Port 990: Это порт по умолчанию для FTPS (FTP через SSL / TLS) и используется для безопасного FTP.

Port 989: Это используется для передачи данных по защищенному FTP (FTPS) в активном режиме.

Port 22: Это используется для SFTP (Secure File Transfer Protocol) через SSH (защищенную оболочку).

Стандартный клиент подключения

ftp 137.30.243.241

69.55.75.122

use auxiliary/scanner/ftp/anonymous
msf auxiliary(anonymous) >set rhosts 192.168.0.106
msf auxiliary(anonymous) >exploit

Разведывательная или нестандартная команда

auxiliary/scanner/ftp/anonymous

auxiliary/scanner/ftp/ftp_version

nmap 69.55.75.122 -p21 –script=ftp-syst

Нулевое сеансовое соединение

ftp -n -v 137.30.243.241

Список паролей по умолчанию

Имена пользователей: https://drive.google.com/open?id=1fQkr4ieHDEwxeJ_a9YRLsCBXWTASO9u_

Пароли: https://drive.google.com/open?id=1j31h_D0Td9oWB15k39DzwMEGfXjWoZrb 

Грубое силовое подключение

use auxiliary/scanner/ftp/ftp_login
вспомогательный msf (ftp_login) > установить rhosts 192.168.01.106
msf auxiliary(ftp_login) > set user_file /root/Desktop/user.txt
msf auxiliary(ftp_login) > set pass_file /root/Desktop/pass.txt
msf auxiliary(ftp_login) > set stop_on_success false
msf auxiliary(ftp_login) > exploit

Инструменты для использования протокола FTP

Ручные Инструменты:

  • FileZilla: Популярный FTP-клиент, используемый для ручного тестирования. Это позволяет пользователям передавать файлы между локальным компьютером и сервером через FTP, SFTP или FTPS.

  • WinSCP: Еще один популярный FTP-клиент, поддерживающий протоколы SSH и SFTP.

  • Cyberduck: FTP-клиент с открытым исходным кодом для Mac и Windows, поддерживающий протоколы FTP, SFTP, WebDAV и Amazon S3.

  • PuTTY: Бесплатный эмулятор терминала с открытым исходным кодом, последовательная консоль и приложение для передачи файлов по сети.

  • FireFTP: Бесплатный кроссплатформенный FTP-клиент для Mozilla Firefox.

  • CuteFTP: FTP-клиент на базе Windows, поддерживающий протоколы FTP, SFTP и FTPS.

  • Core FTP: FTP-клиент на базе Windows, поддерживающий протоколы FTP, SFTP и FTPS.

  • Transmit: FTP-клиент на базе Mac, поддерживающий протоколы FTP, SFTP и WebDAV.

Автоматизированные инструменты:

  • JMeter: Инструмент на основе Java, используемый для нагрузочного тестирования, тестирования производительности и функционального тестирования веб-приложений, поддерживающих FTP.

  • LoadRunner: Инструмент тестирования производительности, используемый для тестирования FTP-серверов и других систем.

  • NeoLoad: Инструмент тестирования производительности, который поддерживает тестирование FTP и других протоколов.

  • SoapUI: Инструмент тестирования веб-служб с открытым исходным кодом, поддерживающий тестирование по FTP.

  • TestComplete: Коммерческий инструмент тестирования, поддерживающий тестирование по FTP.

  • Selenium: Инструмент автоматического тестирования с открытым исходным кодом, поддерживающий тестирование по FTP.

  • Appium: Инструмент тестирования мобильных приложений с открытым исходным кодом, поддерживающий тестирование по FTP.

  • Robot Framework: Универсальная платформа автоматизации тестирования, которая поддерживает тестирование по FTP и другие протоколы.

Плагины для браузера:

  • FireFTP: Бесплатный кроссплатформенный FTP-клиент для Mozilla Firefox.

  • SFTPDrive: Утилита на базе Windows, которая позволяет пользователям сопоставлять SFTP и FTP-серверы с сетевым диском Windows.

  • WebDrive: Утилита на базе Windows, которая позволяет пользователям отображать серверы FTP, SFTP, WebDAV и Amazon S3 в качестве сетевого диска Windows.

  • Cyberduck: Расширение браузера для Google Chrome, которое позволяет пользователям передавать файлы между локальным компьютером и сервером по протоколам FTP, SFTP, WebDAV и Amazon S3.

  • FTPGetter: Расширение браузера для Google Chrome, которое позволяет пользователям автоматизировать передачу данных по FTP и SFTP.

Запуск эксплойтов

https://www.exploit-db.com/exploits/32798

exploit/unix/ftp/proftpd_modcopy_exec

exploit/unix/ftp/proftpd_133c_backdoor

exploit/windows/ftp/freeftpd_pass

Последние пять известных CVE для FTP

• CVE-2023-27535: An authentication bypass vulnerability exists in libcurl <8.0.0 in the FTP connection reuse feature that can result in wrong credentials being used during subsequent transfers. Previously created connections are kept in a connection pool for reuse if they match the current setup. However, certain FTP settings such as CURLOPT_FTP_ACCOUNT, CURLOPT_FTP_ALTERNATIVE_TO_USER, CURLOPT_FTP_SSL_CCC, and CURLOPT_USE_SSL were not included in the configuration match checks, causing them to match too easily. This could lead to libcurl using the wrong credentials when performing a transfer, potentially allowing unauthorized access to sensitive information. 

• CVE-2023-24042: Условие гонки в LightFTP через 2.2 позволяет злоумышленнику выполнить обход пути с помощью неверно сформированного FTP-запроса. Поток обработчика может использовать перезаписанный контекст-> Имя файла. 

• CVE-2023-24029: На сервере Progress WS_FTP, выпущенном до версии 8.8, администратор хоста может повысить свои привилегии через административный интерфейс из-за недостаточного контроля авторизации, применяемого к рабочим процессам изменения пользователем. 

• CVE-2023-22551: Проект FTP (он же “Реализация простого FTP-клиента и сервера”) через 96c1a35 позволяет удаленным злоумышленникам вызывать отказ в обслуживании (потребление памяти), участвуя в действиях клиента, таких как установление и последующее завершение соединения. Это происходит потому, что malloc используется, а free - нет.

• CVE-2023-0457: Уязвимость для хранения открытого текста пароля в процессорных модулях Mitsubishi Electric Corporation MELSEC iQ-F серии FX5U (C) все модели всех версий, процессорные модули FX5UJ всех моделей всех версий, процессорные модули FX5S всех моделей всех версий, FX5-ENET всех версий и FX5-ENET /IP всех версий позволяет удаленному злоумышленнику, не прошедшему проверку подлинности, раскрыть учетные данные открытого текста, хранящиеся в файлах проекта, и войти на FTP-сервер или веб-сервер. 

Полезная информация

– Использует два канала: канал передачи данных и канал управления. Канал управления используется для отправки команд, в то время как канал данных используется для передачи файлов.

– Небезопасный протокол, так как он не шифрует передаваемые данные. FTPS и SFTP - это две более безопасные альтернативы FTP.

– Серверы обычно прослушивают порт 21, в то время как FTP-клиенты могут подключаться к серверу через порт 21 или 20.

– Поддерживает различные команды, такие как LIST (для перечисления файлов на сервере), GET (для загрузки файла с сервера), PUT (для загрузки файла на сервер) и другие.

– Анонимный FTP позволяет пользователям получать доступ к серверу без предоставления имени пользователя и пароля, что может быть полезно для загрузки общедоступных файлов.

– Серверы могут быть настроены для ограничения доступа к определенным каталогам или файлам, а также для ограничения количества одновременных подключений.

– Отказоустойчивая атака - это тип атаки, при котором злоумышленник использует FTP-сервер для атаки на стороннюю систему путем отключения соединения от сервера.

– Атаки методом грубой силы включают в себя использование большого количества комбинаций имени пользователя и пароля с целью получения несанкционированного доступа к FTP-серверу.

– Уязвим для таких атак, как перехват пакетов, атаки типа "человек посередине" и атаки с отказом от FTP.

– Журналы могут быть полезны для обнаружения попыток несанкционированного доступа или подозрительной активности на сервере.

Известные баннеры

“220 ПроФТПД” – FTP -сервер ProFTPD

“220 vsFTPd” – FTP -сервер vsFTPd

“220 Сервер FileZilla” – FTP-сервер FileZilla

“FTP-сервер 220 Servu-U” – Сервер FTP Servu-U

“Служба 220 Microsoft FTP” – FTP-сервер Microsoft IIS

Книги для изучения протокола передачи файлов (FTP)

FTP: Протокол передачи файлов автор: Сантош Кулкарни: Эта книга представляет собой подробное введение в FTP и охватывает такие темы, как команды, режимы и безопасность FTP.

Иллюстрированный протокол TCP/IP, Том 1: Протоколы Ричард Стивенс: Эта классическая книга охватывает широкий спектр интернет-протоколов, включая FTP, и дает подробный обзор их работы.

Практическая безопасность UNIX и Интернета Симсон Гарфинкель и Джин Спаффорд: В этой книге рассматриваются различные темы безопасности, связанные с UNIX и Интернетом, включая безопасность FTP.

Начинающий PHP и MySQL: От новичка до профессионала автор: У. Джейсон Гилмор: В этой книге рассматриваются основы использования FTP с PHP и MySQL для создания веб-приложений.

Сетевая безопасность с помощью OpenSSL: криптография для безопасной связи Джон Виега, Мэтт Мессье и Правир Чандра: Эта книга охватывает широкий круг вопросов безопасности, включая FTPS, и содержит практические рекомендации по использованию OpenSSL для защиты сетевых коммуникаций.

Полная ссылка: FTP Вивек Гите: Этот всеобъемлющий справочник охватывает все аспекты FTP, включая команды, режимы и безопасность.

Внедрение SSH: Стратегии оптимизации защищенной оболочки автор Химаншу Двиведи: Эта книга посвящена протоколу Secure Shell (SSH) и его использованию с FTP, предоставляя рекомендации по защите FTP-соединений с использованием SSH.

Освоение FTP: Полная серия автор Alexzander Anthony: Эта серия книг представляет собой всеобъемлющее руководство по FTP, включая его работу, безопасность и лучшие практики.

Кулинарная книга защитника веб-приложений: Борьба с хакерами и защита пользователей Райан К. Барнетт: Эта книга содержит практические рекомендации по обеспечению безопасности веб-приложений, включая безопасное использование FTP.

Сокеты TCP / IP в C: Практическое руководство для программистов Майкл Дж. Донаху и Кеннет Л. Калверт: Эта книга представляет собой практическое руководство по использованию сокетов TCP / IP, включая использование FTP в среде программирования C.

Список полезной нагрузки для протокола передачи файлов (FTP)

  • Ввод команды: Это включает в себя внедрение вредоносных команд на FTP-сервер, которые могут быть выполнены на стороне сервера, позволяя злоумышленнику выполнять произвольные команды и получать несанкционированный доступ.

  • Отправить файл: Это включает в себя загрузку вредоносного файла на FTP-сервер, который затем может быть выполнен для получения несанкционированного доступа или нанесения ущерба серверу или другим системам.

  • Обход каталога: Это включает в себя манипулирование путем к файлу для доступа к файлам и каталогам за пределами корневого каталога FTP, позволяя злоумышленнику получить доступ к конфиденциальным файлам или каталогам на сервере.

  • Атаки грубой силой: Это включает в себя использование большого количества комбинаций имени пользователя и пароля в попытке получить несанкционированный доступ к FTP-серверу.

  • Атаки с отскоком по FTP: Это включает в себя использование FTP-сервера в качестве прокси-сервера для проведения атак на другие системы, таких как сканирование портов или отправка вредоносных полезных нагрузок.

  • Нюхание пакета: Это включает в себя перехват FTP-трафика для сбора конфиденциальной информации, такой как имена пользователей и пароли или передаваемые данные.

Смягчение последствий

  1. По возможности используйте защищенные версии FTP, такие как SFTP (Secure File Transfer Protocol) или FTPS (FTP через SSL / TLS) для шифрования данных и аутентификации пользователей.

  2. Ограничьте доступ к FTP-серверу, внедрив строгий контроль доступа, например, ограничив количество пользователей, имеющих доступ к серверу, и используя надежные пароли.

  3. Используйте брандмауэры для мониторинга и управления FTP-трафиком на сервер и с сервера, а также для блокирования попыток несанкционированного доступа.

  4. Регулярно обновляйте и исправляйте программное обеспечение FTP-сервера, чтобы гарантировать его безопасность и отсутствие известных уязвимостей.

  5. Внедрите системы обнаружения и предотвращения вторжений (IDPL) для обнаружения и блокирования вредоносной активности, такой как внедрение команд или загрузка файлов.

  6. Используйте инструменты мониторинга для отслеживания активности FTP и выявления подозрительного поведения или попыток несанкционированного доступа.

  7. Обеспечьте обучение и информационные программы для пользователей, чтобы помочь им понять риски, связанные с FTP, и как его безопасно использовать.

Заключение

FTP (Протокол передачи файлов) это широко используемый протокол для передачи файлов по сети, но он сопряжен с рисками безопасности, которыми могут воспользоваться злоумышленники. Чтобы снизить эти риски, организациям следует внедрять лучшие практики, такие как использование безопасных протоколов, ограничение доступа, внедрение брандмауэров и IDPL, а также мониторинг активности FTP. Регулярные обновления программного обеспечения, обучение пользователей и информационные программы также могут помочь снизить риск эксплуатации и повысить общую безопасность.

Другие Услуги

Готовы к безопасности?

Связаться с нами