Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

6 семак / 14 лаба

.docx
Скачиваний:
8
Добавлен:
23.02.2024
Размер:
12.06 Mб
Скачать

Министерство науки и высшего образования Российской Федерации

Федеральное государственное бюджетное образовательное учреждение высшего образования

«ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ» (ТУСУР)

Кафедра комплексной информационной безопасности электронно-вычислительных систем (КИБЭВС)

Настройка и использование системы обнаружения вторжений (Zeek)

Отчет по лабораторной работе №14

по дисциплине «Защита информации в компьютерных сетях»

Студент гр. 711-2

_______ А. А. Калинин

_______Е. П. Толстолес

______.2024

Руководитель

Преподаватель каф. КИБЭВС

_______ К. И. Цимбалов

______.2024

Томск 2024

Введение

Цель работы состоит в изучении основных возможностей Zeek для проведения анализа сетевого трафика, анализа журналов Zeek, а также использовании утилит и инструментов в практических примерах для кастомизации логов в условиях реальной сетевой инфраструктуры.

Задачи:

  1. Изучить теоретический материал;

  2. Запустить и настроить экземпляр Zeek, используя утилиту ZeekControl;

  3. Обработать файлы захвата с использованием системы Zeek;

  4. Генерировать и анализировать сетевой трафик с помощью Zeek;

  5. Генерировать лог-файлы Zeek;

  6. Использовать инструменты терминала системы Linux в сочетании с утилитой zeek-cut для изменения вывода данных из лог-файла для дальнейшего анализа;

  7. Использовать инструменты и команды Linux для обработки текстовых файлов;

  8. Применять скрипты командной оболочки Linux и скриптовый язык AWK;

  9. Объединять AWK с утилитой zeek-cut для того, чтобы форматировать/изменять файлы журналов;

  10. Написать и защитить отчёт о проделанной работе.

1 Ход работы

После установки и первоочередной настройки виртуальной машины, запустим LXTerminal, перейдем в директорию Zeek и запутим утилиту ZeekControl (рисунок 1.1).

Рисунок 1.1 – Запуск утилиты ZeekControl

Далее инициируем систему Zeek. Запуск, остановка и возобновление работы Zeek изображены на рисунках 1.2 – 1.3.

Рисунок 1.2 – Запуск, остановка Zeek и вывод текущего статуса

Рисунок 1.3 – Возобновление работы Zeek

Проверка статуса процесса Zeek представлена на рисунке 1.4.

Рисунок 1.4 - Статус процесса Zeek

Далее используем возможности Zeek для анализа сетевого трафика. Перейдем в директорию Zeek-Labs, запустим анализ файла pcap в автономном режиме и откроем лог-файл в целях проверки наличия признаков атаки типа brute-force (рисунок 1.5).

Рисунок 1.5 - Анализ файла pcap и вывод результата

Затем откроем программу MiniEdit, загрузим топологию (рисунок 1.6) перейдем в директорию Zeek-Topologies и откроем топологию «Topology.mn» (рисунок 1.7).

Рисунок 1.7 - Выбор директории Zeek-Topologies

Откроем терминал виртуальной машины zeek2 и перейдем в директорию TCP-Traffic, запустим захват сетевого трафика в реальном времени на интерфейсе zeek2-eth0, а результаты сохраним в файле ntraffic.pcap (рисунок 1.8).

Рисунок 1.8 – Запуск захвата сетевого трафика

Далее сгенерируем трафик на виртуальной машине zeek1 (рисунок 1.9). А после остановим захват трафика в виртуальной машине zeek2 (рисунок 1.10).

Рисунок 1.9 – Генерация трафика

Рисунок 1.10 - Остановка захвата сетевого трафика

Проанализируем захваченный трафик. Для этого в терминале виртуальной машины Zeek_Master перейдем в директорию TCP-Traffic и просмотрим список всех файлов данной директории, находим файл файл ntraffic.pcap (рисунок 1.11), а затем запускаем анализ захвата в оффлайн режиме и выводим сгенерированные лог-файлы (рисунок 1.12).

Рисунок 1.12 – Анализ захвата файла ntraffic.pcap

Выведем содержимое лог-файла conn.log (рисунок 1.13).

Рисунок 1.13 – Содержимое файла conn.log

Выполним обработку файла smallFlows.pcap из директории Zeek-Labs/TCP-Traffic. Сгенерированные лог-файлы после обработки представлены на рисунке 1.14.

Рисунок 1.14 – Просмотр сгенерированных лог-файлов после обработки файла захвата smallFlows.pcap

Выполним парсинг лог-файла conn.log с использованием cat, head с параметром и без (рисунки 1.15 – 1.17).

Рисунок 1.15 – Результат парсинга с cat

Рисунок 1.16 – Результат парсинга с head без параметра

Рисунок 1.17 – Результат парсинга с head с параметром

