Как добавить windows в eve ng
Сегодня мы с вами поговорим о том, как добавляются образы устройств в эмулятор Eve-NG, рассмотрим это на примере Cisco L2, L3 и mikrotik. Напомню, что в предыдущей статья я рассказывал, как установить эмулятор eve.
Если вы хотите углубить свои знания по работе с роутерами MikroTik, то наша команда рекомендует пройти курсы которые сделаны на основе MikroTik Certified Network Associate и расширены автором на основе опыта . Подробно читайте ниже.Добавление образов Cisco
Первым делом подключаемся через WinSCP к нашей VM c eve, вводим ip логин и пароль. Далее переходим в каталог /opt/unetlab/addons/qemu/.
В нем создаем две папки с названием:
- viosl2-15 – это для L2 образа 15 версии;
- vios-15 – это для L3 образа 15 версии.
Сами образы внутри папок нужно назвать virtioa.qcow2 – как на рисунке ниже.
Далее для удобной работы можно также скачать и установить утилиты (если они еще у вас не стоят) которые предлагают разработчики там, putty, vnc, wireshark и тд.
После заходим по ssh на нашу виртуальную машину и вводим команду «/opt/unetlab/wrappers/unl_wrapper -a fixpermissions» для того чтобы система увидела наши добавленные образа.
Теперь можно идти в web-интерфейс EVE-NG и в нодах выбирать cisco роутер и свитч.
Соединять между собой устройства можно только выключенными, при наведении появляется маленькая вилочка, которую нужно дотянуть до другого устройства, выбрать порт которому будет подсоединено.
Зайти на устройство можно кликнув на него мышкой. Проверим командой «show cdp neighbor» видят ли устройства друг друга.
Как видим все отлично работает, образ cisco успешно добавлены в эмулятор eve.
Добавление CHR MikroTik
Добавления микротика происходит почти аналогичным образом. Заходим также на виртуалку через winscp, переходим в каталог /opt/unetlab/addons/qemu/ и создаем там папку с именем mikrotik-X где X можно писать что угодно, главное, чтобы все что до него было так.
Не забываем в консоли выполнить команду «/opt/unetlab/wrappers/unl_wrapper -a fixpermissions». Добавляем нашу виртуальную os микротика в эмулятор соединяем с реальной сетью (перед этим назначив ip интерфейсу CHR). Теперь можем зайти на него через winbox и проверить.
Ну и на вкусное, windows в eve-ng
Все, спокойно добавляйте win7 как обычную ноду и стройте топологии.
Всем спасибо за внимание! Если есть вопросы пишите в комментариях.
89 вопросов по настройке MikroTik
Вы хорошо разбираетесь в Микротиках? Или впервые недавно столкнулись с этим оборудованием и не знаете, с какой стороны к нему подступиться? В обоих случаях вы найдете для себя полезную информацию в курсе «Настройка оборудования MikroTik». 162 видеоурока, большая лабораторная работа и 89 вопросов, на каждый из которых вы будете знать ответ. Подробности и доступ к началу курса бесплатно тут.
Идея попробовать современную платформу эмуляции возникла, когда я наблюдал за работой команды инженеров кибербезопасности. Они часто занимаются изучением, развертыванием, интеграцией и тестированием разных продуктов. Вендоров и решений — огромное количество, но значительная их часть вращается вокруг защиты одних и тех же ключевых систем, некой стандартной корпоративной инфраструктуры: рабочих станций, серверов AD, файловых шар, почтовых серверов, веб‑серверов, серверов баз данных. Также в любой инфраструктуре присутствует некая стандартная иерархия групп пользователей, сетевая сегментация, набор ПО и сетевое оборудование в виде коммутаторов, маршрутизаторов, файрволов.
Задачи по интеграции, как правило, тоже типичные: настроить авторизацию через AD/Radius, подружить с почтой, раскатать агентов, собрать кластер, подать зеркалированный трафик, отправлять аналитикам логи или флоу. Практика показывает, что без стандартизированного подхода каждый инженер со временем нагородит себе подобную инфраструктуру, и каждый — со своим блек‑джеком. В результате получается целый зоопарк по‑разному сконфигурированных виртуалок, на которых крутится непонятно что. Просто взять и быстро заюзать такие ВМ другой член команды, скорее всего, не сможет.
Помимо разбросанных на разных ESXi-хостах «личных» ВМ, для тестирования файрволов, запуска малвари и прочих задач требуются сегментированные сети, поэтому в такой инфраструктуре порой встречаются еще и порт‑группы. Они необходимы только для лаборатории, но по факту ходят в интернет через продакшен‑инфраструктуру. После увольнения инженера подобные виртуалки просто убиваются вместе со всем «накопленным опытом». Короче говоря, такой подход казался мне совсем не эффективным, тем более в нем не используются некоторые фичи и гибкость VMware. Я решил стандартизировать процесс, а заодно протестировать платформу эмуляции.
Зачем киберполигон инженерам?
Как ты, наверное, уже знаешь, киберполигон — это некая виртуальная среда, нацеленная на обучение. В отличие, скажем, от классических CTF-подобных соревнований, на киберполигоне учатся также и защитники. Помимо киберполигонов, которые носят соревновательный характер и доступ к которым бесплатный, уже существует целый класс недешевых вендорских решений с готовыми сценариями атак и защиты, позволяющий эффективно обучать как «синие» команды, так и «красные» — в облаке по подписке или on-premise. В нашем случае была необходима платформа, позволяющая достигать следующих целей:
- эффективное внутреннее/внешнее обучение инженеров;
- полноценный демостенд для заказчиков.
Выбор платформы
Под наши нужды была выбрана платформа EVE-NG Community Edition — это форк известного UNetLab, который больше не поддерживается. Данное решение очень любят сетевики, и действительно есть за что. Ты только посмотри на примеры сетевых топологий с кластерами и BGP!
Топология BGP
Однако она создана не только для сетевиков: возможности ее использования практически безграничны, они зависят исключительно от фантазии и имеющихся знаний. Для работы нам требовался веб‑интерфейс, а у конкурентов он присутствовал на момент выбора только в GNS3, да и то в бете. Обо всех фичах EVE-NG, включая версию Professional и Learning Center, в которых есть Docker и поддержка кластеризации, ты можешь прочитать на официальном сайте, я же расскажу о ключевых возможностях.
- QEMU/KVM. В данной связке QEMU выступает в роли эмулятора железа, он достаточно гибок и может запускать код, написанный для одной архитектуры процессора, на другой (ARM на x86 или PPC на ARM). KVM же, в свою очередь, позволяет достигать высокой производительности благодаря виртуализации с аппаратной поддержкой, такой как Intel VT-x и AMD-V.
- IOU/IOL и Dynamips. Поддержка стареньких, но вполне рабочих коммутаторов и маршрутизаторов Cisco.
- Оптимизация памяти UKSM в ядре. При одновременном использовании однообразных ВМ позволяет дедуплицировать память и тем самым существенно снизить расход RAM.
- Полноценный веб‑интерфейс на HTML5.
- Многопользовательский режим для одновременной работы различных виртуальных лабораторий.
- Взаимодействие с «настоящей» сетью.
Установка
Мы развернули «Еву» на железе (bare metal). Для такого типа установки предъявляются следующие системные требования: ЦПУ — Intel Xeon CPU supporting Intel® VT-x with Extended Page Tables (EPT), ОС — Ubuntu Server 16.04.4 LTS x64.
Все остальное зависит от предполагаемой нагрузки: тут чем больше, тем лучше, особенно это касается ОЗУ. Если тебя смутила старая версия ОС, то не переживай, она будет поддерживаться до 2024 года. Замечу, что Community-версия обновляется не так часто, как Professional, в которой для установки на железо требуется уже 18.04 LTS. Если же ты весь такой в облаках, то имей в виду, что EVE-NG официально поддерживает GCP.
Знаешь ли ты, что в GCP (Azure, Яндексе) новый пользователь может получить 300 долларов в виде бесплатных кредитов для тестирования сервисов, например для запуска ВМ? И что, помимо этого, в GCP есть «вытесняемые ВМ»? Это такие виртуалки, которые стоят в 3–4 раза дешевле обычных, но живут максимум 24 часа или меньше: если облаку потребуются ресурсы, которые занимает эта ВМ, оно ее грохнет.
К сожалению, политика Google изменилась, и бесплатные кредиты нельзя тратить на вытесняемые ВМ, но, если вдруг когда‑нибудь тебе потребуется 128 RAM в облаке и задешево, ты знаешь, что делать! 😉
Мы же сейчас с тобой рассмотрим вариант быстрого знакомства с платформой, развернув ее на ноутбуке с VMware Workstation. Поддерживается только VMware, включая Player и ESXi. Но в любом случае следует понимать, что вложенная (nested) виртуализация (это когда виртуалка работает внутри другой виртуалки) может плохо влиять на производительность. Также твой ЦПУ должен поддерживать технологии аппаратной виртуализации, такие как Intel VT-x и AMD-V. Не забудь проверить, включены ли они в BIOS.
Интересно, что про поддержку AMD в Community-версии официально не сообщается, а вот в документации к Professional производители уже написали, что поддерживают последние версии процессоров. Как бы то ни было, я развернул Community-версию на процессоре AMD Ryzen 5 4600H без каких‑либо проблем.
Если ты используешь в качестве хостовой ОС Windows, тебе следует помнить кое‑что о роли Hyper-V, в частности в Windows 10. Вот что об этом написано на сайте Microsoft:
We introduced a number of features that utilize the Windows Hypervisior. These include security enhancements like Windows Defender Credential Guard, Windows Defender Application Guard, and Virtualization Based Security as well as developer features like Windows Containers and WSL 2.
Помимо самой ОС и ее фич, эту службу может использовать еще и Docker Desktop. Из‑за этого до версии 15.5 включительно VMware Workstation (как и VirtualBox) вообще не работала на хосте с включенной ролью Hyper-V. Коллаборация Microsoft и VMware позволила все же сделать интеграцию Workstation с WHP через API, благодаря чему появилось рабочее решение. Но, к сожалению, помимо того, что такая связка стала медленней работать, имеется главное ограничение, а именно — функции Intel VT-x / AMD-V недоступны для гостевых ВМ. Служба Hyper-V эксклюзивно использует VT-x, ограничивая к нему доступ другим гипервизорам.
Поэтому, если на твоем хосте включена роль Hyper-V, проанализируй, для чего она используется, и при возможности отключи ее. Если это невозможно, используй другой ПК, сервер или облако.
Я рекомендую качнуть сразу книгу рецептов EVE-NG в формате PDF. В ней содержится исчерпывающее руководство по всему проекту, от А до Я.
Итак, для быстрого развертывания мы скачаем ZIP-архив с OVF-образом, распакуем архив и двойным щелчком мыши по EVE-COMM-VM. ovf импортируем его в Workstation.
Импорт OVF
Откроем свойства, добавим при необходимости памяти и процессоров. Убедись, что у тебя стоит галочка Virtualize Intel VT-x/ EPT or AMD-V/ RVI в группе настроек Virtualization engine . Без нее EVE-NG будет загружаться сама, можно открывать и создавать лаборатории, но ВМ внутри лаборатории запускаться не будут.
Свойства ВМ
Для наглядности мы выберем режим Bridged у сетевого адаптера, тем самым наши ВМ внутри лаборатории станут доступны напрямую в локальной сети.
Работа с платформой
Запускаем EVE-VM в Workstation. После успешной загрузки ты получишь приглашение на ввод пароля.
Приглашение на ввод пароля
Логинимся, используя стандартную учетку root/ eve для консоли.
Далее отвечаем на стандартные вопросы по настройке ОС, такие как:
- New root password;
- Hostname;
- DNS domain name;
- DHCP/Static IP address;
- NTP Server;
- Proxy Server configuration.
После ответа на последний вопрос система автоматически перезагрузится. По завершении перезагрузки открываем веб‑интерфейс по IP-адресу, указанному в консоли ВМ, и логинимся, используя учетку admin/ eve .
Консоли управления
По большей части вся работа с платформой выполняется через веб‑интерфейс. По SSH подключаться к «Еве» приходится лишь изредка, например для подготовки образов. Существует два варианта подключения к монитору ВМ: через нативные приложения или консоль HTML5. При выборе нативной консоли на ПК, с которого открыт веб‑интерфейс, должны быть установлены приложения для удаленного доступа и Wireshark. Набор софта разнится в зависимости от ОС, а также требуется некоторый тюнинг реестра, поэтому рекомендуется использовать Windows/Linux/Apple Client Side Integration Pack, содержащий все необходимое, включая скрипты для конфигурации.
При использовании же консоли HTML5 все управление ведется полностью через браузер. Консоль работает на Apache Guacamole, как во многих современных вендорных лабораториях.
После логина мы попадаем в некий файловый менеджер, где у нас хранятся файлы лабораторий. Сначала я покажу тебе готовую корпоративную лабораторию, а потом мы создадим для примера свою. Отмечу лишь, что для лучшего визуального отображения многие соединения на этой схеме были изменены или вовсе удалены.
Открыть лабораторию
По своей сути файл лаборатории — это конфиг в формате XML, описывающий конфигурацию нод, их расположение на поле, соединения и прочее. Ноды — это объекты ВМ, которые могут быть образами IOL/Dynamips/QEMU. Лабы можно клонировать, экспортировать и импортировать прямо через веб‑интерфейс.
Конфиг лаборатории
При открытии лаборатории демонстрируется вид топологии, чем‑то похожий на Visio. На этой топологии добавляются и соединяются между собой ноды. Слева в меню находится все, что необходимо для работы, ноды можно запускать сразу все, а можно выборочно.
Вид топологии
В отличие от Visio, при щелчке по значку открывается удаленное подключение к ноде.
Монитор Windows 10 Монитор Kali Linux
Каждая нода имеет свои стандартные настройки ВМ, такие как образ, с которого выполняется загрузка, количество CPU, RAM, Ethernet-портов, аргументы для гипервизора и другое.
Настройки ноды Настройки ноды, продолжение
В «Еве» два главных вида сетей: мост и интерфейс управления. В основном тебе придется щелкать мышью на нодах и выбирать порты источника и назначения. Это как раз одна из причин, по которым сетевикам так нравится «Ева»: в ESXi, например, для «чистых» соединений point-to-point требуется создавать отдельный vSwitch и порт‑группу, что отнимает кучу времени и сил.
Соединение нод
Сеть в режиме моста действует как неуправляемый коммутатор. Она поддерживает передачу помеченных пакетов dot1q . Это может быть необходимо, когда нам нужно соединить множество узлов в плоскую (dot1q) сеть без использования образа сетевого устройства. Получится полностью изолированная виртуальная сеть.
Сеть в режиме моста
Второй вариант сети называется «сеть управления» с именами Cloud0/ Pnet0 . Этот интерфейс настроен в режиме моста с первым сетевым адаптером сервера. Благодаря этому ты можешь сделать ноды доступными напрямую по сети, они будут находиться в том же сетевом сегменте, что и интерфейс управления, и могут взаимодействовать с другими внешними сетями.
Сеть управления
Остальные интерфейсы Cloud* можно связать со вторым и выше портом Ethernet для подключения к другой сети или к устройству. Настраивать на них IP-адрес не требуется. Они будут действовать как чистый мост между твоим внешним соединением и лабораторной нодой.
Образы
«Ева» поставляется без образов, на борту имеется только Virtual PC с базовой сетевой функциональностью.
Виртуальный ПК
Список поддерживаемых образов на сайте не всегда актуальный, об этом напрямую говорится в документации. Из‑за лицензионных ограничений авторы проекта не могут выкладывать у себя на сайте прямые ссылки на образы, но на практике любой образ можно найти на торрентах. А если ты работаешь в интеграторе, так это вообще не проблема.
Образы Dynamips/IOL
С образами сетевых устройств Dynamips/IOL почти ничего делать не нужно, кроме выяснения значения IDLE PC и создания файла лицензии. К сожалению, не все функции этих сетевых устройств поддерживаются. Их конфиги хранятся в отдельном месте, в меню startup-configs и в NVRAM, а не в самом файле образа. NVRAM используется как постоянное хранилище с возможностью записи для начальной конфигурации. В процессе загрузки нода всегда будет проверять NVRAM на наличие сохраненной конфигурации.
Загрузочные конфиги
Процесс загрузки таких образов изображен на следующей схеме и в целом понятен без дополнительных пояснений.
Порядок загрузки конфигов
Образы QEMU/KVM
Все остальные системы будут работать в виде QEMU-образов. Особенность работы этих образов в «Еве» заключается в том, что сначала создается некий базовый образ, а при запуске и работе ВМ все изменения пишутся в отдельный файл. Это можно расценивать как своего рода снапшоты, привязанные к отдельным пользователям.
Продолжение доступно только участникам
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее
Возможно при использовании процессоров AMD удастся включить данную поддержку:
Производители EVE-NG рекомендуют использовать виртуализацию от компании VMware (ESXI, VMware Workstation)
EVE-NG требуется достаточно много памяти, чтобы не было тормозов выделите хотя бы 4 GB.
Дистрибутив EVE-NG поставляется в виде шаблона виртуальной машины формата OVA (Open Virtualization Format) и ISO образа.
Построен на дистрибутиве Ubuntu 64bit.
Я рассмотрю установку из шаблона OVA.
Скачиваем шаблон виртуальной машины с этой страницы
Скачиваем клиентский софт если нужен, включающий в себя:
- Wireshark
- UltraVNC
- putty(used as default telnet client)
- plink(for wireshark)
Заполняем ИМЯ, путь хранения и нажимаем Import
Не запускаем вновь созданную виртуальную машину, переходим в ее свойства (Ctrl+d) или ручками:
Сохраняем и запускаем
Заходим через SSH на указанный IP (порт 22, пользователь root, пароль eve)
Будет предложено сменить пароль пользователя root, имя хоста, DNS имя, IP (статический или через DHCP) и тип соединения (прямой, прокси) и указать NTP сервер (сервер точного времени), меняем и сервер уйдет в перезагрузку.
Подключимся еще раз через SSH уже с измененным паролем и добавим образы Microtik Cloud Hosted Router, добавим две версии:
- Стабильную на данный момент версию 6.45.6
- Бета-версию 7 ветки 7.0beta3
Добавляем сеть типа Menegment
И добавим устройство Mikrotik выбрав нужную версию:
Соединим сеть с Mikrotik на интерфейсе eth1
И запустим устройство Mikrotik:
После запуска кликнув на устройстве, заходим на устройство с помощью telnet (если установили клиентское приложение, то терминалом будет выступать Putty )
Без пароля, соглашаемся с лицензионным соглашением и настроем получение IP на первом интерфейсе по DHCP (в моем случае в сети есть действующий DHCP сервер, если у вас нет его, то выдайте статику)
Теперь мы можем по выданному Mikrotik IP адресу зайти с помощью Winbox или SSH.
Про ESXI
У Cisco есть удобный инструмент, используемый для отладки или обучения, Cisco Packet Tracer. У Mikrotik таких вещей нет, но для создания тестовой среды можно использовать виртуальную машину EVE-NG. Для этого будем использовать VMware Workstation.
VMware Workstation уже установлен, больше интересен процесс установки и настройки EVE-NG. Скачиваем готовый образ с сайта разработчиков. Для наших целей вполне подходит бесплатная версия Community.
Там же можно скачать клиентский пакет для Windows, который установит все необходимое для запуска приложений telnet, vnc, wireshark, rdp.
Теперь импортируем скачанный образ в VMware Workstation. Для того, чтобы устройства из тестовой среды имели доступ к интернет, а мы наоборот могли пользоваться winbox для подключения к виртуальным роутерам снаружи тестовой среды, добавим второй сетевой адаптер в режиме моста с физическим сетевым интерфейсом компьютера.
После запуска виртуальной машины, на экране консоли отобразится приветствие в виде IP адреса и строчкой для ввода логина, а после пароля.
После авторизации откроется мастер настроек, который предложит установить ip, dns, gateway, hostname и тд. После сервер должен загрузится полностью и можно заходить на веб интерфейс по ip-адресу
Следующим шагом добавим Mikrotik Cloud router в эмулятор.
Скачиваем актуальный релиз, архив образа chr-6.46.4.img.zip с сайта производителя. Извлекаем из скачанного архива chr-6.46.4.img.
В консоли EVE создадим папку
Загрузим в нее chr-6.46.4.img с помощью WinSCP
Переходим в папку с образом и конвертируем его в qcow2 формат
С помощью SSH-консоли на EVE-NG убедимся, что эмулятор видит обе сетевые карты, с помощью следующей команды
Отредактируем настройки сети
Нас интересует настройка интерфейса eth1 и его связка с pnet1. Включим на нём DHCP-клиента
Можно подобным образом подключить и остальные CLOUD-интерфейсы EVE. После этих не сложных настроек, роутеры подключенные к CLOUD1 получают адреса от нашего физического роутера, могут выходить в интернет и доступны для управления из локальной сети.
Читайте также: