Добавлен: 17.06.2023
Просмотров: 62
Скачиваний: 3
Чтобы понять атаку надо иметь представление о FTP протоколе (Postel, J., and J. Reynolds, \»File Transfer Protocol,\» STD 1, RFC 959, USC/Information Sciences Institute, October 1985.) Сначала клиент открывает соединение на управляющем порту FTP (порт 21) FTP сервера. Так чтобы сервер потом мог послать данные на машину клиента, потом соединение должно быть открыто между сервером и клиентом. Чтобы осуществить это второе соединение, клиент посылает команду PORT на сервер. Эта команда включает параметры, которые говорят серверу с каким IP адресом надо соединиться и какой порт открыть по этому адресу — в большинстве случаев это предположительно будет порт с большим номером на машине клиента. Сервер затем открывает это соединение, источником соединения является 20 порт на сервере, а приемник — это порт идентифицирующийся по параметрам команды PORT. Команда PORT обычно используется в \»active mode\» FTP, по умолчанию. И обычно не используется в passive ( также известный как PASV) mode. Нужно иметь ввиду, что серверы обычно поддерживают оба режима, а клиент определяет какой из методов использовать.
В соответствии FTP протоколу, команда PORT формируется для каждого клиента специфически — соответственно и порт на стороне клиента тоже. Но это также означает, что атакующий может открыть соединение на порт по своему выбору на машине которая возможно не является истинным клиентом. Получение этого соединения на произвольной машине — это и есть FTP bounce атака.
Сканирование порта
Атакующий желает произвести сканирование порта хоста и может это сделать анонимно через FTP сервер, который выступает в качестве этапа сканирования. Хост жертвы видит сканирование исходящее от FTP сервера, а не истинный источник ( FTP клиент ).
При некоторых обстоятельствах, эта техника представляет атакующему большие преимущества — это точное скрытие реального источника исследования . Когда предположительная жертва в этой подсети является FTP сервером, или когда не фильтруется трафик исходящий с FTP сервера, атакующий может использовать сервер как источник сканирования портов, что предпочтительней чем машину клиента, таким образом удается обойти ограничение доступа, которое могло в противном случае фильтроваться Firewall.
Атакующий может обойти firewall (или другую ограничивающую защиту) в определенных конфигурациях сети. Например, допустим, что хост имеет анонимный FTP сервер за firewall. Используя вышеуказанную технологию сканирования портов атакующий определяет, что внутренний web сервер на этом хосте находится на 8080 порту, порт нормально блокируется firewall. При соединении на public FTP сервер на хосте, атакующий инициирует дальнейшее соединение между FTP сервером и произвольным портом на внутренней машине на хосте (например внутренний web сервер на 8080 порту ). В результате , атакующий устанавливает соединение с машиной которая в противном случае защищается firewall.
— Находим сервер который разрешает загрузку.
— Загружаем файл содержащий SMTP диалог для посылки сообщения.
— Даем команду "PORT victim-ip,25".
— Даем команду "RETR filename".
Тоже самое можно проделать и с диалогом NNTP .
Защита от Bounce атаки
Оригинальная FTP спецификация подразумевает соединение при помощи Transmission Control Protocol (TCP). Порты TCP от 0 до 1023 зарезервированы для таких сервисов, как почта, сетевые новости и контроль FTP соединений. FTP спецификация не имеет ограничений на номер TCP порта, используемый для соединения. При помощи proxy FTP пользователь может провести при помощи сервера атаку сервисов на любой машине.
Во избежание подобных атак необходимо запретить открытие соединения в портах TCP, меньших 1024. Если сервер получает команду PORT с параметром, меньшим 1024, сервер отвечает 504 (определено как \»Command not implemented for that parameter\»). Однако это всё еще оставляет уязвимыми сервисы, запускаемые на портах более чем 1024.
Некоторые источники предлагают использование другого протокола (не TCP). Нужно учесть, что bounce атака требует закачки файла на FTP сервер и последующую его перекачку на атакуемый сервис. Использование файловых защит устранит эту возможность. Взломщик также может атаковать сервис посылкой случайных данных с FTP сервера, что может
доставить некоторые проблемы сервисов.
Отключение команды PORT также может быть использовано для защиты от атак. Большинство файловых пересылок может быть сделано при помощи команды PASV. Однако в таком случае proxy FTP не может быть использовано.
— Допускать в параметрах команды PORT только IP клиента.
Компания ООО "КИВЕРИ" использует три программы, которые позволяют работать с данным на FTP-сервере.
- FileZilla
- FTPRush
- CuberDuck
Программное обеспечение для передачи данных на FTP-сервер
FileZilla
FileZilla — это свободное программное обеспечение с открытыми исходными кодами, распространяемое под лицензией GNU (General Public License) бесплатно.
Это свободный многоязычный FTP-клиент с открытым исходным кодом для Microsoft Windows, Mac OS X и Linux. Он поддерживает FTP, SFTP, и FTPS (FTP через SSL/TLS) и имеет настраиваемый интерфейс с поддержкой смены тем оформления. Оснащен возможностью перетаскивания объектов, синхронизацией директории и поиском на удаленном сервере. Поддерживает многопоточную загрузку файлов, а также докачку при обрыве (если поддерживается сервером) интернет-соединения.
На 16 июля 2014 года он являлся десятым в списке самых популярных программ SourceForge.net.
Также существует FileZilla Server — проект, родственный FileZilla Client. Это — FTP-сервер, разрабатываемый той же организацией. Он поддерживает FTP и FTPS (FTP через SSL/TLS).
Графическая оболочка действительно удобна — она не перегружена, как это обычно бывает в программах подобного рода — множеством панелей. Сверху и снизу окна — Журнал сообщений и Окно задания, в основной части расположен двухколоночный файловый менеджер. Если менеджер покажется неудобным в навигации, можно включить древовидный список для локального/удаленного списков файлов. Поддерживаются вкладки. Такой интерфейс можно назвать почти классическим для GUI FTP-клиентов.
Для быстрого подключения к хосту можно воспользоваться Панелью быстрого соединения, также здесь указывается протокол передачи, например, sftp://hostname или ftps://hostname. Но более привычно составить список нужных источников для подключения в Менеджере сайтов. В настройках, опять же, можно поменять протокол (FTP/SFTP), ввести учетные данные, назначить локальный и удаленный каталоги, открывающиеся при подключении, сменить тип передачи файлов (более широко опции предоставлены в общих настройках программы). В Менеджере сайтов, равно как и в главном окне, в процессе навигации можно создавать закладки.
В FileZilla достаточно гибкое управление передачей данных. Во-первых, имеется в виду наглядный процесс выполнения заданий, с возможностью постановки на паузу (для файлов, не превышающих лимит 4 Гб). Во-вторых, в клиенте поддерживаются синхронизированный просмотр, сравнение каталогов, фильтры, кэширование и, как уже было упомянуто, удаленный поиск — стандартные и необходимые функции при навигации
Поддерживаются HTTP/1.1, SOCKS 5, и FTP-прокси. Для протокола FTP дополнительно доступно шифрование.
Простой клиент, который не удовлетворит потребности профессионала, однако включает в себя все базовые возможности для работы с протоколами FTP, SFTP, FTPS.
Плюсы
- Документация на русском языке
- Простой и удобный интерфейс
- Кроссплатформенность
Минусы
- Нет поддержки командной строки (за исключением сервера)
FTPRush
FTPRush — платный клиент. Из примечательных особенностей можно отметить такую функцию, как FXP — перенос файлов с одного сайта на другой «на лету», гибкую настройку интерфейса (в традициях панельного MS Office 2000—2003), SSL/TLS/SFTP-шифрование, Z-компрессию при передаче.
Внешний вид настраивается гибче, чем FileZilla, достаточно заглянуть в меню «Вид» либо открыть контекстное меню любой из областей. Предусмотрено следующее: перетягивание, включение и отключение панелей, кнопок, настройка столбцов колонок.
Менеджер подключений имеет в запасе множество настроек сервера, поддерживаются SFTP (причем в соответствующем разделе обнаруживаются опции для настройки SSL), SSH, незащищенный FTP, TFTP. Можно указать временную зону, определить локальный/удаленный каталоги, добавить закладки. При наличии нескольких конфигураций удобно применять глобальные настройки, отпадает необходимость в перенастраивании нескольких конфигураций. Доступны списки исключений, извещения, приоритеты и другие дополнительные параметры. Представлен ряд опций, относящихся к соединению программы с сервером и передаче файлов. На выбор — несколько видов прокси, в том числе и SOCKS, настройка Z-компрессии. Не говоря уже о настройке горячих клавиш и действий мышью.
Планировщик доступен он через Окно задач. Не сказать, что он идеален в текущей реализации, но свои функции выполняет и вдобавок позволяет указать сценарий либо действие из списка для выполнения. Для создания сценариев используется конструктор, который доступен в меню «Инструменты». Также в этом разделе можно ознакомиться со списком FTP-команд. Удаленный поиск можно найти в разделе меню «FTP»
Пожалуй, единственный момент, вызывающий нарекание — очень некачественный перевод на русский.
На выходе получаем бесплатный продукт с функциями профессионального продукта.
Плюсы
- Некачественный перевод интерфейса
- Отличная функциональность
- Большое количество настроек
- Поддержка защищенных протоколов и методов шифрования
CuberDuck
При запуске программа предлагает импортировать хосты из FileZilla, и указанные адреса будут помещены в закладки. В программе используется однопанельный режим, для десктоп-клиента в данном случае вовсе не оптимальный и вызывающий лишь неудобства. Для закачки файлов необходимо открывать отдельное окно, аналогично — для просмотра очереди заданий. Чтобы изменить права доступа, нужно переходить во вкладку «Права доступа» раздела «Инфо». Все стандартные операции, касающиеся работы с FTP, собраны в меню «Действие». В программе можно заметить окно поиска, но, как оказалось, это некий фильтр по названиям, но никак не поиск по файлам.
В связи с очень простым интерфейсом Cyberduck нельзя назвать оптимальным клиентом для работы с вышеназванными сервисами. Однако, как файловый менеджер для просмотра документов он вполне сгодится. Можно лишь возлагать надежды на то, что разработчики «подтянут» функциональность в одном из направлений — либо работа с FTP, либо поддержка облачных сервисов.
Несмотря на поддержку FTP, SFTP и других протоколов, Cyberduck сгодится лишь для закачки или скачивания файлов, просмотра документов на сервисе Документы Google и других простых операций. То есть, предусмотрена самая базовая работа с заявленными протоколами и сервисами.
Плюсы
- Унифицированный интерфейс
Минусы
- Малое количество настроек
- Неудобный файловый менеджер
- Слабая поддержка облачных сервисов
Общее сравнение предлагаемых программных обеспечений
Таблица 1.
Общее сравнение предлагаемых решений
FileZilla |
FTPRush |
CuberDuck |
|
Год разработки |
2001 |
2004 |
2001 |
Компания владелец |
Tim Kosse |
TianHong.NC China |
David V. Kocher |
SFTP |
Да |
Да |
Да |
FTPS |
Да |
Да |
Да |
FTP over SSH |
Да |
Да |
|
FXP |
Нет |
Да |
|
Поддерживаемые ОС |
Windows/Linux/BSD/Mac OS/Unix |
Windows |
Windows/Mac OS |
Сжатие данных |
Да |
Да |
Нет |
Тип лицензии |
GPL |
Проприетарная |
GPL |
Возможность корпоративного использования |
Skype-connect |
Нет |
Нет |
Цена |
Бесплатно |
$29,95 |
Бесплатно |
Внедрение программного обеспечения
На данный момент в компании функционирует аппаратное обеспечение CuberDuck. Нам потребуется установить программное обеспечение Filezilla.
Инсталляционная версия
Удостоверьтесь, что ваш пользовательский аккаунт позволяет вам выполнять администрационные действия, в том числе установку программного обеспечения.