
Семестр 6 / Болтушкин Л.С., группа 712-2, лабораторная 5
.docxМинистерство науки и высшего образования Российской Федерации Федеральное государственное автономное образовательное учреждение высшего образования
«ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ» (ТУСУР)
Кафедра комплектной информационной безопасности электронно- вычислительных систем (КИБЭВС)
НАСТРОЙКА И ИСПОЛЬЗОВАНИЕ СИСТЕМЫ ОБНАРУЖЕНИЯ ВТОРЖЕНИЙ (ZEEK)
Отчет по лабораторной работе №5 по дисциплине
«Защита информации в компьютерных сетях»
Студент гр. 712-2
_______Л.С.Болтушкин
«__» __________2025 г.
Руководитель
Старший преподаватель
кафедры КИБЭВС
______ ______ Д.А.Баранов
«__» __________2025 г.
Введение
Целью данной лабораторной работы является продемонстрирование основных возможностей Zeek для проведения анализа сетевого трафика и анализа журналов Zeek.
Задачи:
Запустить и настроить экземпляр Zeek, используя утилиту ZeekControl;
Обработать файлы захвата с использованием системы Zeek;
Генерировать и анализировать сетевой трафик с помощью Zeek;
Генерировать лог-файлы Zeek;
Использовать инструменты терминала системы Linux в сочетании с утилитой zeek-cut для изменения вывода данных из лог-файла для дальнейшего анализа.
1 ХОД РАБОТЫ
В начале работы необходимы импортировать и настроить виртуальную машину, а именно выбрать тип подключения внутренняя сеть и имя: intnet (рисунок 1.1).
Рисунок 1.1 - Настройка сети виртуальной машины
После была открыта программа LXTerminal, которая открывает командную строку для взаимодействия пользователя с операционной системой через терминал (рисунок 1.2).
Рисунок 1.2 - Запуск терминала LXTerminal
Затем был выполнен переход в директорию Zeek, где расположена утилита ZeekControl, которая предназначена для управления установками Zeek.
С помощью команды ls был выведен список содержимого директории bin.
АА также была запущена утилита ZeekControl (рисунок 1.3).
Рисунок 1.3 - Процесс запуска утилиты ZeekControl
Далее была просмотрена доступная информация утилиты ZeekControl, с помощью команды: help (рисунок 1.4).
Рисунок 1.4 - Вывод информации об утилите ZeekControl
Для инициализации системы Zeek необходимо воспользоваться командой: start. Также была введена команда для просмотра статуса системы, который должен быть running.
Для остановки системы в утилите была использована команда: stop (рисунок
1.5).
Рисунок 1.5 - Запуск, остановка Zeek и вывод текущего статуса
Для проверки работы Zeek была выполнена команда по выводу списка выполняемых процессов в системе Linux (рисунок 1.6).
Рисунок 1.6 - Статус процесса Zeek
Далее был рассмотрен анализ файла pcap, в котором были замечены признаки атак, которые содержат тип brute-force. При данном варианте атаки взломщик подбирает различные варианты логинов и паролей с целью возможного входа в систему (рисунок 1.7).
Рисунок 1.7 - Анализ файла pcap и вывод результата
После была открыта программа Mininet, с помощью которой пользователь может создавать виртуальные сети и запускать сетевые приложения или протоколы.
В данной программе был выполнен просмотр топологии сети и открыта директория Zeek-Topologies (рисунок 1.8).
Рисунок 1.8 - Выбор директории Zeek-Topologies
В данной типологии находится две виртуальные машины.
Сначала был открыт терминал для второй виртуальной машины, где был запущен захват сетевого трафика (рисунок 1.9).
Рисунок 1.9 - Запуск захвата сетевого трафика
После был выполнен переход на первую виртуальную машину, где был сгенерирован трафик путём отправки эхо-запросов (рисунок 1.10).
Рисунок 1.10 - Генерация трафика
Затем было выполнено возвращение на виртуальную машину и остановлен процесс захвата сетевого трафика (рисунок 1.11).
Рисунок 1.11 - Остановка захвата сетевого трафика
Перед началом анализа захваченного сетевого трафика, был просмотрен список файлов в директории TCP-Traffic, а также найти сгенерированный файл для захвата трафика с помощью второй виртуальной машины (рисунок 1.12).
Рисунок 1.12 - Содержимое директории TCP-Traffic
После была выполнена инициализация анализа захвата в оффлайн режиме и выведен созданный лог-файл (рисунок 1.13).
Рисунок 1.13 - Анализ захвата файла ntraffic.pcap
Затем было выведено содержимое лог-файла, а после остановка Zeek (рисунки 1.14 - 1.15).
Рисунок 1.14 - Содержимое файла conn.log
Рисунок 1.15 - Корректная остановка работы Zeek
После завершения работы экземпляра Zeek, были сгенерированы различные лог-файлы.
А также было выведено содержимое журнала conn.log (рисунки 1.16 - 1.17).
Рисунок 1.16 - Просмотр сгенерированных лог-файлов после обработки файла захвата smallFlows.pcap
Рисунок 1.17 - Вывод содержимого журнала conn.log
Далее была рассмотрена утилита zeek-cut, предназначенная для извлечения информации из журналов.
Для того, чтобы выполнить передачу выведенных результатов, необходимо использовать команду: cat в zeek-cut (рисунок 1.18).
Рисунок 1.18 - Результат парсинга лог-файла conn.log с использованием cat
Для отображения верхних строк лог-файда, используется команда: head (рисунок 1.19).
Рисунок 1.19 - Результат парсинга лог-файла conn.log с использованием head
Для того, чтобы отобразить первые 10 пакетов, которые находятся в лог- файле, надо воспользоваться командой: head в zeek-cut (рисунок 1.20).
Рисунок 1.20 - Результат парсинга лог-файла conn.log с использованием head с параметром
Символ > используется для того, чтобы направить вывод в новый файл, который в дальнейшем будет подвергнут обработки с помощью других приложений (рисунок 1.21).
Рисунок 1.21 - Вывод результата выполнения zeek-cut в файл output.txt
После были выведены 10 первых строк из файла output.txt (рисунок 1.22).
Рисунок 1.22 - Вывод результата выполнения zeek-cut в файл output.txt и значений первых 10 строк файла output.txt
Далее был рассмотрен журнал notice.log, который используется для регистрации уведомлений в Zeek (рисунок 1.23).
Рисунок 1.23 - Формат журналов Zeek
В файле lab2script.sh был создан новый сценарий. Данный код заменяет текущую директорию на установочную, после запускает новый экземпляр, изменяет директорию на рабочее пространство и в завершении вызывает команду с параметром -r для того, чтобы запустить обработку файла захвата smallFlows.pcap (рисунки 1.24 - 1.25).
Рисунок 1.24 - Запись нового сценария в файл lab2script.sh
Рисунок 1.25 - Запуск скрипта lab2script.sh
Далее рассмотрим директорию /Zeek-Labs/TCP-Traffic/. В данной директории
должны сохранится лог-файлы, которые были получены после выполнения сценария lab2script.sh (рисунок 1.26).
Рисунок 1.26 - Файлы директории TCP-Traffic
Затем снова был переписан сценарий в lab2script.sh и рассмотреть полученный результат (рисунки 1.27 - 1.28).
Рисунок 1.27 - Изменение содержимого файла lab2script.sh
Рисунок 1.28 - Результат выполнения сценария lab2script.sh
Далее опять был изменён сценарий так, чтобы он решал следующую задачу:
необходимо вывести 10 портов назначения, которые получили больше всего сетевых пакетов. Расположить в порядке убывания (рисунки 1.29 - 1.30).
Рисунок 1.29 - Изменение содержимого файла lab2script.sh
Рисунок 1.30 - Результат выполнения сценария lab2script.sh
После сценарий был изменён для решения задачи: необходимо вывести число подключений для каждой сетевой службы (рисунки 1.31 - 1.32).
Рисунок 1.31 - Изменение содержимого файла lab2script.sh
Рисунок 1.32 - Результат выполнения сценария lab2script.sh
Для того, чтобы вывести все браузеры, используемые хостами, в анализируемом сетевом трафике в отдельный файл, необходимо изменить сценарий файла lab2script.sh (рисунок 1.33).
Рисунок 1.33 - Изменение содержимого файла lab2script.sh
После запуска сценарий, была выполнена команда: nano TCP- Traffic/browser.txt. Эта команда отображает содержимое файла, в котором хранятся браузеры, которые были захвачены в ходе обработки файла (рисунок 1.34).
Рисунок 1.34 - Содержимое файла browser.txt
Далее был написан сценарий, которой выбирает строки из файла, которые имеют в девятом поле значение больше 60 (рисунок 1.35).
Рисунок 1.35 - Изменение содержимого файла lab2script.sh
После был просмотрен заранее подготовленный AWK сценарий: lab3_sec3-
2.awk (рисунок 1.36).
Рисунок 1.36 - Вывод подготовленного AWK сценария lab3_sec3-2.awk
Затем были выведены IP-адрес источника и число байт, которые поступили с соответствующего IP-адреса (рисунок 1.37).
Рисунок 1.37 - Команда для вывода IP-адреса источника и числа байт
Последний сценарий выполняет обработку дынных из conn.log, тем самым извлекает и применяет фильтр информации связанных с определённым протоколом (рисунки 1.38 - 1.39).
Рисунок 1.38 - Изменение содержимого файла lab2script.sh
Рисунок 1.39 - Результат выполнения сценария lab2script.sh
В завершение работы была выполнена остановка текущего экземпляра Zeek (рисунок 1.40).
Рисунок 1.40 - Корректная остановка работы Zeek
Заключение
В ходе выполнения лабораторной работы были продемонстрированы основные возможности Zeek для проведения анализа сетевого трафика и анализа журналов Zeek.
Томск
2025