
Erstellen Sie zufällig unsichere VMs
SecGen erstellt verletzliche virtuelle Maschinen, Laborumgebungen und Hacking-Challenges, damit Studenten Techniken des Penetrationstests erlernen können.
Boxen wie Metasploitable2 sind immer gleich. Dieses Projekt verwendet Vagrant, Puppet und Ruby, um zufällig verletzliche virtuelle Maschinen zu erstellen, die zum Lernen oder zum Ausrichten von CTF-Events genutzt werden können.
Die neueste Version ist verfügbar unter: http://github.com/cliffe/SecGen/
Bitte nehmen Sie an einer kurzen Umfrage teil, um uns mitzuteilen, wie Sie SecGen nutzen.
Für eine gehostete Lösung besuchen Sie: https://hacktivity.co.uk/
Computersicherheitsstudenten profitieren von der Teilnahme an Hacking-Challenges. Praktische Laborarbeit und vorkonfigurierte Hacking-Challenges sind sowohl in der Sicherheitsausbildung als auch als Zeitvertreib für sicherheitsbewusste Personen üblich. Wettbewerbsorientierte Hacking-Challenges, wie Capture-the-Flag (CTF)-Wettbewerbe, sind zu einem festen Bestandteil von Branchenkonferenzen geworden und stehen im Mittelpunkt großer Online-Communities. Virtuelle Maschinen (VMs) bieten eine effektive Möglichkeit, Ziele zum Hacken zu teilen, 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 verbessern. Die Entwicklung dieser Hacking-Challenges ist jedoch zeitaufwändig und nach der Erstellung im Wesentlichen statisch. Das heißt, sobald die Challenge "gelöst" wurde, gibt es keine verbleibende Herausforderung für den Studenten, und wenn die Challenge für einen Wettbewerb oder eine Bewertung erstellt wird, kann sie nicht ohne das Risiko von Plagiat und Absprache wiederverwendet werden.
Security Scenario Generator (SecGen) erzeugt randomisierte verletzliche Systeme. VMs werden basierend auf 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 remote ausnutzbaren Schwachstelle spezifizieren, die zu einer Kompromittierung auf Benutzerebene führt, und einem lokal ausnutzbaren Fehler, der zu einer Kompromittierung auf Root-Ebene führt. Dies würde erfordern, dass der Angreifer beide zufällig ausgewählten Schwachstellen entdeckt und ausnutzt, um Root-Zugriff auf das System zu erhalten. Alternativ kann das definierte Szenario spezifischer sein und bestimmte Arten von Diensten (wie FTP oder SMB) oder sogar genaue 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.
SecGen ist freie Software: Sie können es unter den Bedingungen der GNU General Public License, wie von der Free Software Foundation veröffentlicht, weiterverbreiten und/oder modifizieren, entweder in Version 3 der Lizenz oder (nach Ihrer Wahl) in jeder späteren Version.
SecGen enthält Module, die verschiedene Softwarepakete installieren. Jedes SecGen-Modul kann Software enthalten oder aus der Ferne beziehen, und jedes Modul definiert seine eigene Lizenz in der zugehörigen Datei secgen_metadata.xml.
SecGen wird auf Ubuntu Linux entwickelt und getestet. Theoretisch sollte SecGen auf Mac oder Windows laufen, wenn Sie die gesamte erforderliche Software installiert haben.
Sie müssen Folgendes installieren:
Dieses Projekt wurde für die Verwendung mit der Ubuntu (20.04)-Version angepasst, da (16.04) ab April 2021 das Ende der Lebensdauer erreicht hat. Obwohl es auf dieser Version noch funktioniert, wird nicht garantiert, dass es die für Ihre Entwicklungsumgebung erforderlichen Sicherheitsupdates unterstützt.
Stellen Sie sicher, dass Ubuntu mit den folgenden Befehlen aktualisiert ist:```bash sudo apt update sudo apt upgrade
Installieren Sie eine aktuelle Version von vagrant:```bash
wget https://releases.hashicorp.com/vagrant/2.2.9/vagrant_2.2.9_x86_64.deb
sudo apt install ./vagrant_2.2.9_x86_64.deb
Installiere andere erforderliche Pakete:```bash sudo apt-get install ruby-dev zlib1g-dev liblzma-dev build-essential patch virtualbox ruby-bundler imagemagick libmagickwand-dev exiftool libpq-dev libcurl4-openssl-dev libxml2-dev graphviz graphviz-dev libpcap0.8-dev git
Klonen Sie das SecGen-Repo mit dem folgenden Befehl.Standardmäßig wird dies /home/username/SecGen sein, ändern Sie nach Bedarf:```bash
git clone https://github.com/cliffe/SecGen.git
Installiere Gems mit den folgenden Befehlen:```bash #Step In to the file directory
cd /home/username/SecGen
bundle update --bundler
Gems aktualisieren:```bash
bundle update
Installieren Sie alle erforderlichen Pakete:```bash
wget https://releases.hashicorp.com/vagrant/1.9.8/vagrant_1.9.8_x86_64.deb sudo apt install ./vagrant_1.9.8_x86_64.deb
sudo apt-get install ruby-dev zlib1g-dev liblzma-dev build-essential patch virtualbox ruby-bundler imagemagick libmagickwand-dev exiftool libpq-dev libcurl4-openssl-dev libxml2-dev graphviz graphviz-dev libpcap0.8-dev git
Kopieren Sie SecGen in ein Verzeichnis Ihrer Wahl, wie z.B. */home/user/bin/SecGen*
Dann installieren Sie die Gems:```bash
cd /home/user/bin/SecGen
bundle install
Um die Windows-Basisboxen verwenden zu können, müssen Sie Packer installieren. Verwenden Sie den folgenden Befehl:```bash curl -SL https://releases.hashicorp.com/packer/1.3.2/packer_1.3.2_linux_amd64.zip -o packer_1.3.2_linux_amd64.zip unzip packer_1.3.2_linux_amd64.zip sudo mv packer /usr/local/ sudo bash -c 'echo "export PATH="$PATH:/usr/local/"" >> /etc/environment' sudo vagrant plugin install winrm sudo vagrant plugin install winrm-fs
## Verwendung
Grundlegende Verwendung:```bash
ruby secgen.rb run
This will use the default scenario to randomly generate VM(s).

SecGen accepts arguments to change the way that it behaves, the currently implemented arguments are:```bash ruby secgen.rb [--options] OPTIONS: --scenario [xml file], -s [xml file]: Set the scenario to use (defaults to /home/secgen/SecGen/scenarios/default_scenario.xml) --project [output dir], -p [output dir]: Directory for the generated project (output will default to /home/secgen/SecGen/projects/SecGen20200313_094915) --shutdown: Shutdown VMs after provisioning (vagrant halt) --network-ranges: Override network ranges within the scenario, use a comma-separated list --forensic-image-type [image type]: Forensic image format of generated image (raw, ewf) --read-options [conf path]: Reads options stored in file as arguments (see example.conf) --memory-per-vm: Allocate generated VMs memory in MB (e.g. --memory-per-vm 1024) --total-memory: Allocate total VM memory for the scenario, split evenly across all VMs. --cpu-cores: Number of virtual CPUs for generated VMs --help, -h: Shows this usage information --system, -y [system_name]: Only build this system_name from the scenario --snapshot: Creates a snapshot of VMs once built --no-tests: Prevent post-provisioning tests from running.
VIRTUALBOX OPTIONS:
--gui-output, -g: Show the running VM (not headless)
--nopae: Disable PAE support
--hwvirtex: Enable HW virtex support
--vtxvpid: Enable VTX support
--max-cpu-usage [1-100]: Controls how much cpu time a virtual CPU can use
(e.g. 50 implies a single virtual CPU can use up to 50% of a single host CPU)
OVIRT OPTIONS:
--ovirtuser [ovirt_username]
--ovirtpass [ovirt_password]
--ovirt-url [ovirt_api_url]
--ovirtauthz [ovirt authz]
--ovirt-cluster [ovirt_cluster]
--ovirt-network [ovirt_network_name]
--ovirt-affinity-group [ovirt_affinity_group_name]
ESXI OPTIONS:
--esxiuser [esxi_username]
--esxipass [esxi_password]
--esxi-hostname [esxi_api_url]
(ESXi hostname/IP)
--esxi-datastore [esxi_datastore]
--esxi-disktype [esxi_disktype]: 'thin', 'thick', or 'eagerzeroedthick'
(If unspecified, it will be set to 'thin')
--esxi-network [esxi_network_name]
(If its not specified, the default is to use the first found)
--esxi-guest-nictype [esxi_nictype]: 'e1000', 'e1000e', 'vmxnet', 'vmxnet2', 'vmxnet3', 'Vlance', or 'Flexible'
(RISKY - Can cause VM to not respond)
--esxi-no-hostname
(Setting the hostname on some boxes can cause vagrant up to fail if the network configuration was not previously cleaned up.)
PROXMOX OPTIONS:
--proxmoxuser [username]
--proxmoxpass [password]
--proxmox-url [api_url]
--proxmox-node [node]
--proxmox-network [proxmox network name]
--proxmox-vlan [vlan number]
COMMANDS:
run, r: Builds project and then builds the VMs
build-project, p: Builds project (vagrant and puppet config), but does not build VMs
build-vms, v: Builds VMs from a previously generated project
(use in combination with --project [dir])
ovirt-post-build: only performs the ovirt actions that normally follow a successful vm build
(snapshots and networking)
create-forensic-image: Builds forensic images from a previously generated project
(can be used in combination with --project [dir])
list-scenarios: Lists all scenarios that can be used with the --scenario option
list-projects: Lists all projects that can be used with the --project option
delete-all-projects: Deletes all current projects in the projects directory
## Fehlerbehebung: Aktualisieren von Basis-Images
Wenn SecGen bei der Installation von Paketen Fehler meldet, müssen die Template-VMs (Base Boxes), die wir auf Vagrant Cloud veröffentlichen, möglicherweise aktualisiert werden (insbesondere Kali, das ein Rolling-Release ist). Nachdem Sie einige VMs erstellt haben, navigieren Sie in Ihrem Home-Verzeichnis zu `.vagrant.d/boxes/`. Von dort aus können Sie die als Templates verwendeten VMs manuell starten und Software-Updates anwenden: `sudo apt-get update; sudo apt-get upgrade`. Fahren Sie dann die VM herunter und versuchen Sie SecGen erneut.
Für Proxmox verwenden Sie dieses Vagrant-Plugin: https://github.com/cliffe/vagrant-proxmox/, und wenden Sie diesen Fix für Vagrant an: https://github.com/hashicorp/vagrant/pull/12463/files.
Sie müssen in der Regel eine Debian-Buster-Basis-VM erstellen, indem Sie weitgehend diesen Anweisungen folgen:
https://github.com/cliffe/SecGen/blob/master/README-Creating-Bases.md
## Szenarien
SecGen generiert VMs basierend auf einer Szenariospezifikation, die die Einschränkungen und Eigenschaften der zu erstellenden VMs beschreibt.
### Verwendung vorhandener Szenarien
Bestehende Szenarien senken die Einstiegshürde für SecGen: Beim Aufruf von SecGen kann ein Szenario als Befehlsargument angegeben werden, und SecGen liest dann die entsprechende Szenariodefinition und führt die Randomisierung und VM-Generierung durch. Dies macht es für Endbenutzer des Frameworks überflüssig, die Konfigurationsspezifikation von SecGen zu verstehen.
Szenarien finden Sie im Verzeichnis `scenarios/`. Um beispielsweise eine VM zu starten, die eine zufällige, aus der Ferne ausnutzbare Schwachstelle aufweist, die zu einer Kompromittierung auf Benutzerebene führt:```bash
ruby secgen.rb --scenario scenarios/examples/remotely_exploitable_user_vulnerability.xml run

Um eine Reihe von VMs für eine zufällig generierte fiktive Organisation zu erzeugen, mit einem Desktop-System, einem Webserver und einem Intranet-Server:```bash ruby secgen.rb --scenario scenarios/security_audit/team_project.xml run
Beachten Sie, dass der Intranet-Server ein Sicherheitsmandat hat, mit Anweisungen zur Durchführung eines Sicherheitsaudits dieser Systeme. Das Desktop-System kann auf das Intranet zugreifen, um auf das Mandat zuzugreifen, aber die Angreifer-VM (z.B. Kali) kann nur mit dem NIC verbunden werden, das vom Webserver gemeinsam genutzt wird, um die Notwendigkeit zu simulieren, Angriffe durch den Webserver zu leiten, da sie keine direkte Verbindung zum Intranet-System herstellen können. Der "Bewertungsleitfaden" liegt in Form der Ausgabedatei scenario.xml im Projektverzeichnis vor, die die Details der generierten Systeme enthält.
#### VMs für ein CTF-Event
Um einen Satz von VMs für einen CTF-Wettbewerb zu generieren:```bash
ruby secgen.rb --scenario scenarios/ctf/flawed_fortress_1.xml run
Beachten Sie, dass auch eine Datei CTFd_importable.zip generiert wird, die alle Flags und Hinweise enthält und in das CTFd Scoreboard Frontend importiert werden kann.
Dies ist kompatibel mit CTFd v2.0.2 und neuer.
Standard-Admin-Konto: Benutzername: adminusername Passwort: adminpassword
Das Schreiben eigener Szenarien ermöglicht es Ihnen, eine VM oder eine Gruppe von VMs mit einer Konfiguration zu definieren, die so spezifisch oder allgemein ist, wie gewünscht.
Die Szenariodefinition von SecGen ist eine leistungsstarke Schnittstelle zur Angabe der Einschränkungen der zu generierenden verwundbaren Systeme. Szenarien werden in XML-Konfigurationsdateien definiert, die Systeme hinsichtlich einer Basis, Diensten/Dienstprogrammen, Schwachstellen und Netzwerken spezifizieren.
Details finden Sie im Leitfaden zum Erstellen von Szenarien.
SecGen ist darauf ausgelegt, mit Modulen, die Schwachstellen und andere Arten von Software, Konfigurationen und Inhaltsänderungen definieren, leicht erweiterbar zu sein.
Die von SecGen unterstützten Modultypen sind:
Jedes Vulnerability-Modul befindet sich im Verzeichnisbaum modules/vulnerabilities, der so organisiert ist, dass er der Modulverzeichnisstruktur des Metasploit Framework (MSF) entspricht. Zum Beispiel befindet sich das Vulnerability-Modul distcc_exec in: modules/vulnerabilities/unix/misc/distcc_exec/.
Das Stammverzeichnis des Moduls enthält immer eine Datei secgen_metadata.xml und enthält auch Puppet-Dateien, die verwendet werden, um ein System verwundbar zu machen.
Details finden Sie im Leitfaden zur Modul-Metadaten.
Encoder und Generatoren haben Code, der zur Build-Zeit des Projekts ausgewertet wird, wie das Kodieren von Text, das Generieren von Flags und anderen potenziell zufälligen Inhalten. In jedem Fall handelt es sich um ein Ruby-Skript, das sich im Modulverzeichnis unter local/secgen_local.rb befindet. Obwohl normalerweise von SecGen aufgerufen, können secgen_local.rb-Skripte direkt ausgeführt werden, akzeptieren alle Parametereingaben als Befehlszeilenargumente und geben die Ausgabe im JSON-Format an stdout aus. Andere menschenlesbare Ausgaben werden an stderr geschrieben.```bash #ruby modules/encoders/string/base64/secgen_local/local.rb --strings_to_encode "encode this" --strings_to_encode "and this" BASE64 Encoder Encoding '["encode this", "and this"]' Encoded: ["ZW5jb2RlIHRoaXM=", "YW5kIHRoaXM="] ["ZW5jb2RlIHRoaXM=","YW5kIHRoaXM="]


## Puppet wird zur Bereitstellung der VMs verwendet
Jedes Modul für Schwachstellen, Dienste und Dienstprogramme enthält Puppet-Dateien, die zur Bereitstellung der Software und Konfigurationsänderungen auf den VMs verwendet werden. Zum Zeitpunkt der Ausführung von Puppet zur Bereitstellung der VMs hat bereits alle Randomisierung zur Build-Zeit stattgefunden.
Details finden Sie im **[Puppet-Leitfaden für Module](https://github.com/cliffe/secgen/blob/HEAD/README-Modules-Puppet.md)**.
## SecGen-Projektausgabe
Standardmäßig erfolgt die Ausgabe nach 'projects/SecGen_*[CurrentTime]*/'
Die Projektausgabe umfasst:
- Eine Vagrant-Konfiguration zum Hochfahren der Boxen.
- Ein Verzeichnis, das alle erforderlichen Puppet-Module für das Obige enthält. Eine Librarian-Puppet-Datei wird erstellt, um Module zu verwalten, und einige erforderliche Module können über PuppetForge bezogen werden. Daher ist eine Internetverbindung erforderlich, wenn das Projekt erstellt wird.
- Eine ent-randomisierte Szenario-XML-Datei. Mit SecGen können Sie diese 'scenario.xml'-Datei verwenden, um die obige Vagrant-Konfiguration und die Puppet-Dateien neu zu erstellen. Jegliche angewandte Randomisierung sollte in dieser Ausgabe (im Vergleich zur ursprünglichen Szenario-Datei) ent-randomisiert sein. Diese Datei enthält alle Details der erstellten Systeme und kann später für Bewertung, Punktevergabe oder Hilfestellungen verwendet werden.
- Eine 'flag_hints.xml'-Datei, die alle Flags zusammen mit mehreren Hinweisen pro Flag enthält.
- Eine 'CTFd_importable.zip'-Datei, nützlich für CTF-Events, zum Import in das [CTFd Scoreboard-Frontend](https://github.com/CTFd/CTFd).
Wenn Sie SecGen mit dem Befehl "build-project" (oder "p") starten, werden die obigen Dateien erstellt und dann angehalten. Der Befehl "run" (oder "r") erstellt die Projektdateien und verwendet dann Vagrant, um die VM(s) zu bauen.
Es ist möglich, das Projektverzeichnis auf ein beliebiges kompatibles System mit Vagrant zu kopieren und einfach "vagrant up" auszuführen, um die VMs zu erstellen.
Das Standard-Root-Passwort für die Base-Boxen lautet 'puppet', kann aber von SecGen je nach verwendetem Szenario geändert werden.
## Stapelverarbeitung mit SecGen
Die Erstellung mehrerer VMs in einem Batch ist nun durch die Verwendung von batch_secgen möglich, das eine Job-Warteschlange verwaltet, um massenhaft VMs mit SecGen zu erstellen. Es gibt Hilfsbefehle, um Jobs hinzuzufügen, Jobs in der Tabelle aufzulisten, Jobs zu entfernen und den Status von Jobs von 'running' oder 'error' auf 'todo' zurückzusetzen.
Details finden Sie im **[Leitfaden zur Batch-Erstellung von VMs](https://github.com/cliffe/secgen/blob/HEAD/README-Batch-VMs.md)**.
## CyBOK-Wissensbereich-Schlüssel
Der Cyber Security Body of Knowledge (CyBOK) ist ein Wissensbestand, der darauf abzielt, die verschiedenen Wissensbereiche der Cybersicherheit zu erfassen.
Szenarien innerhalb von SecGen enthalten jetzt XML-Elemente, die sie mit CyBOK-Wissensbereichen und spezifischen Themen innerhalb dieser Wissensbereiche verknüpfen.
Darüber hinaus sind Videoinhalte für Szenarien mit CyBOK-Assoziationen getaggt.
Ein Index der Lab-Szenarien in SecGen, geordnet nach CyBOK-Wissensbereichen, finden Sie im **[Lab-Szenarien und CyBOK](https://github.com/cliffe/secgen/blob/HEAD/README-CyBOK-Scenarios-Indexed.md)**. Ebenso für **[CTF-Szenarien](https://github.com/cliffe/secgen/blob/HEAD/README-CyBOK-CTF-Scenarios-Indexed.md)**.
Eine Liste der Vorlesungs- und Demovideos mit CyBOK-Metadaten finden Sie unter **[Vorlesungsvideos und CyBOK](https://github.com/cliffe/secgen/blob/HEAD/README-CyBOK-Lecture-Videos.md)**.
Die folgende Tabelle ist ein Schlüssel für die Abkürzungen, die Sie in den CyBOK-XML-Elementen in den Szenarien finden:
| Abkürzung | Wissensbereich (KA) | Kapitel | Wissensbaum|
| ----------- | -------------------- | ------- | --------------|
| IC | Einführung in CyBOK | [Link](https://www.cybok.org/media/downloads/Introduction_to_CyBOK.pdf)| [Link](https://www.cybok.org/media/downloads/CyBOK_introduction.pdf) |
| FM | Formale Methoden | n/a | [Link](https://www.cybok.org/media/downloads/Formal_Methods_for_Security_VK6XZwO.pdf)|
| RMG | Risikomanagement & -Governance | [Link](https://www.cybok.org/media/downloads/Risk-Management--Governance-issue-1.0.pdf)| [Link](https://www.cybok.org/media/downloads/Risk_Management__Governancev2.pdf)|
| LR | Recht & Regulierung | [Link](https://www.cybok.org/media/downloads/Law__Regulation_issue_1.0.pdf)| [Link](https://www.cybok.org/media/downloads/Law__Regulation.pdf)|
| HF | Menschliche Faktoren | [Link](https://www.cybok.org/media/downloads/Human_Factors_issue_1.0.pdf)| [Link](https://www.cybok.org/media/downloads/Human_Factors.pdf)|
| POR | Datenschutz & Online-Rechte | [Link](https://www.cybok.org/media/downloads/Privacy__Online_Rights_issue_1.0_FNULPeI.pdf)| [Link](https://www.cybok.org/media/downloads/Privacy__Online_Rights.pdf)|
| MAT | Malware & Angriffstechnologien | [Link](https://www.cybok.org/media/downloads/Malware__Attack_Technology_issue_1.0.pdf)| [Link](https://www.cybok.org/media/downloads/Malware__Attack_Technologies.pdf)|
| AB | Gegnerisches Verhalten | [Link](https://www.cybok.org/media/downloads/Malware__Attack_Technology_issue_1.0.pdf)| [Link](https://www.cybok.org/media/downloads/Adversarial_Behaviours.pdf)|
| SOIM | Sicherheitsbetrieb & Incident-Management | [Link](https://www.cybok.org/media/downloads/Security_Operations__Incident_Management_issue_1.0.pdf)| [Link](https://www.cybok.org/media/downloads/Security_Operations__Incident_Management.pdf)|
| F | Forensik | [Link](https://www.cybok.org/media/downloads/Forensics_issue_1.0.pdf)| [Link](https://www.cybok.org/media/downloads/Forensics.pdf)|
| C | Kryptographie | [Link](https://www.cybok.org/media/downloads/Cryptography-issue-1.0.pdf)| [Link](https://www.cybok.org/media/downloads/Cryptography.pdf)|
| AC | Angewandte Kryptographie | [Link](https://www.cybok.org/media/downloads/Applied_Cryptography_v1.0.0.pdf)| [Link](https://www.cybok.org/media/downloads/Applied_Cryptography_tree-1.0.0.pdf)|
| OSV | Betriebssystem- & Virtualisierungssicherheit | [Link](https://www.cybok.org/media/downloads/Operating_Systems__Virtualisation_Security_issue_1.0_xhesi5S.pdf)| [Link](https://www.cybok.org/media/downloads/Operating_Systems__Virtualisation_Security.pdf)|
| DSS | Sicherheit verteilter Systeme | [Link](https://www.cybok.org/media/downloads/Distributed_Systems_Security_issue_1.0.pdf)| [Link](https://www.cybok.org/media/downloads/Distributed_Systems_Security.pdf)|
| AAA | Authentifizierung, Autorisierung und Verantwortlichkeit | [Link](https://www.cybok.org/media/downloads/AAA_issue_1.0_q3qspzo.pdf)| [Link](https://www.cybok.org/media/downloads/AAA.pdf) |
| SS | Softwaresicherheit | [Link](https://www.cybok.org/media/downloads/Software_Security_issue_1.0_1M7Kfk2.pdf)| [Link](https://www.cybok.org/media/downloads/Software_Security.pdf)|
| WAM | Web- & Mobilsicherheit | [Link](https://www.cybok.org/media/downloads/Web__Mobile_Security_issue_1.0_XFpbYNz.pdf)| [Link](https://www.cybok.org/media/downloads/Web__Mobile_Security.pdf)|
| SSL | Sicherer Software-Lebenszyklus | [Link](https://www.cybok.org/media/downloads/Secure_Software_Lifecycle_issue_1.0.pdf)| [Link](https://www.cybok.org/media/downloads/Secure_Software_Lifecycle.pdf)|
| NS | Netzwerksicherheit | [Link](https://www.cybok.org/media/downloads/Network_Security_issue_1.0_qsCh0SR.pdf)| [Link](https://www.cybok.org/media/downloads/Network_Security.pdf)|
| HS | Hardwaresicherheit | [Link](https://www.cybok.org/media/downloads/Hardware_Security_issue_1.0.pdf)| [Link](https://www.cybok.org/media/downloads/Hardware_Security.pdf)|
| CPS | Cyber-Physische Systeme | [Link](https://www.cybok.org/media/downloads/Cyber-Physical_Systems_Security_issue_1.0.pdf)| [Link](https://www.cybok.org/media/downloads/Cyber_Physical_Systems_Security.pdf)|
| PLT | Sicherheit der Bitübertragungsschicht und Telekommunikation | [Link](https://www.cybok.org/media/downloads/Physical_Layer__Telecommunications_Security_issue_1.0.pdf)| [Link](https://www.cybok.org/media/downloads/Physical_Layer__Telecomms_Security.pdf)|
## Hacktivity Cyber Security Labs
[Für eine gehostete Lösung besuchen Sie: https://hacktivity.leedsbeckett.ac.uk/](https://hacktivity.leedsbeckett.ac.uk/)
Hacktivity wird von SecGen betrieben und bietet eine vollständig gehostete Laborumgebung für die Cybersicherheitsausbildung. Verfolgen Sie Ihren Fortschritt mit CyBOK-Einblicken.
## Danksagungen
*Entwicklungsteam:*
- Dr. Z. Cliffe Schreuders http://z.cliffe.schreuders.org
- Tom Shaw
- Alix Hiscock
- Rosie Fletcher
- James Davis
- Sofia Markusfeld
- Harry Hall
- Jack Biggs
- Tom Harrison
- Jason Keighley
- Lewis Ardern – Autor der ersten Proof-of-Concept-Veröffentlichung von SecGen
- Connor Wilson
Vielen Dank an alle, die zum Projekt beigetragen haben. Die obige Liste ist nicht vollständig oder abschließend; bitte beziehen Sie sich auf den [GitHub-Verlauf](https://github.com/cliffe/SecGen/graphs/contributors).
*Förderunterstützung:*
- Dieses Projekt wird durch einen Zuschuss der Higher Education Academy (HEA) zum Lehren und Lernen im Bereich Cybersicherheit (2015–2017) unterstützt.
- Dieses Projekt wird durch einen Zuschuss des Teaching Excellence Fund der Leeds Beckett University (2018–2019) unterstützt.
- Dieses Projekt wird durch einen Zuschuss des Cyber Security Body of Knowledge (CyBOK) für Ressourcen rund um CyBOK 1.0 (2021) unterstützt.
- Dieses Projekt wird durch einen Zuschuss des Cyber Security Body of Knowledge (CyBOK) für Ressourcen rund um CyBOK 1.1 (2021–2022) unterstützt.
- Dieses Projekt wird durch einen Zuschuss des Cyber Security Body of Knowledge (CyBOK) für Ressourcen rund um CyBOK 1.1 (2022–2023) unterstützt.
- Dieses Projekt wird durch einen Zuschuss von CyberASAP (Cyber Security Academic Startup Accelerator Programme) Innovate UK (2022–2023) unterstützt.
- Dieses Projekt wird durch einen Zuschuss des Teaching Excellence Fund der Leeds Beckett University (2023) unterstützt.
- Dieses Projekt wird durch einen Zuschuss des Cyber Security Body of Knowledge (CyBOK) für Ressourcen rund um CyBOK 1.1 (2023–2024) unterstützt.
- Dieses Projekt wird durch einen Zuschuss des Cyber Security Body of Knowledge (CyBOK) für Ressourcen rund um CyBOK 1.1 (2024–2025) unterstützt.
- Dieses Projekt wird durch einen Zuschuss des Cyber Security Body of Knowledge (CyBOK) für Ressourcen rund um Sicherheitsinformierte Sicherheit (2025–2026) unterstützt.
## Mitwirken
Wir ermutigen zu Beiträgen zum Projekt.
Bitte forken Sie von http://github.com/cliffe/SecGen/, erstellen Sie einen Branch, nehmen Sie Ihre Änderungen vor und committen Sie diese, und erstellen Sie dann einen Pull-Request.
## Ressourcen
Paper: [Z.C. Schreuders, T. Shaw, "Hacktivity Cyber Security Labs: Randomised Challenges and Virtualisation Infrastructure Management, with CyBOK Integration," Advances in Cyber Security Education, Bristol, UK. CSE-Connect, 2024.](https://link.springer.com/chapter/10.1007/978-3-031-77524-6_4#citeas)
Paper: [Z.C. Schreuders, T. Shaw, A. Mac Muireadhaigh, and P. Staniforth, “Hackerbot: Attacker Chatbots for Randomised and Interactive Security Labs, Using SecGen and oVirt,” USENIX Workshop on Advances in Security Education (ASE'18), Baltimore, MD, USA. USENIX Association, 2018.](https://www.usenix.org/conference/ase18/presentation/schreuders) (Dieses Paper beschreibt Hackerbot und wie wir SecGen mit oVirt verwenden.)
Paper: [Z.C. Schreuders, T. Shaw, M. Shan-A-Khuda, G. Ravichandran, J. Keighley, and M. Ordean, “Security Scenario Generator (SecGen): A Framework for Generating Randomly Vulnerable Rich-scenario VMs for Learning Computer Security and Hosting CTF Events,” USENIX Workshop on Advances in Security Education (ASE'17), Vancouver, BC, Canada. USENIX Association, 2017.](https://www.usenix.org/conference/ase17/workshop-program/presentation/schreuders) (Dieses Paper bietet einen guten Überblick über SecGen.)
Paper: [Z.C. Schreuders, and L. Ardern, "Generating randomised virtualised scenarios for ethical hacking and computer security education: SecGen implementation and deployment," in The first UK Workshop on Cybersecurity Training & Education (Vibrant Workshop 2015) Liverpool, UK, 2015.](http://z.cliffe.schreuders.org/publications/VibrantWorkshop2015%20-%20Generating%20randomised%20virtualised%20scenarios%20for%20ethical%20hacking%20and%20computer%20security%20education%20%28SecGen%29.pdf) (Dieses Paper beschreibt den ersten Prototypen.)
Podcast-Interview: [Purple Squad Security Episode 011 – Security Scenario Generator mit Dr. Z. Cliffe Schreuders](https://purplesquadsec.com/podcast/episode-011-security-scenario-generator-dr-z-cliffe-schreuders/)