Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
SecGen — Создайте случайным образом небезопасные ВМ | Kitploit
Инструменты/GitHubGitHub/cliffe/secgen
Сканеры уязвимостейВиртуализация для безопасностиCTFТестирование на ПроникновениеОбучение и ОбразованиеЛаборатории и Практика
GitHubcliffe/secgen

SecGen

Создайте случайным образом небезопасные ВМ

Репозиторий
2.8k3263013 ч 39 мин назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Генератор сценариев безопасности (SecGen)

Краткое описание

SecGen создаёт уязвимые виртуальные машины, лабораторные среды и хакерские задачи, чтобы студенты могли изучать методы тестирования на проникновение.

Такие машины, как Metasploitable2, всегда одинаковы, а этот проект использует Vagrant, Puppet и Ruby для создания случайно уязвимых виртуальных машин, которые можно использовать для обучения или для проведения CTF-мероприятий.

Последняя версия доступна по адресу: http://github.com/cliffe/SecGen/

Пожалуйста, пройдите короткий опрос, чтобы рассказать нам, как вы используете SecGen.

Для размещённого решения посетите: https://hacktivity.co.uk/

Введение

Студенты, изучающие компьютерную безопасность, получают пользу от участия в хакерских задачах. Практическая лабораторная работа и предварительно настроенные хакерские задачи являются обычной практикой как в обучении безопасности, так и в качестве времяпрепровождения для людей, интересующихся безопасностью. Соревновательные хакерские задачи, такие как соревнования по захвату флага (CTF), стали основой отраслевых конференций и находятся в центре внимания крупных онлайн-сообществ. Виртуальные машины (VM) обеспечивают эффективный способ обмена целями для взлома и могут быть спроектированы для проверки навыков атакующего. Такие сайты, как Vulnhub, размещают предварительно настроенные VM с хакерскими задачами и являются ценным ресурсом для тех, кто изучает и совершенствует свои навыки в области компьютерной безопасности. Однако разработка таких хакерских задач требует много времени и, будучи однажды созданной, по сути является статичной. То есть, как только задача «решена», для студента не остаётся никакой задачи, а если задача создана для соревнования или оценки, её нельзя повторно использовать без риска плагиата и сговора.

Генератор сценариев безопасности (SecGen) создаёт рандомизированные уязвимые системы. VM создаются на основе спецификации сценария, которая описывает ограничения и свойства создаваемых VM. Например, сценарий может задавать создание системы с удалённо эксплуатируемой уязвимостью, которая приведёт к компрометации на уровне пользователя, и локально эксплуатируемым дефектом, который приведёт к компрометации на уровне root. Это потребует от атакующего обнаружить и эксплуатировать обе случайно выбранные уязвимости, чтобы получить root-доступ к системе. В качестве альтернативы определяемый сценарий может быть более конкретным, задавая определённые виды сервисов (такие как FTP или SMB) или даже точные уязвимости (по CVE).

SecGen — это приложение на Ruby с языком конфигурации XML. SecGen считывает свою конфигурацию, включая доступные уязвимости, сервисы, сети, пользователей и контент, читает определение запрошенного сценария, применяет логику рандомизации сценария и использует Puppet и Vagrant для развёртывания требуемых VM.

Лицензия

SecGen — это свободное программное обеспечение: вы можете распространять и/или изменять его на условиях GNU General Public License, опубликованной Фондом свободного программного обеспечения, либо версии 3 Лицензии, либо (по вашему выбору) любой более поздней версии.

SecGen содержит модули, которые устанавливают различные программные пакеты. Каждый модуль SecGen может содержать или удалённо загружать программное обеспечение, и каждый модуль определяет свою собственную лицензию в accompanying файле secgen_metadata.xml.

Установка

SecGen разрабатывается и тестируется на Ubuntu Linux. Теоретически SecGen должен работать на Mac или Windows, если у вас установлено всё необходимое программное обеспечение.

SecGen требует:

  • Ruby 2.7 до 4.0, с заголовками разработки, и Ruby gems в Gemfile (включая Nokogiri и Librarian-puppet)
  • Vagrant: https://developer.hashicorp.com/vagrant
  • VirtualBox: https://www.virtualbox.org/ (или Proxmox / oVirt / ESXi, см. ниже)
  • ImageMagick, ExifTool, Graphviz и несколько библиотек для нативных gems
  • Packer, только для баз Windows: https://www.packer.io/

Существует два способа установки. Оба были протестированы на свежей установке Ubuntu.

Вариант 1: Docker

Установите Docker и VirtualBox на хосте, затем позвольте docker/secgen-docker.sh собрать контейнер со всем остальным. VirtualBox всё ещё нужен на хосте для его драйвера ядра. См. docker/README.md.

git clone https://github.com/cliffe/SecGen.git
cd SecGen
docker/secgen-docker.sh run -s scenarios/default_scenario.xml

Вариант 2: Нативная установка на Ubuntu (22.04, 24.04, 26.04; 20.04 с примечанием ниже)

Установите VirtualBox из репозитория Oracle. Пакет virtualbox в Ubuntu 24.04 (7.0.16) не может собрать свой драйвер ядра для текущих ядер HWE, а для Linux 7.0 требуется VirtualBox 7.2.8 или более поздней версии:

sudo apt-get update
sudo apt-get install -y wget gpg lsb-release
wget -qO- https://www.virtualbox.org/download/oracle_vbox_2016.asc \
  | sudo gpg --yes --dearmor -o /usr/share/keyrings/oracle-virtualbox-2016.gpg
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/oracle-virtualbox-2016.gpg] https://download.virtualbox.org/virtualbox/debian $(lsb_release -cs) contrib" \
  | sudo tee /etc/apt/sources.list.d/virtualbox.list
sudo apt-get update
sudo apt-get install -y virtualbox-7.2

Если KVM загружен, VirtualBox не может запускать виртуальные машины, пока KVM удерживает VT-x (VERR_VMX_IN_VMX_ROOT_MODE). На ядрах 6.12 и новее можно позволить им сосуществовать:

echo "options kvm enable_virt_at_load=0" | sudo tee /etc/modprobe.d/kvm-virtualbox.conf
sudo modprobe -r kvm_intel kvm_amd kvm; sudo modprobe kvm_intel || sudo modprobe kvm_amd

SecGen-сценарии используют диапазоны host-only сетей за пределами стандартного диапазона VirtualBox 192.168.56.0/21, поэтому разрешите любой диапазон:

sudo mkdir -p /etc/vbox
echo '* 0.0.0.0/0 ::/0' | sudo tee /etc/vbox/networks.conf

Установите Vagrant из репозитория HashiCorp (в Ubuntu 26.04 он больше не поставляется в виде пакета, а старые версии Vagrant больше не могут загружать боксы из Vagrant Cloud):

wget -qO- https://apt.releases.hashicorp.com/gpg | sudo gpg --yes --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main" \
  | sudo tee /etc/apt/sources.list.d/hashicorp.list
sudo apt-get update
sudo apt-get install -y vagrant

Установите Ruby и другие необходимые пакеты:

sudo apt-get install -y git ruby-full ruby-dev build-essential patch pkg-config zlib1g-dev liblzma-dev \
  imagemagick exiftool libpq-dev libcurl4-openssl-dev libxml2-dev libxslt1-dev graphviz libgraphviz-dev \
  libpcap-dev libsqlite3-dev libgpgme-dev libyaml-dev libffi-dev libssl-dev

Клонируйте SecGen и установите гемы. Используйте bundle install, а не bundle update: Gemfile.lock фиксирует версии, которые работают на всех поддерживаемых версиях Ruby, а bundle update заменяет их на самые новые релизы, которые могут не работать.

git clone https://github.com/cliffe/SecGen.git
cd SecGen
sudo gem install bundler -v '~> 2.4'
sudo bundle install

Затем попробуйте сценарий по умолчанию (при первом запуске он скачивает базовый образ с hacktivity.co.uk):

ruby secgen.rb run

Примечания:

Скачать инструмент