Вывод данных, полученных с помощью утилиты zeek-cut в текстовый файл представлен на рисунке 1.18, верхних 10 строк нового файла output.txt представлен на рисунке 1.19, а экспорт файла в формате csv на рисунке 1.20 и верхних строк файла output.csv на рисунке 1.21.

Рисунок 1.18 – Вывод данных

Рисунок 1.19 – Вывод первых 10 значений

Рисунок 1.20 – Вывод результата выполнения zeek-cut в файл output.txt

Рисунок 1.21 – Вывод значений первых 10 строк файла output.csv

Далее запустим виртуальную машину Zeek_Master, затем программу LXTerminal, и запустим систему Zeek. После перейдем в директорию Zeek-Labs, создадим файл сценария lab2script.sh (рисунок 1.22).

Рисунок 1.22 – Запуск системы Zeek и создание файла сценария lab2script.sh

Затем запишем в файл lab2script.sh новый сценарий (рисунок 2.23), после чего запустим скрипт (рисунок 2.24).

Рисунок 2.23 – Запись нового сценария

Рисунок 2.24 – Запуск скрипта

Затем перейдем в директорию рабочего пространства лабораторных работ, для просмотра файлов директории TCP-Traffic (рисунок 2.25).

Рисунок 2.25 – Файлы директории

Допустим имеется следующая задача: необходимо вывести 10 IP адресов источников, генерирующих наибольшее количество сетевых пакетов. Расположить адреса в порядке убывания количества пакетов. Сначала перепишем сценарий обработки файла захвата smallFlows.pcap так, как представлено на рисунке 2.26, а после сохраним его и запустим (рисунок 2.27).

Рисунок 2.26 – Изменения в файле lab2script.sh

Рисунок 2.27 – Результат выполнения сценария

Следующая задача: Необходимо вывести 10 портов назначения, которые получили больше всего сетевых пакетов. Расположить в порядке убывания. Сначала обратимся к столбцу id.resp_p, потому что он содержит значения портов назначения захваченных сетевых пакетов. Необходимо изменить файл lab2script.sh, а затем запустить его (рисунки 2.28 – 2.29).

Рисунок 2.28 – Новые изменения в файле

Рисунок 2.29 – Результат выполнения сценария

Следующая задача: необходимо вывести число подключений для каждой сетевой службы. Для этого обратимся к столбцу service, изменим тот же сценарий и запустим его (рисунки 2.30 – 2.31).

Рисунок 2.30 – Изменение содержимого в файле lab2script.sh

Рисунок 2.31 – Результат выполнения сценария

Следующая задача: необходимо вывести все браузеры, используемые хостами, в анализируемом сетевом трафике, в отдельный файл. Чтобы решить ее изменим содержимое файла lab2script.sh, как показано на рисунке 2.32, а затем запустим его и отобразим содержимое файла browser.txt (рисунок 2.33).

Рисунок 2.32 – Изменение содержимого в файле lab2script.sh

Рисунок 2.33 – Содержимое файла browser.txt

Следующая задача: нужно найти IP-адреса источника и назначения всех сеансов связи TCP и UDP, которые длились более одной минуты. Открываем, меняем содержимое файла lab2script.sh и запускаем сценарий (рисунки 2.34 – 2.35).

Рисунок 2.34 – Изменение содержимого в файле lab2script.sh

Рисунок 2.35 – Результат выполнения сценария

Следующая задача: необходимо вывести 10 IP-адресов источников, сгенерировавших наибольший объём сетевого трафика (в байтах). Расположить адреса в порядке убывания объема трафика. Для решения этой задачи используем предварительно подготовленный AWK сценарий под названием lab3_sec3-2.awk (рисунок 2.36). Затем введем команду для парсинга лог-файла conn.log по заданным параметрам с помощью утилиты zeek-cut и применения AWK сценария lab3_sec3-2.awk (рисунок 2.37).

Рисунок 2.36 – Подготовленный AWK сценарий lab3_sec3-2.awk

Рисунок 2.37 – Команда для вывода IP-адреса источника и числа байт

Последняя задача: необходимо обнаружить IP-адреса веб-серверов, запущенных на нестандартизированных портах. Сначала обратимся столбцу service, чтобы зафиксировать пакеты протокола HTTP. Далее в текстовом редакторе nano откроем и изменим сценарий lab2script.sh, как показано на рисунке 2.38, а после запустим его (рисунок 2.39).

Рисунок 2.38 – Изменение содержимого файла lab2script.sh

Рисунок 2.39 – Результат выполнения сценария

Заключение

В результате выполнения данной лабораторной работы были изучены основные возможности Zeek для проведения анализа сетевого трафика, анализа журналов Zeek, а также использованы утилиты и инструменты в практических примерах для кастомизации логов в условиях реальной сетевой инфраструктуры. Поставленные задачи были выполнены без затруднений.

Отчет составлен согласно ОС ТУСУР 2021.

Соседние файлы в папке 6 семак