Опубликован: 20.02.2007 | Доступ: свободный | Студентов: 3481 / 786 | Оценка: 4.42 / 4.03 | Длительность: 40:03:00
Лекция 14:

Анализаторы сетевых потоков

BUTTSNIFFER

После того как мы потратили столько времени, дабы убедить вас, что анализаторы сетевых потоков могут быть респектабельными инструментами, используемыми респектабельными людьми в респектабельных целях, вполне логично, что первый такой инструмент в нашем обсуждении называется BUTTSniffer. Написанный одним из членов хакерской группы Cult of the Dead Cow (Культ мертвой коровы) (наиболее известной своим инструментом Back Orifice, которому BUTTSniffer отдает дань уважения - см. лекцию "Черный ход и средства удаленного доступа" ), BUTTSniffer представляет собой автономный, написанный для Windows и управляемый из командной строки, инструмент для анализа сетевых потоков. (Вы можете загрузить его с сайта http://packetstormsecurity.nl/sniffers/buttsniffer.) Это весьма функциональный, но довольно сложный в использовании инструмент, если вы не знакомы с его концепциями. Давайте преодолеем этот барьер.

Реализация

Первый шаг в изучении того, как использовать анализаторы сетевых потоков, состоит в том, чтобы сообщить ему, что мы хотим узнать. Мы делаем это через командную строку. Когда мы выполняем BUTTSniffer без опций, мы получаем резюме возможных опций:

BUTTSniffer v0.9 (c) 1998, Cult of the Dead Cow
Usage: buttsniff -{idl} <arguments>
    -i  (interactive)   arguments:  <device number> <port>
    -d  (disk dump) arguments:  <device number> <log file> 
  <dump type> [filter]
    -l  (list devices)  arguments:  (none)

Valid dump types are:
        r   (raw frames)    Dumps raw network traffic
        e   (encapsulation) Dumps decoded packets with 
  encapsulation information
        p   (protocol)      Dumps fully decoded packets with 
  protocol information
Valid filters are:
        A single number representing a port to be monitored (e.g. 80)
        A port range to be monitored (e.g. 141-1024)
        A filename containing a list of IP and port filter rules
        Read the 'readme.txt' for more information and examples.
        Filters are only active on dump type 'p'.

Итак, получается, что у BUTTSniffer есть только три режима: перечисление устройств, диалоговый и дамп на диск. Режим перечисления устройств сообщает, какие сетевые интерфейсы находятся на вашей машине. Каждому сетевому интерфейсу, даже адаптерам коммутируемой линии, назначены номера устройств. В двух других режимах инструмента BUTTSniffer вы должны знать номер устройства интерфейса, на котором хотите прослушивать трафик, так что режим перечисления устройств является первым шагом. Режимы дампа на диске и диалоговый немного сложнее в работе, они описаны далее.

Диалоговый режим

Мы начнем с диалогового режима, потому что он сделан с расчетом на новичков. Командная строка для диалогового режима просит вас указать номер устройства (для интерфейса, который вы хотите прослушивать) и порт. Теперь речь идет совсем не о том порте, о котором вы думаете. Вас спрашивают не о том, на каком порте вы хотите прослушивать трафик; вас просят, чтобы вы обеспечили доступный порт, с которым может связываться демон. Диалоговый режим устанавливает демона на указанном порте, скажем на порте 8888 (вы вводите buttsniff -i 0 8888 ). Затем вы можете напечатать telnet localhost 8888 в приглашении на ввод команды, и будете связаны с демоном. Вы должны увидеть главное меню диалогового режима программы BUTTSniffer со следующими опциями.

Monitor Connections. Первая опция, Monitor Connections (Прослушивание подключений), делает только то, что обозначено в названии. Любые IP-сеансы, которые ретранслируются, проходят мимо или через интерфейс, который мы наблюдаем (в нашем примере командной строки это интерфейс с номером устройства 0), должны здесь показываться. Мы можем исследовать эту опцию, открывая несколько Web- и telnet-подключений, и наблюдать, что получается в результате. Выберите Monitor Connections и нажмите клавишу ENTER.

Мы видим telnet и несколько Web-сеансов с моим IP-адресом. Если мы прокрутим список до определенного подключения, мы можем прослушивать это подключение. Здесь мы прослушиваем сессию telnet.

Вывод информации выглядит не очень привлекательно, но если вы внимательно посмотрите, то сможете увидеть, что мы только что перехватили пароль привилегированного (root) пользователя в этом блоке (guessme). Нажатия клавиши пользователя отображены в нижней части экрана, а вывод от команд выведен в верхнюю часть. После того как пользователь напечатал su, он напечатал также пароль привилегированного пользователя guessme. Как видно из вывода в верхней части экрана, он успешно получил привилегированный доступ. Если вы посмотрите вниз экрана, то увидите некоторые опции отображения, которые можно выбирать. Опция Full Screen (Весь экран) особенно полезна, если вас интересует только то, что печатает пользователь.

Помните заявление о том, что никто больше не должен пользоваться утилитой telnet? Причина как раз в этом. С помощью такого инструмента весь ваш трафик может читаться любым, кто сможет вклиниться между вами и вашим адресатом. Теперь взгляните на результат прослушивания SSH-сеанса в ответ на точно такие же действия и команды.

Не очень полезный результат, не так ли? Тем не менее, мы все еще можем наблюдать любой незашифрованный трафик, прибывающий на нашу машину или покидающий ее.