МЕТОДОЛОГИЯ СОЗДАНИЯ ВИРТУАЛЬНОЙ ЛАБОРАТОРИИ ДЛЯ ТЕСТИРОВАНИЯ БЕЗОПАСНОСТИ РАСПРЕДЕЛЕННЫХ ИНФОРМАЦИОННЫХ СИСТЕМ
Аннотация и ключевые слова
Аннотация (русский):
Рассматривается процесс создания виртуальной лаборатории для тестирования возможностей проникновения в домашнюю информационную систему. Данная лаборатория обладает всем необходимым функционалом, благодаря которому специалист в области информационной безопасности сможет отрабатывать свои навыки и применять новые методы, соблюдая закон и обеспечивая безопасность реальных информационных систем. Работа является создание такой среды, в которой возможно будет отслеживать действия злоумышленника и выявлять уязвимые места системы.

Ключевые слова:
Тестирование на проникновение, виртуальная лаборатория, Kali Linux, Metasploitable 2, NAT, Drupal
Текст
Текст (PDF): Читать Скачать

Введение

 

Поскольку кибернетическая среда продолжает активно развиваться, и нарушения безопасности становятся все более распространенным явлением, больше внимания уделяется защите информационных активов. Одним из методов защиты является тестирование на проникновение (пентест), благодаря которому организация может выявить уязвимые места системы безопасности и принять соответствующие меры [1].

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

Целью данной работы является создание виртуальной пентест-лаборатории с использованием VirtualBox Kali Linux, Ubuntu и Metasploitable 2 и демонстрация ее работоспособности на конкретных примерах.

Одним из важнейших методов поддержания информационной безопасности распределённых информационных систем (РИС), наряду с разработкой политики безопасности и применения средств защиты, являются средства анализа и сканирования сети. Часть программных продуктов, входящих в пакет приложений Kali Linux, позволяет осуществлять оценку системы безопасности сети, имитируя все известные способы, применяемые нарушителями для проникновения в РИС, и тем самым, обнаруживая в системе защиты слабые места. Данные программные продукты также помогают определить меры, которые необходимо принять для ликвидации пробелов в сетевой системе безопасности [11]. Но иногда применение подобных средств для действующей системы является небезопасным, так как они имитируют действия потенциального нарушителя. Особенно это актуально на этапе внедрения новых методов в функционирующую систему безопасности. Решить эту проблему поможет использование описанной в данной статье лаборатории, благодаря которой можно будет смоделировать определённый сегмент сети или базу данных в изолированной среде для проведения тестирования безопасности системы. 

Уникальность данной лаборатории заключается в тех преимуществах, которые она обеспечивает. Основными достоинствами лаборатории являются быстрота, доступность и легкость развертывания по сравнению с более сложными лабораториями, для функционирования которых необходимо более одного ПК [11,12].  Немаловажным фактором является и то, что она позволяет наглядно демонтировать причины возникновения уязвимости информационных систем, что позволяет в дальнейшем обеспечить комплексную защиту от них.  Кроме того, созданная лаборатория является экономичной для системы и поддерживает стабильную работу на среднем по мощности ПК. Это объясняется тем, что основными компонентами являются операционные системы, подобные Unix на базе ядра Linux, обладающие  сравнительно небольшими системными требованиями. Благодаря этому качеству данная лаборатория может быть развернута на ноутбуках и в компьютерных классах для обучения. Также на базе ядра Linux находится подавляющее число серверной части систем, что делает данную лабораторию актуальной.

 

 

Создание и настройка виртуальной лаборатории

 

Область тестирования на проникновение является достаточно обширной, т.к. каждая система, находящаяся в информационной среде, подвержена риску. В пентесте нуждаются сетевые устройства и запущенные ими системы, отдельные веб-приложения, операционные системы и т.д. [2]. В этой связи, основной характеристикой созданной лаборатории должна быть ее универсальность, позволяющая исследовать различные типы атак. При создании домашней виртуальной лаборатории, необходимым условием является ограниченная мощность персонального компьютера (ПК), которая должна позволять производить пентест.

