А. Н. Андрончик, В. В. Богданов, Н. А. Домуховский, А. С. Коллеров, Н. И. Синадский, Д. А. Хорьков
Скачать 9.2 Mb.
|
Edit ⇒ Find Next и Edit ⇒ Find Previous используются для поиска с заданными критериями следующего или предыдущего пакета со- ответственно. 23 ВЫПОЛНИТЬ! 12. Найдите все пакеты с помощью выражения фильтрации «icmp.type==0». 13. Найдите все пакеты по строке «reply» в области общей информации о па- кете. 14. Найдите все пакеты по строке «reply» в панели декодера протоколов. 15. Проанализируйте результаты при разных вариантах поиска и дайте им объяснение. 1.6. Выделение ключевых кадров В списке буфера ключевые или наиболее важные для дальнейшего ана- лиза пакеты можно помечать с помощью команды Edit ⇒ Mark Packet (toggle) основного меню или команды Mark Packet (toggle) контекстного меню. Эта возможность полезна при дальнейшем поиске таких пакетов в большом буфе- ре, так как они выделяются другим цветом, а также при сохранении, экспор- тировании и печати пакетов. Информация о маркированных пакетах нигде не сохраняется, поэто- му все маркеры будут потеряны при выгрузке файла данных. ВЫПОЛНИТЬ! 16. Пометьте первый и последний пакеты, относящиеся к функционированию команды Ping. 1.7. Сохранение данных захвата Сохранение данных в файле производится из меню File ⇒ Save или File ⇒ Save As. Диалоговое окно сохранения данных изображено на рис. 1.5. Обратите внимание, что сохранить можно все пакеты (All packets), только отображаемые (Displayed), выбранный пакет (Selected packet only), ра- нее маркированные с помощью основного или контекстного меню (Marked packet only и From first to last marked packet) или указанный диапазон пакетов (Specify a packet range). По умолчанию Ethereal сохраняет данные в файле ти- па Libpcap, совместимом по формату с файлами программы TcpDump, но пу- тем указания определенного формата в строке ввода «File Type» этого диало- гового окна данные захвата можно сохранять для экспорта в другие програм- мы анализа трафика (около двадцати поддерживаемых в настоящее время форматов). Не забывайте сохранять данные, прежде чем начинать другой сеанс записи. 24 Рис. 1.5. Диалоговое окно сохранения данных ВЫПОЛНИТЬ! 17. Сохраните все захваченные кадры в файле с именем «arp-ping» в каталоге, предлагаемом программой по умолчанию. 18. Сохраните в файле с именем «ping» только трафик команды Ping. 1.8. Печать информации Распечатка информации о том или ином пакете или их множестве осу- ществляется посредством выполнения команды Print основного или контекст- ного меню. Диалоговое окно печати данных изображено на рис. 1.6. При печати есть возможность осуществить вывод в указанный файл (Output to file) в виде простого текста (Plain text), определив диапазон распеча- тываемых пакетов (Packet Range) и формат вывода информации (Packet Format). Опции панели «Packet Range» полностью идентичны опциям соответ- ствующей панели диалогового окна сохранения данных. При определении формата вывода в панели «Packet Format» есть возможность включить общую характеристику пакета (информацию верхней панели основного окна — «Packet summary line»), информацию, отображаемую на панели декодера про- токолов с той или иной степенью детализации (Packet details) и собственно сам пакет в шестнадцатеричном виде (Packet bytes). 25 ВЫПОЛНИТЬ! 19. Выберите указателем мыши в списке пакетов первый ICMP-запрос и со- храните в файле «1.txt» информацию о нем с максимально возможной де- тализацией всех заголовков в декодере протоколов. Рис. 1.6. Диалоговое окно печати данных 1.9. Просмотр кадра в отдельном окне При составлении отчетов с использованием «скриншотов», а иногда и при анализе данных для просмотра двух пакетов одновременно удобно ис- пользовать возможность отображения пакета в отдельном окне. Это реализуется с помощью команды «Show Packet in New Window» контекстного или основного меню программы «View». Окна, отображающие различные пакеты, показаны на рис. 1.7. ВЫПОЛНИТЬ! 20. Пользуясь информацией об изображенных на рис. 1.7 пакетах, приведите обоснованные доводы, доказывающие их взаимосвязь. 1.10. Анализ протоколов Ethernet и ARP При анализе протоколов Ethernet и ARP, которые находятся в иерархии протоколов ниже IP, для выключения отображения «лишней» информации на 26 панелях программы целесообразно отключить в программе анализ заголовка IP. Это реализуется с помощью команды «Enabled Protocols…» основного ме- ню программы «Analyze». В диалоговом окне данной команды необходимо найти протокол IP, убрать соответствующий маркер, затем последовательно нажать кнопки «Apply» и «OK» (рис. 1.8). Рис. 1.7. Отображение пакетов в отдельных окнах ВЫПОЛНИТЬ! 21. Отключите анализ заголовка IP. В ряде случаев при отключении анализа заголовка IP отображаемые в списке буфера IP-адреса источника и получателя могут измениться! 22. Отобразите в отдельных окнах пакеты запроса и ответа протокола ARP и ответьте на следующие вопросы: a. Какое значение поля «тип протокола» в кадре Ethernet указывает на протокол ARP? b. По какому MAC-адресу отправлен запрос ARP? c. По какому MAC-адресу отправлен ответ ARP? d. Каким полем идентифицируются запрос и ответ ARP? e. В каких полях заголовка ARP передан запрос вашего узла? 27 f. В каких полях заголовка ARP передан ответ вашему узлу? 23. Загрузите созданный вами файл «1.txt» в редактор, допускающий выделе- ние символов различным цветом. 24. Выделите различным цветом поля заголовка Ethernet в шестнадцатерич- ном представлении пакета. 25. Укажите, где находится поле контрольной суммы кадра Ethernet? 26. Захватите сетевой трафик вашего узла при обращении к стартовой страни- це поисковой системы Google и ответьте на следующие вопросы: a. Какие IP-адреса отображаются для узлов, участвующих в обмене по протоколу IP? b. Какие MAC-адреса имеют узлы, участвующие в обмене по протоколу IP? Рис. 1.8. Окно выбора протоколов для анализа 27. Включите анализ заголовка IP и ответьте на следующие вопросы: a. Какие IP-адреса отображаются для узлов, участвующих в обмене по протоколу IP? b. Какие MAC-адреса имеют узлы, участвующие в обмене по протоколу IP? c. Какой IP-адрес имеет узел с MAC-адресом, присутствующим во всех кадрах с протоколом IP? Какова роль этого узла? 28 1.11. Анализ протоколов IP и ICMP ВЫПОЛНИТЬ! 28. Переключитесь в текстовый редактор и выделите различными цветами по- ля заголовка IP в шестнадцатеричном представлении пакета. Опишите на- значение этих полей. 29. Загрузите созданный вами файл «ping». Сохраните два кадра «запрос — ответ» с требуемой детализацией для анализа полей ICMP и опишите на- значение этих полей. 30. Проведите захват трафика команд Ping и PathPing при одинаковых значе- ниях параметров -l и -n и проанализируйте различия в трафике этих ко- манд. 31. Захватите сетевой трафик вашего узла при трассировке маршрута к поис- ковой системе Google (команда TraceRt) и ответьте на следующие вопросы: a. Почему MAC-адреса назначения и источника у всех кадров одинако- вы и чьи это адреса? b. Почему узлы присылают ICMP сообщение «type 11»? c. Почему различные узлы присылают ICMP сообщение «type 11» на запрос к одному и тому же узлу? d. Сколько таких узлов, какие у них IP-адреса? e. Какова структура ICMP сообщения «type 11»? f. Какие поля ICMP одинаковы, а какие различны в последних трех за- просах? 32. С помощью фильтра отобразите только ICMP-запросы. Приведите выра- жение фильтрации и объясните, почему выражения icmp.type == 8 и ip.src == X.X.X.X (где X.X.X.X — IP-адрес вашего узла) не приво- дят к желаемому результату. 33. Ответьте на следующие вопросы: a. Каковы размеры кадров Ethernet, заголовков IP и сообщений ICMP, меняются ли они в процессе выполнения команды? b. Фрагментируются ли IP-дейтаграммы, передаваемые узлом? c. Какие поля заголовка IP меняются, а какие остаются неизменными в каждом пакете трафика? d. Какое поле заголовка IP изменяется в каждой тройке передаваемых кадров и для каких целей оно служит? e. Каким образом можно быстро определить число промежуточных маршрутизаторов на маршруте, если известно, что последний запрос, находящийся в буфере, достиг целевого узла? 34. С помощью фильтра отобразите только ICMP-сообщения, получаемые ва- шим узлом, и ответьте на следующие вопросы: a. Меняются ли в процессе выполнения команды размеры заголовков IP и сообщений ICMP? Чем можно объяснить данную ситуацию? 29 b. Имеются ли в буфере кадры, которые нельзя фрагментировать, и от какого узла они получены? 35. Захватите сетевой трафик функционирования команды Ping при проверке доступности сервера Google с параметром «r», равным 5. Сохраните дан- ные в файле с именем «ping-r5». Ответьте на следующие вопросы: a. Поясните назначение параметра -r в команде Ping. b. Каким образом в кадрах передается информация о маршруте? c. Почему значение параметра -r в команде Ping не может быть боль- ше 9? d. Каким образом ведут себя значения полей идентификатора и после- довательного номера в заголовке ICMP захваченных кадров? 36. Захватите сетевой трафик функционирования команды Ping при проверке доступности сетевого узла вашего компьютерного класса с параметром «s», равным 4. Сохраните данные в файле с именем «ping-s4». Ответьте на сле- дующие вопросы: a. Поясните назначение параметра -s в команде Ping. b. Каким образом в кадрах передается штамп времени? c. Почему значение параметра -s в команде Ping не может быть боль- ше 4? 37. Захватите сетевой трафик функционирования команды Ping при проверке доступности сетевого узла вашего компьютерного класса с параметром «l», равным 3500, и «n», равным 1. Сохраните данные в файле с именем «ping3500». Ответьте на следующие вопросы: a. Сколько кадров передано и получено вашим узлом? b. Сколько IP-дейтаграмм передано и получено вашим узлом? c. Были ли IP-дейтаграммы подвергнуты фрагментации, какие поля за- головка IP указывают на это? d. Сколько фрагментов IP-дейтаграмм оказалось в буфере захвата? e. Какой размер исходной дейтаграммы, подвергнувшейся дефрагмен- тации? f. Какие размеры разных фрагментов одной и той же дейтаграммы? g. Меняется ли идентификатор дейтаграммы в ее фрагментах, каково его значение? h. Какие поля заголовка IP предназначены для сборки исходной дейта- граммы из фрагментов в правильной последовательности? i. В каких фрагментах исходных дейтаграмм присутствует заголовок ICMP? j. Проанализируйте результаты и приведите схему обмена сообщения- ми ICMP между узлами. 38. С указанием значений всех необходимых полей заголовков покажите взаимосвязь кадров в рамках обмена «запрос — ответ» протокола ICMP. 30 1.12. Анализ протокола TCP ВЫПОЛНИТЬ! 39. Захватите сетевой трафик при обращении к стартовой странице сервера www.ethereal.com. Для отображения в буфере кадров с протоколом TCP примените соответствующее выражение фильтрации. В буфере захвата у вас находятся кадры, принадлежащие обмену клиен- та с сервером по протоколу HTTP, но в рамках текущего упражнения при- кладной протокол нас не интересует, поэтому по аналогии с упражнением № 21 отключите анализ протокола HTTP. Фрагмент панелей со списком кад- ров после отключения анализа протокола FTP показан на рис. 1.9: Рис. 1.9. Отображение информации о протоколе TCP Обратите внимание, что теперь по каждому захваченному кадру приво- дится информация, касающаяся только протокола TCP. Например, для пакета № 4 (рис. 1.9) запись «1061> ftp» означает порты источника и назначения, «[PSH, ACK]» — установленные биты флагов, «Seq=1» — последовательный номер, «Ack=1» — номер подтверждения, «Win=16560» — размер приемного окна, «Len=398» — размер пересылаемого блока данных. 31 Каждая TCP-сессия (причем при обращении к одной странице сессий может быть несколько!) начинается с обмена тремя TCP-сегментами с уста- новленными битами SYN, SYN-ACK и ACK. На рис. 1.9 можно видеть откры- тие трех сессий TCP (кадры с номерами 1, 2, 3; 9, 14, 15; 30, 31, 32 соответст- венно). ВЫПОЛНИТЬ! 40. Определите количество сеансов TCP в буфере захваченных пакетов. На рис. 1.9 также видно, что сеансы TCP начинаются с относительных последовательных номеров, равных нулю. Для того чтобы отобразить реаль- ные последовательные номера, выбранные узлами при взаимодействии, необ- ходимо выполнить команду меню Edit ⇒ Preferences, в появившемся диало- говом окне (фрагмент диалогового окна см. на рис. 1.10) выбрать протокол TCP и убрать маркер в строке параметра «Relative sequence numbers and win- dow scaling». Рис. 1.10. Параметры анализа протокола TCP ВЫПОЛНИТЬ! 41. Отобразите реальные последовательные номера в рамках сеансов TCP. 42. Проанализируйте третий кадр в рамках какого-либо сеанса TCP и ответьте на следующие вопросы: a. Какие порты используются клиентом и сервером? 32 b. Какой начальный последовательный номер выбран клиентом? c. Присутствует ли в этом кадре поле подтверждения, каково его значе- ние? d. Какая длина заголовка TCP, присутствуют ли данные в этом кадре? e. Какой бит флагов установлен и для чего он служит? f. Какие дополнительные опции TCP передаются клиентом в этом кад- ре? g. Сохраните кадр и выделите различным цветом поля заголовка TCP, пояснив их назначение. Немаловажная возможность программы Ethereal по анализу TCP трафи- ка состоит в том, что с помощью команды меню Statistics ⇒ Conversations можно быстро определить все сеансы, имеющиеся в буфере. В диалоговом окне для отображения сеансов TCP необходимо выбрать закладку TCP (рис. 1.11). Рис. 1.11. Статистика по сеансам TCP ВЫПОЛНИТЬ! 43. Отобразите статистику сеансов TCP. 44. Выберите первый сеанс и с помощью контекстного меню Apply as Filter ⇒ Selected ⇒ A<—>B отобразите в буфере кадры, принадлежащие этому се- ансу. Для того чтобы быстро просмотреть передаваемые данные в рамках то- го или иного сеанса, используют команду меню Analyze ⇒ Follow TCP Stream. После выполнения команды на экране появится диалоговое окно, в котором 33 разными цветами будут отображены как запросы клиента, так и ответы сер- вера (рис. 1.12). Рис. 1.12. Восстановленный сеанс TCP Кнопка «Entire conversation» с раскрывающимся списком позволяет ото- бразить обе стороны, участвующие в обмене, или только одну из них. Диало- говое окно позволяет отобразить данные в различных форматах (ASCII, EBCDIC, Hex Dump, C Arrays, Raw) и сохранить их в файл. При обнаружении в сеансе кадров с каким-либо файлом можно отобразить лишь поток соответ- ствующего направления, выбрать необходимый формат и сохранить его на диск. ВЫПОЛНИТЬ! 45. Определите, что передавалось в рамках захваченных вами сеансов TCP. 34 2. ВЫЯВЛЕНИЕ СЕТЕВЫХ АТАК ПУТЕМ АНАЛИЗА ТРАФИКА 2.1. Этапы сетевой атаки Стандартные сетевые атаки производятся в три этапа: сбор информации, выявление уязвимых мест атакуемой системы и реализация выбранной атаки. Этап сбора информации заключается в изучении сетевой топологии атакуемой сети, определении типа и версии операционной системы атакуемо- го узла, выявлении доступных сетевых и иных сервисов, функционирующих на атакуемом узле. Этап выявления уязвимых мест атакуемой системы осуществляется по- сле или параллельно с этапом сбора информации. Его суть заключается в вы- яснении версий используемого на атакуемом узле сетевого ПО, выявлении его конфигурации и в анализе наличия уязвимостей в указанном ПО и его на- стройках. И, наконец, этап реализации атаки — это либо отправка определенных последовательностей сетевых пакетов на определенные сетевые службы, при- водящая к неработоспособности узла, либо выполнение каких-либо запросов к сетевым службам удаленного узла, результатом которых будет получение доступа к защищаемой информации. В целом первые два этапа не могут быть классифицированы как престу- пление. Как указывается в [1], компьютерными сетевыми преступлениями яв- ляются предусмотренные уголовным законодательством общественно опас- ные деяния, совершенные на основе удаленного доступа к объекту посяга- тельства с использованием глобальных компьютерных сетей в качестве ос- новного средства достижения цели. Таким образом, компьютерным преступ- лением является лишь третий этап — реализация атаки. Вместе с тем выполнение третьего этапа практически невозможно без проведения двух первых этапов атаки. Следовательно, защите должны подле- жать и информация о сетевой топологии, и перечень доступных сервисов, и версии программного обеспечения, и т. п. 2.2. Исследование сетевой топологии Задача изучения сетевой топологии заключается в выявлении сетевых узлов, присутствующих в заданном диапазоне адресов. При этом распростра- ненные сетевые сканеры, такие как nmap, netcat, InterNetView, решают данную задачу чаще всего путем ICMP-сканирования. Как известно, протокол ICMP используется для определения доступно- сти сетевых узлов. Стандартной программой, применяющей протокол ICMP, является утилита ping. Функционирование утилиты ping сводится к отправке на тестируемый узел запроса и получению ответа. Отправляемый запрос на- 35 зывается ICMP-запросом (тип пакета ECHO_REQUEST), а получаемый от- вет — ICMP-ответом (тип пакета ECHO_REPLY). Рис. 2.1. Исходящий ICMP-запрос Рис. 2.2. Входящий ICMP-ответ 36 Так, если на компьютере под управлением, например, ОС Windows 2000 с IP-адресом 192.168.200.1 производится выполнение команды ping 192.168.200.2 с целью тестирования доступности узла с IP-адресом 192.168.200.1, то в сети можно наблюдать четыре последовательно передавае- мые пары сообщений: исходящий ICMP-запрос (тип ICMP-пакета — 0х08, Echo, рис. 2.1) и входящий ICMP-ответ (тип ICMP-пакета — 0х00, Echo-Reply, рис. 2.2). Аналогичные пакеты имеют место при сканировании, которое произво- дится, например, сканером InterNetView (рис. 2.3). Единственным отличием является то, что вместо четырех последовательных пар пакетов в трафике при- сутствует только одна пара: ICMP-запрос и ICMP-ответ. Рис. 2.3. Окно сканера InterNetView В общем случае единичный входящий ICMP-запрос не является ата- кой — это лишь стандартное средство проверки доступности узла. Последова- тельное выполнение ICMP-запросов с перебором адресов из определенного диапазона уже можно рассматривать как атаку. Вместе с тем, если защищае- мая сеть является «клиентской сетью», т. е. не содержит серверов, предостав- ляющих сетевые услуги, то входящие в эту сеть ICMP-запросы также должны рассматриваться как атака. Для усложнения процесса выявления атаки перебор адресов может вес- тись не последовательно, а в псевдослучайном порядке. Как известно, при выполнении стандартного ICMP-запроса в ОС Win- dows 2000 происходит обмен стандартной текстовой строкой длиной 32 байта. Обычно данная строка представляет собой 26 букв английского алфавита, до- полненных шестью дополнительными символами. Вместе с тем объем переда- ваемых данных может быть существенно увеличен (до 65 535 байт) с целью передачи не стандартной последовательности, а некоторой специально подго- товленной команды или текста. В этом случае проявлением атаки могут быть исходящие ICMP-ответы, в которых может быть передана защищаемая ин- формация. 37 Кроме того, по получаемому ICMP-ответу, а именно по коду ICMP- пакета, злоумышленник может определить тип операционной системы тести- руемого узла с целью конкретизации дальнейшей атаки. Таким образом, в случае ICMP-пакетов атакой будем считать входящие ICMP-запросы и исходящие ICMP-ответы. Рис. 2.4. Запрос установки TCP-соединения 1. шего компьютера, например, 2. редство анализа сетевого трафика. Осуществите 3. манду для обнаружения в сети соседнего 4. тах убедитесь 5. . Сколько и каких сим- волов отправляется на искомый компьютер? |