Подробнее о выходных данных TAP-сервера вы можете узнать в RFC1413, а мы лишь заметим, что для определения активности одного порта на сервере требуется перебор портов клиента от 1 000 до 65 535, что делает данный метод чрезвычайно неэффективным. Внимательный читатель, наверное, заметил, что все вышеописанные методы открытого сканирования перечислялись «от простого к сложному». К чему все эти сложности? Ответ очевиден: создатели методов имели вполне понятное желание обойти появляющиеся автоматизированные системы обнаружения сканирования. Поэтому до тех пор, пока не были разработаны все эти методы, имела место «гонка» между системами атаки и системами обнаружения и последовательно появлялись новые (на тот момент) методы сканирования.
Методы «невидимого» анонимного сканирования
Скрытая атака по FTP
Первым методом анонимного сканирования является метод, получивший название FTP Bounce Attack (скрытая атака по FTP). Протокол FTP (RFC 959) имеет ряд, как нам кажется, чрезвычайно интересных и недостаточно описанных функций, одна из которых – возможность создания так называемых «proxy» ftp-соединений с FTP-сервера. Если программная реализация FTP-сервера поддерживает режим proxy, то любой пользователь (и анонимный в том числе) может, подключившись к серверу, создать процесс DTP-server (Data Transfer Process – процесс передачи данных) для передачи файла с этого FTP-сервера на любой другой сервер в Internet. Функциональность данной возможности протокола FTP вызывает некоторое сомнение, так как в обычной ситуации ftp-клиент, подключающийся к серверу, передает и получает файлы либо непосредственно от себя, либо для себя. Представить иной вариант действий, на наш взгляд, достаточно сложно, но, видимо, создатели протокола FTP для его «будущего» развития предусмотрели подобную возможность, которая теперь выглядит несколько архаичной и отнюдь не безопасной.
Эта особенность протокола FTP позволяет предложить метод TCP-сканирования с использованием proxy ftp-сервера, состоящий в следующем: ftp-серверу после подключения выдается команда PORT с параметрами IP-адреса и TCP-порта объекта сканирования. Далее следует выполнить команду LIST, по которой FTP-сервер попытается прочитать текущий каталог на объекте, посылая на указанный в команде PORT порт назначения TCP SYN-запрос. Если порт на объекте открыт, то на сервер приходит ответ TCP SYN ACK и FTP-клиент получает ответы «150» и «226», если же порт закрыт, то ответ будет таким:
425. Can\'t Build Data Connection: Connection Refused (425. Невозможно установить соединение: в соединении отказано).