Принципы работы ping-запросов и сканирования
Ping-запросы, отдельные или массовые, используют атрибуты протокола интернета для получения информации. Операционные системы всех компьютеров имеют встроенную утилиту для осуществления ping-запросов. Утилита по отправке ping-запросов отправляет пакет запроса ICMP ECHO указанной системе и ожидает ответа ICMP ECHO. Если ответ получен, ping-утилита выводит сообщение о том, что система-жертва работает. Если ответ не получен, выводится соответствующее сообщение. Для осуществления массовых ping-запросов необходима программа, осуществляющая их отправку по адресам указанного диапазона.
Некоторые средства отправки ping-запросов и адреса URL, необходимые для их загрузки, указаны в табл. 1.2. Системы, приславшие ответ, отображаются в виде "живых" адресов (см. рис. 2.4).
Рис. 2.4. Данные, полученные путем массового ping-запроса (скриншот программы Grims Ping для Windows 2000)
Сканирование посредством ping-запросов можно обнаружить. По этой причине осторожные хакеры, как правило, избегают использования случайного ping-сканирования. Если есть такая возможность, они выполняют ping-запросы избирательно в надежде, что отдельный ping-запрос не будет замечен, или используют другие формы рекогносцировки.
Простым способом защиты от внешних ping-запросов является блокирование ping-сканирования посредством фильтрации ICMP на сетевых экранах и маршрутизаторах. Администраторы, для которых проблема безопасности является одной из главных, обычно настраивают эти устройства на отклонение всех ping-запросов, поступающих извне. Но такая защита работает до тех пор, пока сетевой экран не будет взломан.
При сканировании портов также используются атрибуты TCP, UDP и ICMP, но выполняются другие действия. Сканирование портов осуществляется программой для сбора информации о состоянии портов TCP и UDP системы-жертвы. Сканер отправляет пакет данных (зонд) на порт с последующим ожиданием ответа. По полученному ответу определяется, является ли порт открытым, занятым или закрытым, он содержит косвенные данные о том, какое приложение использует данный порт.
Ниже приведен пример сканирования, направленного на отдельный компьютер, с помощью утилиты Nmap.
Interesting ports on (xxx.xxx.x.xx): Port State Protocol Service 21 open tcp ftp 80 open tcp http
В зависимости от используемой программы сканируются отдельные порты отдельного компьютера, выполняется массовое сканирование портов и компьютеров. В интернете доступно множество бесплатных средств сканирования. Самой популярной является программа Nmap, доступная как для Microsoft Windows, так и для UNIX. Часто используется программа Nessus. Обе программы содержат широкий набор возможностей сканирования для зондирования больших и малых компьютерных сетей.
Сканирование порта позволяет с определенной степенью конфиденциальности выяснить, какие приложения и службы выполняются на компьютере-жертве. Например, если открыты порты 21 и 80, хакер может предположить, что на компьютере работают службы протоколов FTP и HTTP соответственно. Это достаточно весомая информация, так как каждый порт, ожидающий приема данных, является потенциальным каналом связи с компьютером-жертвой, а каждое приложение или служба представляет собой точку атаки, если хакер знает об уязвимых местах системы (или имеет соответствующую программу).