Исходя из вышеизложенного, основной задачей на этапе проектирования лаборатории является выбор компонентов, обладающих обширным функционалом и возможностью для реализации различных сценариев. Проектируемая лаборатория должна стабильно функционировать в домашних условиях на среднем по мощности компьютере, например, с 8 ГБ ОЗУ и процессором Intel 5-го поколения.

Вся виртуальная пентест-лаборатория будет размещена в VirtualBox (рис.1).  В настоящее время большинство ПК могут легко поддерживать 2 или даже 3 гостевых виртуальных машины Linux [3].

Атакующей машиной была выбрана Kali Linux. Kali LinuxLinux-система, основанная на дистрибутиве Debian, используется для проведения пентеста, т.к. содержит все необходимые инструменты для его проведения [4].

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

 

Рисунок 1

Рис. 1. Интерфейс VirtualBox

 

 

Рисунок 2
Рис. 2. Лабораторная сеть для

тестирования на проникновение

 


Кроме того, был инсталлирован и настроен базовый образ Ubuntu, благодаря которому возможна реализация собственных сценариев взлома. На него были установлены дополнения гостевой операционной системы (ОС), позволяющие оптимизировать производительность и использовать общую папку для обмена файлами между системами. Помимо этого, после запуска были установлены некоторые пакеты, которые будут часто использоваться для проведения пентеста:

sudo apt-get install python

sudo apt-get install net-tools

sudo apt-get install default-jre

sudo apt-get install default-jdk

Далее, после настройки виртуальной машины Ubuntu, производится экспорт конфигураций и создается ISO-образ, который в будущем можно использовать для новых задач, заново не настраивая.

40

После установки была создана сеть из имеющихся виртуальных машин (рис. 2), чтобы изолировать лабораторию и ограничить ее выделенной частной сетью [5]. В VirtualBox существует несколько вариантов настройки сети, но в данном случае оптимальной является “Сеть NAT”, поскольку виртуальные машины будут находиться в одной частной сети, что позволит им легко взаимодействовать друг с другом.

 

Теперь виртуальная лаборатория готова к проведению тестирования на проник-новение. В ней присутствует хост для проведения атак, уязвимая виртуальная машина, на которой можно совершенствовать свои навыки, и многократно используемое базовое устройство для создания целей тестирования.

Итоговый алгоритм создания виртуальной пентест-лаборатории представлен на рис.3:

 

 

Рис. 3. Алгоритм создания виртуальной

пентест-лаборатории

 

Методология тестирования на проникновение Metasploitable 2

 

Далее рассмотрим возможности использования данной лаборатории на практике. Прежде всего, проведем тестирование на проникновение с помощью Metasploitable 2.

Учитывая, что злоумышленнику зачастую неизвестны основные особенности сети и устройств в ней, в первую очередь, необходимо исследовать объект атаки, и только потом, основываясь на результатах исследования, производить взлом. В качестве методики тестирования был выбран следующий алгоритм, представленный на рис. 4 [6].

В алгоритме содержится перечень программного обеспечения для проведения тестирования, который уже предустановлен в Kali Linux.

В качестве инструмента для сканирования целевой машины используется утилита Nmap, с ее помощью будут идентифицированы открытые сетевые сервисы. Одна команда “nmapp0-65535 10.0.2.4позволит получить информацию обо всех портах TCP на Metasploitable 2.

Вторым инструментом, включающим в себя как сканирование информационных систем и сетей, так и их взлом, является Metasploit framework. Metasploit был создан для предоставления информации об уязвимостях и включает в себя базу бэкдоров и архив эксплойтов, с помощью которых может производиться взлом [7].

Рис. 4. Алгоритм тестирования

41

на проникновение

 

После завершения сканирования утилита Nmap выдает  информацию о состоянии портов (рис. 5), позволяющую сделать вывод о том, что в Metasploitable 2 существует большое количество уязвимостей и возможны различные векторы атак. Почти каждый из открытых портов позволяет выполнить удаленный вход в систему.

 

Рис. 5. Результаты сканирования портов с помощью Nmap

 

