Когда сетевой трафик входит в компьютер, он сначала обрабатывается Ethernet-драйвером. Драйвер далее передает трафик стеку протоколов TCP/IP (Transmission Control Protocol / Internet Protocol), который в свою очередь передает его приложениям. Программное обеспечение прослушивания сетевого трафика соединяется напрямую с Ethernet-драйвером и создает его копию. Для реализации этого UNIX предоставляет более открытый набор интерфейсов, несмотря на то что Windows-системы также предоставляют несколько инструментов. Таким образом, анализаторы трафика обычно являются частью UNIX-инструментариев для получения прав администратора / суперпользователя и редко частью Windows-инструментариев для получения прав администратора / суперпользователя.
Что прослушивать?
Существует много интересной информации для поиска во время наблюдения сети. В самом очевидном случае может быть перехвачена информация аутентификации (имена пользователей и пароли) и далее использована для получения доступа к ресурсу. Другие виды информации, такие как электронная почта и моментальные сообщения, также могут перехватываться. Все, что проходит через сеть, открыто глазам наблюдающего.
Получение информации аутентификации
Следующие подразделы предоставляют примеры разнообразных типов сетевого трафика, являющихся привлекательными нарушителю, ведущему прослушивание вашей сети. Подразделы упорядочены по протоколу или сервису, которому соответствует трафик, и никоим образом не представляют всеобъемлющий список.
В примере трафика в следующем разделе полужирным шрифтом выделено то, что посылается клиентской программой, стандартным шрифтом выделено то, что посылается сервером. В большинстве случаев нас интересует только трафик, создаваемый клиентом, так как именно этот трафик содержит информацию аутентификации. Более продвинутые анализаторы трафика могут также обследовать результирующие коды сервера для отфильтровывания неудачных попыток аутентификации.
Следующие разделы предоставляют краткий обзор типов информации аутентификации, которые могут быть собраны с соответствующих протоколов. Эти примеры были упрощены, и в некоторых случаях текущая версия данных протоколов поддерживает более продвинутые механизмы аутентификации, которые смягчают показанные риски. В случае общих Интернет-протоколов существуют запросы на комментарии (RFC), которые могут конкретизировать спецификации.
Прослушивание Telnet (порт 23)
Telnet исторически был сервисом, который нарушители прослушивают при попытке получения информации для входа в систему. Telnet не предоставляет безопасность на уровне сессий, пересылка имени пользователя и пароля через сеть производится в открытом виде, как показано здесь:
[~] % telnet localhost
Trying 127.0.0.1...
Connected to localhost.
Escape character is “^]”.
Red Hat Linux release 6.1 (Cartman)
Kernel 2.2.12-20 on an i686
login: oliver
Password: welcome
[18:10:03][redhat61]
[~] %Прослушивание FTP (порт 21)
Сервис протокола передачи файла (FTP) используется для передачи файла через сеть, также посылает свою информацию аутентификации в открытом виде. В отличие от Telnet, FTP может также использоваться для разрешения анонимного доступа к файлам, посредством чего пользователь использует имя пользователя «anonymous» или «ftp» и выдает случайный пароль. Информация протокола FTP обычно спрятана дружественным интерфейсом клиента, однако лежащий в основе аутентификации трафик имеет следующий вид:[~] % telnet localhost 21
Trying 127.0.0.1...
Connected to localhost.
Escape character is “^]”.
220 localhost FTP server (Version wu-2.5.0(1) Tue Sep 21
16:48:12 EDT 1999) ready.
USER oliver
331 Password required for oliver.
PASS welcome
230 User oliver logged in.Прослушивание POP (порт 110)
Сервис почтового протокола (POP) является сетевым сервисом, с помощью которого клиентские программы электронной почты соединяются для доступа к электронной почте пользователя на центральном сервере. POP сервера обычно находятся в сети поставщика услуг Интернет (ISP) для осуществления доставки сообщений электронной почты клиентам. POP-трафик часто не шифруется, и информация аутентификации посылается в открытом виде. Имя пользователя и пароль передаются на удаленный сервер посредством команд USER и PASS. Пример протокола: