Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
SecGen — Erstellen Sie zufällig unsichere VMs | Kitploit
Tools/GitHubGitHub/cliffe/secgen
SchwachstellenscannerSicherheitsvirtualisierungCTFPenetrationstestsLernen & BildungLabs & Praxis
GitHubcliffe/secgen

SecGen

Erstellen Sie zufällig unsichere VMs

Repository anzeigen
2.8k32630vor 1 TagVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Security Scenario Generator (SecGen)

Zusammenfassung

SecGen erstellt verwundbare virtuelle Maschinen, Laborumgebungen und Hacking-Herausforderungen, damit Studierende Techniken des Sicherheits-Penetrationstests erlernen können.

Boxen wie Metasploitable2 sind immer gleich; dieses Projekt verwendet Vagrant, Puppet und Ruby, um zufällig verwundbare virtuelle Maschinen zu erstellen, die zum Lernen oder für die Ausrichtung von CTF-Veranstaltungen genutzt werden können.

Die neueste Version ist verfügbar unter: http://github.com/cliffe/SecGen/

Bitte füllen Sie eine kurze Umfrage aus, um uns mitzuteilen, wie Sie SecGen nutzen.

Für eine gehostete Lösung besuchen Sie: https://hacktivity.co.uk/

Einführung

Studierende der Computersicherheit profitieren von der Teilnahme an Hacking-Herausforderungen. Praktische Laborarbeit und vorkonfigurierte Hacking-Herausforderungen sind sowohl in der Sicherheitsausbildung als auch als Zeitvertreib für sicherheitsinteressierte Personen üblich. Wettbewerbsorientierte Hacking-Herausforderungen wie Capture-the-Flag-Wettbewerbe (CTF) sind zu einem festen Bestandteil von Branchenkonferenzen geworden und bilden den Mittelpunkt großer Online-Communities. Virtuelle Maschinen (VMs) bieten eine effektive Möglichkeit, Ziele für das Hacking gemeinsam zu nutzen, und können so gestaltet werden, dass sie die Fähigkeiten des Angreifers testen. Websites wie Vulnhub hosten vorkonfigurierte Hacking-Challenge-VMs und sind eine wertvolle Ressource für diejenigen, die ihre Fähigkeiten in der Computersicherheit erlernen und weiterentwickeln. Die Entwicklung dieser Hacking-Herausforderungen ist jedoch zeitaufwändig und im Wesentlichen statisch, sobald sie erstellt wurden. Das heißt, sobald die Herausforderung „gelöst" wurde, gibt es für den Studierenden keine verbleibende Herausforderung mehr, und wenn die Herausforderung für einen Wettbewerb oder eine Prüfung erstellt wurde, kann sie nicht wiederverwendet werden, ohne Plagiate und Kollusion zu riskieren.

Der Security Scenario Generator (SecGen) generiert randomisierte verwundbare Systeme. VMs werden auf der Grundlage einer Szenariospezifikation erstellt, die die Einschränkungen und Eigenschaften der zu erstellenden VMs beschreibt. Beispielsweise könnte ein Szenario die Erstellung eines Systems mit einer aus der Ferne ausnutzbaren Schwachstelle festlegen, die zu einer Kompromittierung auf Benutzerebene führen würde, sowie eines lokal ausnutzbaren Fehlers, der zu einer Kompromittierung auf Root-Ebene führen würde. Dies würde erfordern, dass der Angreifer beide zufällig ausgewählten Schwachstellen entdeckt und ausnutzt, um Root-Zugriff auf das System zu erlangen. Alternativ kann das definierte Szenario spezifischer sein und bestimmte Arten von Diensten (wie FTP oder SMB) oder sogar exakte Schwachstellen (nach CVE) angeben.

SecGen ist eine Ruby-Anwendung mit einer XML-Konfigurationssprache. SecGen liest seine Konfiguration, einschließlich der verfügbaren Schwachstellen, Dienste, Netzwerke, Benutzer und Inhalte, liest die Definition des angeforderten Szenarios, wendet Logik zur Randomisierung des Szenarios an und nutzt Puppet und Vagrant, um die erforderlichen VMs bereitzustellen.

Lizenz

SecGen ist freie Software: Sie können es unter den Bedingungen der GNU General Public License, wie von der Free Software Foundation veröffentlicht, weitergeben und/oder modifizieren, entweder unter Version 3 der Lizenz oder (nach Ihrer Wahl) unter jeder späteren Version.

SecGen enthält Module, die verschiedene Softwarepakete installieren. Jedes SecGen-Modul kann Software enthalten oder aus externen Quellen beziehen, und jedes Modul definiert seine eigene Lizenz in der zugehörigen Datei secgen_metadata.xml.

Installation

SecGen wird auf Ubuntu Linux entwickelt und getestet. Theoretisch sollte SecGen auf Mac oder Windows laufen, wenn alle erforderlichen Softwarekomponenten installiert sind.

SecGen benötigt:

  • Ruby 2.7 bis 4.0, mit Entwicklungs-Headern und den Ruby-Gems im Gemfile (einschließlich Nokogiri und Librarian-puppet)
  • Vagrant: https://developer.hashicorp.com/vagrant
  • VirtualBox: https://www.virtualbox.org/ (oder Proxmox / oVirt / ESXi, siehe unten)
  • ImageMagick, ExifTool, Graphviz und einige Bibliotheken für native Gems
  • Packer, nur für die Windows-Basen: https://www.packer.io/

Es gibt zwei Möglichkeiten, es zu installieren. Beide wurden von einer frischen Ubuntu-Installation aus getestet.

Option 1: Docker

Installieren Sie Docker und VirtualBox auf dem Host und lassen Sie dann docker/secgen-docker.sh einen Container mit allem anderen erstellen. VirtualBox wird auf dem Host weiterhin für seinen Kernel-Treiber benötigt. Siehe docker/README.md.

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

Option 2: Native Installation auf Ubuntu (22.04, 24.04, 26.04; 20.04 mit dem Hinweis unten)

Installiere VirtualBox aus Oracles Repository. Das Paket virtualbox in Ubuntu 24.04 (7.0.16) kann seinen Kernel-Treiber nicht für die aktuellen HWE-Kernel bauen, und Linux 7.0 benötigt VirtualBox 7.2.8 oder später:

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

Wenn KVM geladen ist, kann VirtualBox keine VMs starten, solange KVM VT-x belegt (VERR_VMX_IN_VMX_ROOT_MODE). Auf Kernels ab 6.12 können beide koexistieren:

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-Szenarien verwenden host-only Netzwerkbereiche außerhalb des VirtualBox-Standardbereichs 192.168.56.0/21, daher erlauben Sie jeden Bereich:

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

Installiere Vagrant aus dem Repository von HashiCorp (Ubuntu 26.04 liefert es nicht mehr mit, und ältere Vagrant-Versionen können keine Boxen mehr von Vagrant Cloud herunterladen):

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

Installiere Ruby und die anderen erforderlichen Pakete:

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

Klone SecGen und installiere die Gems. Verwende bundle install, nicht bundle update: Gemfile.lock pinnt Versionen, die auf jedem unterstützten Ruby funktionieren, und bundle update ersetzt sie durch die neuesten Releases, die möglicherweise nicht funktionieren.

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

Dann probiere das Standard-Szenario aus (es lädt beim ersten Mal die Basis-Box von hacktivity.co.uk herunter):

ruby secgen.rb run

Hinweise:

Tool herunterladen