Теперь переходим к детальному сканированию одного из портов для  получения более подробной информации.

 После сканирования порта 6667,  на котором находится сервис IRC, можно сделать вывод, что установленной версией является UnreaIRCD IRC (рис 6.).

 

 

Рис. 6. Сканирование порта 6667

 

Эта версия содержит бэкдор, который долгое время оставался незамеченным для специалистов по ИБ. Он запускается отправкой букв «AB», которые следуют за системной командой на сервер [8].

Данный бэкдор можно реализовать при помощи Metasploit framework. Алгоритм действий содержит следующие шаги:

  1. Поиск в базе  Metasploit framework нужного эксплойта;
  2. Выбор и настройка эксплойта (рис 7.);
  3. Проведение атаки.

 

 

Рис. 7. Настройка эксплойта

для реализации бэкдора

 

После запуска эксплойта можно наблюдать процесс заражения и получения доступа к атакуемому компьютеру (рис. 8).

 

 

Рис. 8. Проведение атаки

на компьютер-жертву

 

Таким образом, была найдена и реализована одна из уязвимостей Metasploitable 2.

Помимо нее, на данной машине присутствует большой спектр уязвимостей, начиная от основ UNIX и заканчивая веб-сервисами.

 

 

Экспериментальная эксплуатация уязвимой версии Drupal

 

Далее рассмотрим возможность применения базового образа Ubuntu для реализации собственных сценариев взлома.

В качестве примера возьмем одну из уязвимостей DrupalGeddon 2 (CVE 2018-7600), которая была обнаружена в начале 2018 года [9]. Уязвимость CVE 2018-7600 является уязвимостью удаленного выполнения кода. Она представляет собой ошибку в способе, которым Drupal обрабатывает запросы форм AJAX с использованием визуализированных массивов. Таким образом, вредоносный визуализированный массив внедряется в форму, к которой может получить доступ пользователь, не прошедший аутентификацию.

Прежде всего, необходимо настроить базовый веб-сервер на Ubuntu [10], на котором будет установлена уязвимая версия Drupal.

Так как данная уязвимость появилась достаточно давно, необходимо установить несколько репозиториев:

# Install php5.6 repository

apt-get install software-properties-common

add-apt-repository ppa:ondrej/php

apt-get update

# Install php5.6 packages

apt-get install php5.6 php5.6-gd php5.6-xml php5.6-mysql php5.6-mbstring

# Install apache

apt-get install apache2

# Install mysql

42

apt-get install mysql-server

 

mysql_secure_installation

# Create the database and user

mysql

CREATE DATABASE drupal CHARACTER SET UTF8 COLLATE UTF8_BIN;

CREATE USER 'drupal'@'%' IDENTIFIED BY 'test12345';

GRANT ALL PRIVILEGES ON drupal.* TO 'drupal'@'%';

quit;

# Restsrt mysql

service mysql restart

# Restart apache

service apache2 restart

После  установки необходимых пакетов,  можно начать установку Drupal.

cd /var/www/html/

wget https://ftp.drupal.org/files/projects/drupal-7.57.tar.gz

tar -xzvf drupal-7.57.tar.gz

cd /var/www/html/drupal-7.57/

cp sites/default/default.settings.php sites/default/settings.php

cd /var/www/html/

chown -R www-data:www-data drupal-7.57/

После этого переходим по IP-адресу виртуальной машины в браузере и завершаем настройку. После завершения установки можно будет увидеть домашнюю страницу Drupal (рис. 9).

 

Рисунок 9

Рис. 9. Домашняя страница Drupal

Если посмотреть отчет (рис. 10), то можно увидеть, что действительно установлена уязвимая версия.

4

Рис. 10. Отчет Drupal

Теперь, когда установлена уязвимая версия, можно приступить к ее эксплуатации. Для этого используем простой скрипт на Python (рис 11.), который демонстрирует удаленное выполнение кода [9]. В данном случае будет производиться модификация файла index.php на атакуемом  сервере (рис 12). Переменная 'shell_code' содержит код, который мы внедряем в index.php. Это всего лишь простое предупреждение Javascript, которое будет отображаться при каждой загрузке страницы (рис. 13).

 

 

 

7

 

