2

Я читал FTP rfc и, следовательно, имел эту идею.

Предположим, есть несколько общедоступных ftp-серверов, которые разрешают вход анонимного пользователя. Я открываю контрольное соединение на порту 21 для каждого из этих серверов.

Теперь предположим, что на example.com есть веб-сервер с IP-адресом xyzw, который прослушивает порт 80. FTP позволяет пользователю указать хост, на котором должно быть установлено соединение для передачи данных. Таким образом, пользователь указывает хост и номер порта веб-сервера example.com. Теперь ftp-сервер начинает отправлять данные на example.com, для которых он не является действительным HTTP-запросом, и, следовательно, он отклоняется. Но example.com отмечает, что неверный http-запрос поступил с общедоступного FTP-сервера, а не с моего IP-адреса. Разве это не может привести к распределенной атаке с использованием всех общедоступных FTP-серверов?

Хуже того, данные, отправляемые ftp-сервером, могут быть действительным http-запросом, который может инициировать example.com отправлять файл обратно на ftp-сервер.

Есть ли решение для этого или это вообще не проблема?

2 ответа2

4

Это не проблема, потому что целевой веб-сервер отклонит передачу от вашего ftp-хранилища. Даже если данные для передачи являются действительным http-запросом, рукопожатия протокола не будут совпадать, и соединение будет закрыто. Таким образом, ваши первоначальные запросы ftp потребуют больше ресурсов вашего исходного компьютера, чем ваша цель будет получать в трафике.

Здесь все еще может быть распределенная уязвимость. Если вы запускаете ботнет, вы можете использовать элементы в ботнете для запуска атаки. Каждый отдельный участник будет по-прежнему использовать больше пропускной способности, чем он создал, но это не ваша пропускная способность, так что все в порядке. Преимущество, которое это дает вам, как беспокоящему, состоит в том, что оно помогает защитить ваши захваченные зомби от обнаружения; это может быть один из способов замаскировать, где прячутся ваши зомби. К счастью, я ожидаю, что этот дополнительный уровень косвенности - больше проблем, чем оно того стоит.

Эту атаку также было бы относительно легко защитить. В мире существует ограниченное и фиксированное количество потенциальных анонимных публичных ftp-серверов, которые вы можете использовать. Эти серверы также обычно не используются для обычного http-трафика. Так что, как хороший сетевой администратор, если вы оказались целью такой атаки, вы можете просто заблокировать эти машины по ip на вашем маршрутизаторе, прежде чем запросы достигнут вашего веб-сервера. В традиционной распределенной атаке это было бы плохо, потому что вы также отключили бы много легитимного трафика. Но в этом случае очень немногие из IP-адресов, участвующих в атаке, будут каждый отправлять вам законный трафик, и поэтому их можно безопасно заблокировать.

0

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .