Книга: Linux глазами хакера
10.7.1. Перехват соединения
10.7.1. Перехват соединения
Вспомним полный цикл соединения с FTP-сервером и передачи файлов:
1. Соединение с сервером.
2. Авторизация.
3. Запрос на скачивание файлов.
4. Сервер открывает порт и сообщает его клиенту.
5. Клиент подключается к указанному порту и получает или передает файл.
Очень сложно, но вполне вероятно направить соединение на себя. Хакеру нужно перехватить пакет, в котором сервер сообщает порт, и раньше авторизованного клиента успеть подключиться к этому каналу и передать на сервер свой или получить чужой файл.
Самое страшное — именно передача файла. Так как хакер вклинивается уже после авторизации, то он без проблем может транслировать данные, а сервер не контролирует, с какого адреса было запрошено соединение, и какой IP реально подключился. Если хакеру удастся перехватить такое соединение, то он сможет закачать свою программу, содержащую вирус или, например, троянскую программу.
В настоящее время в большинство FTP-клиентов уже встроили сравнение IP-адресов, подключенных к 21 порту и каналу для передачи данных. Это усложняет атаку, потому что теперь хакеру необходимо подделывать IP-адрес, что в случае с TCP-протоколом не так уж и просто.
Использование привязки к IP не всегда позволяет решить проблему. Если на пути соединения с FTP-сервером находится анонимный прокси-сервер или сетевой экран, маскирующий IP-адрес, то сервер будет видеть не реальный IP-адрес клиента, а IP-адрес proxy или Firewall.
Можно запретить пассивный режим, что закроет данный вопрос полностью. Но это не является панацеей от всех проблем с безопасностью. В следующем разделе мы увидим, что активный режим также далеко небезопасен.
А чего ждать? Активное соединение тоже можно перехватить, хотя это сделать немного сложнее. Если хакер получил доступ к компьютеру, который подключен к FTP-серверу, то достаточно дождаться момента, когда пользователь взломанного компьютера запросит передачу данных, и перехватить порт.
- 14.5.4. Перехват соединения
- Установление клиентского соединения с сервером
- 10.11.2 Поддержание соединения
- 17.4.2. Ожидание соединения
- Перехват в местах продажи
- Перехват всех исключений
- Потоковые соединения
- Перекрестные соединения
- Соединения
- Внешние соединения
- Перехват ошибок
- Глава 11. Соединения точка-точка и ретрансляторы