Рис. 11. Скрипт на Python

 

8

 

Рис. 12. Файл «index.php» на атакуемом сервере

43

 

 

6

Рис. 13.  Предупреждение Javascript

 

 

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

 

 

Заключение

 

В данной статье была представлена методика создания виртуальной лаборатории для тестирования на проникновение, которая позволит улучшать свои навыки в домашних условиях. В качестве примера эксплуатации созданной лаборатории был продемонстрирован алгоритм тестирования на проникновение при помощи уязвимой машины Metasploitable 2 и произведён взлом уязвимой версии Drupal.

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

Список литературы

1. Костарев, С.В. Модель процесса передачи результатов аудита и контроля в автоматизированной системе менеджмента предприятия интегрированной структуры / С.В. Костарев, В.А. Липатников, Д.В. Сахаров // Проблемы информационной безопасности. Компьютерные системы. - 2015. - № 2. - С. 120-125.

2. Никитин, В.Н. Обеспечение информационной безопасности ИТС / В.Н. Никитин, О.И. Лагутенко, М.М. Ковцур // Электросвязь. - 2014. - № 1. - С. 29-31.

3. Сахаров, Д.В. Исследование механизмов обеспечения защищенного доступа к данным, размещенным в облачной инфраструктуре / Д.В. Сахаров, М.В. Левин, Е.С. Фостач, Л.А. Виткова // Наукоемкие технологии в космических исследованиях Земли. - 2017. - Т. 9. - № 2. - С. 40-46.

4. Kali-linux, документация по продукту // Kali Docs Official documentation [Электронный ресурс]. - Режим доступа: https://docs.kali.org/category/introduction (дата обращения 26.10.2019).

5. Юркин, Д.В. Формализованный анализ протоколов аутентификации / Д.В. Юркин, А.А. Уткина, А.О. Первушин // Информационно-управляющие системы. - 2018. - № 2 (93). - С. 76-83.

6. Андрианов, В.И. Разработка пентест-лаборатории / В.И. Андрианов, Д.В. Юркин, В.В. Стасюк // Наукоемкие технологии в космических исследованиях Земли. - 2019. -Т. 11. - № 4. - С. 56-64.

7. Косов, Н.А. Анализ темных данных для обеспечения устойчивости информацион-ных систем от нарушения конфиденциаль-ности или несанкционированных действий / Н.А. Косов, А.М. Гельфанд, А.А. Лаптев // Colloquium-journal. - 2019. - № 13-2 (37). - С. 100-103.

8. Никитин, В.Н. Повышение защиты протоколов распределения ключей от атак вторжения в середину канала связи / В.Н. Никитин, М.М. Ковцур, Д.В. Юркин // Информационно-управляющие системы. - 2014. - №1 (68). - С. 70-75.

9. Unit 42 // Exploit in the Wild: #drupalgeddon2 -Analysis of CVE-2018-7600. [Электронный ресурс]. - Режим доступа: https://unit42.paloaltonetworks.com/unit42-exploit-wild-drupalgeddon2-analysis-cve-2018-7600/ (дата обращения 29.10.2019).

10. Котенко, И.В. Гибридная модель базы данных NOSQL для анализа сетевого трафи-ка / И.В. Котенко, И.А. Ушаков, Д.В. Пелёвин, А.Ю. Овраменко // Защита информа-ции. Инсайд. - 2019. - № 1 (85). - С. 46-54.

11. Сахаров, Д.В. Модель защиты от эксплойтов и руткитов с последующим анализом и оценкой инцидентов / Д.В. Сахаров, М.М. Ковцур, Д.В. Бахтин // Наукоемкие технологии в космических исследованиях Земли. - 2019. - Т. 11. - № 5. - С. 22-31.

12. Красов, А.В. Проблема безопасности передачи групповых рассылок в ip-сетях / А.В. Красов, Е.П. Лосин, И.А. Ушаков // Актуальные проблемы инфотелекоммуникаций в науке и образовании: сборник научных статей: в 4-х т. / Под ред. С.В. Бачевского. - СПб., 2017. - С. 295-301.

Войти или Создать
* Забыли пароль?