Иллюстрированный самоучитель по защите в Интернет

"Потайные ходы"

datapipe

Реализация перенаправления портов с помощью утилиты netcat и ручная настройка этого процесса может оказаться довольно хлопотным делом. В Internet можно найти несколько программ, которые предназначены специально для этих целей. В системе UNIX очень популярна утилита datapipe. С ее помощью взломщик может обеспечить перенаправление данных так, чтобы пакеты принимались через порт 65000 и переадресовывались в систему NT (порт 139). Далее, на своем компьютере злоумышленник может настроить систему для выполнения прямо противоположных действий: запустить утилиту datapipe для прослушивания порта 139 и перенаправления сообщений на порт 65000 целевой системы. Например, для нападения на систему NT (172. 29.11.100), расположенную позади брандмауэра, на взломанном узле (172.29.11.2) нужно выполнить следующую команду.

datapipe 65000 139 172.29.11.100

Затем на собственном компьютере взломщику необходимо запустить утилиту datapipe для прослушивания порта 139 и пересылки полученных данных на порт 65000 взломанного узла.

datapipe 139 65000 172.29.11.2

Теперь через брандмауэр открыт доступ к системе NT (172.23.11. ICO). На рис. 14.4 показан пример реализации перенаправления портов и продемонстрирована эффективность этого метода. С помощью такого подхода можно обойти брандмауэры с фильтрацией пакетов, пропускающие сообщения, предназначенные для портов с большими номерами.

rinetd

Утилита rinetd – это "сервер перенаправления Internet", созданный Томасом Бутеллом (Thomas Boutell). Эта программа перенаправляет соединения TCP с одного IP-адреса и порта на другой. Таким образом, она. во многом похожа на программу datapipe. Программа работает как на базе интерфейса Win32 (включая Windows 2000), так и в системе Linux rinetd очень легко использовать: нужно просто создать конфигурационный файл, в котором указывается правило перенаправления. Этот файл имеет следующий формат:

адрес_привязки порт_прмвязки адрес_соединения порт_соединения

Запустить программу можно с помощью команды rinetd – с <имя_конфигурационного_файла>. Так же как и datapipe, эта утилита может оказаться очень эффективной против неправильно настроенного брандмауэра.

fpipe

Утилита fpipe предназначена для передачи/перенаправления данных с порта TCP. Ее разработали авторы этой книги, занимающие ключевые позиции в компании Foundstone, Inc. Эта программа создает поток TCP. исходящий из выбранного пользователем порта. Она прекрасно подходит для перенаправления, представленного на рис. 14.4, и в системе Windows может послужить равноценной заменой программы datapipe, применимой только к UNIX.

Одна из особенностей утилиты fpipe, отличающих ее от других средств перенаправления портов, которые можно использовать в системе Windows (таких как rinetd), заключается в возможности задания исходного порта передаваемого трафика. Чтобы оценить "проникающую" способность этой программы, нужно попробовать "обмануть" с ее помощью брандмауэр или маршрутизатор, которые пропускают поток сообщений лишь с определенных портов (например, пакеты с TCP-порта 25 могут обрабатываться почтовым сервером). Обычно в протоколе TCP/IP исходным портам, используемым для клиентских соединений, назначаются большие номера, а соответствующий поток сообщений фильтруется брандмауэром. Однако может оказаться, что брандмауэр пропускает трафик DNS (а в большинстве случаев это именно так). Тогда с помощью утилиты fpipe можно обеспечить прохождение этого потока с определенного исходного порта. В такой ситуации брандмауэр рассматривает этот поток как разрешенный и пропускает его.

Иллюстрированный самоучитель по защите в Интернет › Расширенные методы › "Потайные ходы"
Рис. 14.4. Перенаправление портов

Пользователи должны знать, что, если при задании порта-источника исходящего соединения был использован параметр – в и это соединение было закрыто, может оказаться невозможным установить его повторно (утилита fpipe сообщит, что адрес уже используется) до того момента, пока не истекут интервалы ожидания TIME_WAIT и CLOSE_WAIT, определяемые протоколом TCP. Эти интервалы ожидания могут варьироваться в диапазоне от 30 секунд до четырех минут и более, в зависимости от используемой версии операционной системы и ее версии. Эти интервалы ожидания определяются протоколом TCP и не являются ограничением самой утилиты fpipe. Причина возникновения такой ситуации заключается в том, что утилита fpipe пытается установить новое соединение с удаленным узлом с применением тех же комбинаций локальных IР-адреса/порта и удаленных IP-адреса/порта, что и в предыдущем сеансе. Новое же соединение не может быть установлено до тех пор, пока стеком протоколов TCP не будет решено, что предыдущее соединение не было полностью завершено.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.