
यादृच्छिक रूप से असुरक्षित VMs बनाएं
SecGen कमजोर वर्चुअल मशीनों, प्रयोगशाला वातावरणों और हैकिंग चुनौतियों का निर्माण करता है, ताकि छात्र सुरक्षा पैठ परीक्षण तकनीक सीख सकें।
Metasploitable2 जैसे बॉक्स हमेशा समान होते हैं, यह प्रोजेक्ट Vagrant, Puppet और Ruby का उपयोग करके यादृच्छिक रूप से कमजोर वर्चुअल मशीनें बनाता है जिनका उपयोग सीखने या CTF ईवेंट होस्ट करने के लिए किया जा सकता है।
नवीनतम संस्करण यहां उपलब्ध है: http://github.com/cliffe/SecGen/
कृपया एक संक्षिप्त सर्वेक्षण पूरा करें ताकि हमें बता सकें कि आप SecGen का उपयोग कैसे कर रहे हैं।
होस्ट किए गए समाधान के लिए यहां जाएं: https://hacktivity.co.uk/
कम्प्यूटर सुरक्षा के छात्र हैकिंग चुनौतियों में भाग लेने से लाभान्वित होते हैं। व्यावहारिक प्रयोगशाला कार्य और पूर्व-कॉन्फ़िगर की गई हैकिंग चुनौतियाँ सुरक्षा शिक्षा और सुरक्षा-उन्मुख व्यक्तियों के शौक दोनों के रूप में सामान्य प्रथा हैं। प्रतिस्पर्धी हैकिंग चुनौतियाँ, जैसे कैप्चर द फ्लैग (CTF) प्रतियोगिताएँ, उद्योग सम्मेलनों में एक मुख्य आकर्षण बन गई हैं और बड़े ऑनलाइन समुदायों का केंद्र हैं। वर्चुअल मशीनें (VMs) हैकिंग के लिए लक्ष्य साझा करने का एक प्रभावी तरीका प्रदान करती हैं, और हमलावर के कौशल का परीक्षण करने के लिए डिज़ाइन की जा सकती हैं। Vulnhub जैसी वेबसाइटें पूर्व-कॉन्फ़िगर की गई हैकिंग चुनौती VMs होस्ट करती हैं और उन लोगों के लिए एक मूल्यवान संसाधन हैं जो कम्प्यूटर सुरक्षा में अपने कौशल को सीख रहे हैं और आगे बढ़ा रहे हैं। हालाँकि, इन हैकिंग चुनौतियों को विकसित करना समय लेने वाला है, और एक बार बन जाने के बाद, ये मूल रूप से स्थिर होती हैं। अर्थात, एक बार चुनौती "हल" हो जाने के बाद छात्र के लिए कोई शेष चुनौती नहीं रहती, और यदि चुनौती किसी प्रतियोगिता या मूल्यांकन के लिए बनाई गई है, तो साहित्यिक चोरी और मिलीभगत के जोखिम के बिना चुनौती का पुन: उपयोग नहीं किया जा सकता।
सुरक्षा परिदृश्य जनरेटर (SecGen) यादृच्छिक कमजोर सिस्टम उत्पन्न करता है। VMs एक परिदृश्य विनिर्देश के आधार पर बनाए जाते हैं, जो बनाए जाने वाले VMs की बाधाओं और गुणों का वर्णन करता है। उदाहरण के लिए, एक परिदृश्य एक ऐसी प्रणाली के निर्माण को निर्दिष्ट कर सकता है जिसमें एक दूरस्थ शोषण योग्य कमजोरी हो जो उपयोगकर्ता-स्तरीय समझौते का परिणाम देगी, और एक स्थानीय शोषण योग्य दोष जो रूट-स्तरीय समझौते का परिणाम देगा। इसके लिए हमलावर को सिस्टम तक रूट पहुंच प्राप्त करने के लिए दोनों यादृच्छिक रूप से चयनित कमजोरियों की खोज और शोषण करना होगा। वैकल्पिक रूप से, परिभाषित परिदृश्य अधिक विशिष्ट हो सकता है, जिसमें कुछ प्रकार की सेवाओं (जैसे FTP या SMB) या यहां तक कि सटीक कमजोरियों (CVE द्वारा) को निर्दिष्ट किया जा सकता है।
SecGen एक Ruby एप्लिकेशन है, जिसमें XML कॉन्फ़िगरेशन भाषा है। SecGen अपनी कॉन्फ़िगरेशन पढ़ता है, जिसमें उपलब्ध कमजोरियाँ, सेवाएँ, नेटवर्क, उपयोगकर्ता और सामग्री शामिल हैं, अनुरोधित परिदृश्य की परिभाषा पढ़ता है, परिदृश्य को यादृच्छिक बनाने के लिए तर्क लागू करता है, और आवश्यक VMs प्रदान करने के लिए Puppet और Vagrant का लाभ उठाता है।
SecGen मुफ्त सॉफ्टवेयर है: आप इसे GNU जनरल पब्लिक लाइसेंस की शर्तों के तहत पुनर्वितरित और संशोधित कर सकते हैं जैसा कि Free Software Foundation द्वारा प्रकाशित किया गया है, चाहे लाइसेंस का संस्करण 3 हो या (आपकी पसंद पर) कोई बाद का संस्करण।
SecGen में मॉड्यूल शामिल हैं, जो विभिन्न सॉफ्टवेयर पैकेज स्थापित करते हैं। प्रत्येक SecGen मॉड्यूल में सॉफ्टवेयर हो सकता है या दूरस्थ रूप से स्रोत हो सकता है, और प्रत्येक मॉड्यूल अपने स्वयं के लाइसेंस को साथ में दिए गए secgen_metadata.xml फ़ाइल में परिभाषित करता है।
SecGen Ubuntu Linux पर विकसित और परीक्षण किया गया है। सिद्धांत रूप में, यदि आपके पास सभी आवश्यक सॉफ्टवेयर स्थापित हैं, तो SecGen Mac या Windows पर चलना चाहिए।
आपको निम्नलिखित स्थापित करने की आवश्यकता होगी:
यह प्रोजेक्ट Ubuntu (20.04) रिलीज़ के साथ काम करने के लिए अनुकूलित किया गया है क्योंकि (16.04) अप्रैल 2021 तक जीवन के अंत पर आ रहा है, हालांकि यह उस संस्करण पर भी काम करेगा लेकिन यह गारंटी नहीं है कि यह आपके विकास वातावरण के लिए आवश्यक सुरक्षा अपडेट का समर्थन करेगा।
निम्नलिखित कमांड का उपयोग करके Ubuntu को अपडेट करना सुनिश्चित करें:```bash sudo apt update sudo apt upgrade
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
अन्य आवश्यक पैकेज स्थापित करें:```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
निम्नलिखित कमांड का उपयोग करके SecGen रिपॉजिटरी को क्लोन करें।डिफ़ॉल्ट रूप से यह /home/username/SecGen होगा, आवश्यकतानुसार बदलें:```bash
git clone https://github.com/cliffe/SecGen.git
निम्नलिखित कमांड का उपयोग करके gems इंस्टॉल करें:```bash #Step In to the file directory
cd /home/username/SecGen
bundle update --bundler
gems अपडेट करें:```bash
bundle update
सभी आवश्यक पैकेज स्थापित करें:```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
SecGen को अपनी पसंद की निर्देशिका में कॉपी करें, जैसे */home/user/bin/SecGen*
फिर gems इंस्टॉल करें:```bash
cd /home/user/bin/SecGen
bundle install
Windows baseboxes का उपयोग करने के लिए आपको Packer स्थापित करना होगा। निम्न कमांड का उपयोग करें:```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
## उपयोग
मूल उपयोग:```bash
ruby secgen.rb run
यह डिफ़ॉल्ट परिदृश्य का उपयोग करके यादृच्छिक रूप से VM(s) उत्पन्न करेगा।

SecGen अपने व्यवहार को बदलने के लिए तर्क स्वीकार करता है, वर्तमान में कार्यान्वित तर्क हैं:```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
## समस्या निवारण: बेस बॉक्स अपडेट करना
यदि SecGen को पैकेज इंस्टॉल करने में त्रुटियाँ आती हैं, तो हमारे द्वारा Vagrant क्लाउड पर प्रकाशित टेम्पलेट VM (बेस बॉक्स) को अपडेट करने की आवश्यकता हो सकती है (विशेषकर Kali, जो एक रोलिंग-रिलीज़ है)। कुछ VM बनाने के बाद, अपनी होम डायरेक्टरी `.vagrant.d/boxes/` में ब्राउज़ करें, यहाँ से आप मैन्युअल रूप से उन VM को लॉन्च कर सकते हैं जो टेम्पलेट के रूप में उपयोग होते हैं, और सॉफ़्टवेयर अपडेट लागू करें `sudo apt-get update; sudo apt-get upgrade`। फिर VM को बंद करें और SecGen को पुनः प्रयास करें।
Proxmox के लिए, इस Vagrant प्लगइन का उपयोग करें: https://github.com/cliffe/vagrant-proxmox/, और Vagrant में यह फिक्स करें: https://github.com/hashicorp/vagrant/pull/12463/files।
आपको आमतौर पर एक Debian Buster बेस VM बनाने की आवश्यकता होगी, मोटे तौर पर इन निर्देशों का पालन करते हुए:
https://github.com/cliffe/SecGen/blob/master/README-Creating-Bases.md
## परिदृश्य
SecGen, एक परिदृश्य विनिर्देश के आधार पर VM उत्पन्न करता है, जो बनाए जाने वाले VM की बाधाओं और गुणों का वर्णन करता है।
### मौजूदा परिदृश्यों का उपयोग करना
मौजूदा परिदृश्य SecGen में प्रवेश के लिए बाधा को कम करते हैं: SecGen को लागू करते समय, एक कमांड आर्गुमेंट के रूप में एक परिदृश्य निर्दिष्ट किया जा सकता है, और SecGen फिर उपयुक्त परिदृश्य परिभाषा को पढ़ेगा और रैंडमाइज़ेशन और VM जनरेशन की प्रक्रिया शुरू करेगा। यह फ्रेमवर्क के अंतिम उपयोगकर्ताओं से SecGen के कॉन्फ़िगरेशन विनिर्देश को समझने की आवश्यकता को हटा देता है।
परिदृश्य scenarios/ निर्देशिका में पाए जा सकते हैं। उदाहरण के लिए, एक ऐसा VM तैयार करने के लिए जिसमें यादृच्छिक दूरस्थ रूप से शोषण योग्य कमजोरी है जो उपयोगकर्ता-स्तरीय समझौता का कारण बनती है:```bash
ruby secgen.rb --scenario scenarios/examples/remotely_exploitable_user_vulnerability.xml run

एक यादृच्छिक रूप से उत्पन्न काल्पनिक संगठन के लिए, एक डेस्कटॉप सिस्टम, वेबसर्वर और इंट्रानेट सर्वर के साथ वीएम का एक सेट उत्पन्न करने के लिए:```bash ruby secgen.rb --scenario scenarios/security_audit/team_project.xml run
ध्यान दें कि इंट्रानेट सर्वर का एक सुरक्षा कार्यक्षेत्र है, जिसमें इन सिस्टमों का सुरक्षा ऑडिट करने के निर्देश हैं। डेस्कटॉप सिस्टम कार्यक्षेत्र तक पहुँचने के लिए इंट्रानेट का उपयोग कर सकता है, लेकिन हमलावर VM (उदाहरण के लिए, Kali) केवल उस NIC से जुड़ सकता है जो Web सर्वर द्वारा साझा की गई है, ताकि Web सर्वर के माध्यम से हमलों को पिवट करने की आवश्यकता का अनुकरण किया जा सके, क्योंकि वे सीधे इंट्रानेट सिस्टम से कनेक्ट नहीं हो सकते। "मार्किंग गाइड" प्रोजेक्ट डायरेक्टरी में आउटपुट scenario.xml के रूप में है, जो उत्पन्न सिस्टमों का विवरण प्रदान करता है।
#### CTF इवेंट के लिए VMs```bash
ruby secgen.rb --scenario scenarios/ctf/flawed_fortress_1.xml run
ध्यान दें कि एक 'CTFd_importable.zip' फ़ाइल भी उत्पन्न होती है, जिसमें सभी फ़्लैग और संकेत होते हैं, जिसे आप CTFd स्कोरबोर्ड फ्रंटएंड में आयात कर सकते हैं। यह CTFd v2.0.2 और नए संस्करणों के साथ संगत है।
डिफ़ॉल्ट एडमिन खाता: उपयोगकर्ता नाम: adminusername पासवर्ड: adminpassword
अपने स्वयं के परिदृश्य लिखने से आप एक VM या VM के सेट को वांछित के अनुसार विशिष्ट या सामान्य कॉन्फ़िगरेशन के साथ परिभाषित कर सकते हैं।
SecGen का परिदृश्य विनिर्देश उत्पन्न करने के लिए कमजोर सिस्टम की बाधाओं को निर्दिष्ट करने के लिए एक शक्तिशाली इंटरफ़ेस है। परिदृश्य XML कॉन्फ़िगरेशन फ़ाइलों में परिभाषित किए जाते हैं जो सिस्टम को आधार, सेवाओं/उपयोगिताओं, कमजोरियों और नेटवर्क के संदर्भ में निर्दिष्ट करते हैं।
विवरण के लिए कृपया परिदृश्य बनाने की मार्गदर्शिका देखें।
SecGen को मॉड्यूल के साथ आसानी से विस्तार योग्य बनाने के लिए डिज़ाइन किया गया है जो कमजोरियों और अन्य प्रकार के सॉफ़्टवेयर, कॉन्फ़िगरेशन और सामग्री परिवर्तनों को परिभाषित करते हैं।
SecGen में समर्थित मॉड्यूल के प्रकार हैं:
प्रत्येक कमजोरी मॉड्यूल modules/vulnerabilies निर्देशिका ट्री में समाहित है, जो Metasploit Framework (MSF) मॉड्यूल निर्देशिका संरचना से मेल खाने के लिए व्यवस्थित है। उदाहरण के लिए, distcc_exec कमजोरी मॉड्यूल इसमें समाहित है: modules/vulnerabilities/unix/misc/distcc_exec/।
मॉड्यूल निर्देशिका के मूल में हमेशा secgen_metadata.xml फ़ाइल होती है और इसमें पपेट फ़ाइलें भी होती हैं, जिनका उपयोग सिस्टम को कमजोर बनाने के लिए किया जाता है।
विवरण के लिए कृपया मॉड्यूल मेटाडेटा मार्गदर्शिका देखें।
एन्कोडर और जनरेटर के पास कोड होता है जो प्रोजेक्ट बिल्ड समय पर मूल्यांकित किया जाता है, जैसे पाठ को एन्कोड करना, और फ़्लैग और अन्य संभावित यादृच्छिक सामग्री उत्पन्न करना। प्रत्येक मामले में, यह मॉड्यूल निर्देशिका के अंदर local/secgen_local.rb में स्थित एक रूबी स्क्रिप्ट है। हालांकि सामान्यतः SecGen द्वारा कॉल किया जाता है, secgen_local.rb स्क्रिप्ट को सीधे निष्पादित किया जा सकता है, और सभी पैरामीटर इनपुट को कमांड लाइन आर्गुमेंट के रूप में स्वीकार करता है, और आउटपुट को JSON प्रारूप में stdout पर लौटाता है। अन्य मानव-पठनीय आउटपुट stderr पर लिखा जाता है।```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="]


## VMs को प्रावधानित करने के लिए Puppet का उपयोग किया जाता है
प्रत्येक भेद्यता, सेवा और उपयोगिता मॉड्यूल में Puppet फ़ाइलें होती हैं जिनका उपयोग VMs पर सॉफ़्टवेयर और कॉन्फ़िगरेशन परिवर्तनों को प्रावधानित करने के लिए किया जाता है। जब तक Puppet को VMs प्रावधानित करने के लिए निष्पादित किया जाता है, तब तक सभी रैंडमाइज़ेशन पहले ही बिल्ड समय पर हो चुके होते हैं।
विवरण के लिए कृपया **[मॉड्यूल Puppet गाइड](https://github.com/cliffe/secgen/blob/HEAD/README-Modules-Puppet.md)** देखें।
## SecGen परियोजना आउटपुट
डिफ़ॉल्ट रूप से आउटपुट 'projects/SecGen_*[वर्तमानसमय]*/' में जाता है
परियोजना आउटपुट में शामिल हैं:
- बक्सों को स्पिन करने के लिए एक Vagrant कॉन्फ़िगरेशन।
- उपरोक्त के लिए आवश्यक सभी puppet मॉड्यूल वाली एक निर्देशिका। मॉड्यूल को प्रबंधित करने के लिए एक Librarian-Puppet फ़ाइल बनाई जाती है, और कुछ आवश्यक मॉड्यूल PuppetForge के माध्यम से प्राप्त किए जा सकते हैं, इसलिए परियोजना बनाते समय इंटरनेट कनेक्शन की आवश्यकता होती है।
- एक डि-रैंडमाइज़्ड परिदृश्य XML फ़ाइल। SecGen का उपयोग करके आप इस 'scenario.xml' फ़ाइल का उपयोग उपरोक्त Vagrant कॉन्फ़िग और puppet फ़ाइलों को पुनः बनाने के लिए कर सकते हैं। कोई भी रैंडमाइज़ेशन जो लागू किया गया है, वह इस आउटपुट में (मूल परिदृश्य फ़ाइल की तुलना में) डि-रैंडमाइज़्ड होना चाहिए। इस फ़ाइल में बनाए गए सिस्टम के सभी विवरण शामिल हैं, और इसका उपयोग बाद में ग्रेडिंग, स्कोरिंग या संकेत देने के लिए भी किया जा सकता है।
- एक 'flag_hints.xml' फ़ाइल, जिसमें प्रति फ़्लैग कई संकेतों के साथ सभी फ़्लैग शामिल हैं।
- एक 'CTFd_importable.zip' फ़ाइल जो CTF आयोजनों के लिए उपयोगी है, [CTFd स्कोरबोर्ड फ्रंटएंड](https://github.com/CTFd/CTFd) में आयात करने के लिए।
यदि आप SecGen को "build-project" (या "p") कमांड के साथ शुरू करते हैं तो यह उपरोक्त फ़ाइलें बनाता है और फिर रुक जाता है। "run" (या "r") कमांड परियोजना फ़ाइलें बनाता है और फिर VMs बनाने के लिए Vagrant का उपयोग करता है।
परियोजना निर्देशिका को Vagrant के साथ संगत किसी भी सिस्टम पर कॉपी करना और VMs बनाने के लिए बस "vagrant up" चलाना संभव है।
बेस-बक्सों का डिफ़ॉल्ट रूट पासवर्ड 'puppet' है, लेकिन उपयोग किए गए परिदृश्य के आधार पर SecGen द्वारा इसे संशोधित किया जा सकता है।
## SecGen के साथ बैच प्रोसेसिंग
batch_secgen के उपयोग से अब बैच में कई VMs उत्पन्न करना संभव है, जो SecGen के साथ बड़े पैमाने पर VMs बनाने के लिए एक जॉब कतार का प्रबंधन करता है। जॉब जोड़ने, तालिका में जॉब सूचीबद्ध करने, जॉब हटाने और जॉब की स्थिति को 'running' या 'error' से 'todo' में रीसेट करने के लिए सहायक कमांड उपलब्ध हैं।
विवरण के लिए कृपया **[VMs का बैच निर्माण गाइड](https://github.com/cliffe/secgen/blob/HEAD/README-Batch-VMs.md)** देखें।
## CyBOK ज्ञान क्षेत्र कुंजी
साइबर सुरक्षा ज्ञान निकाय (CyBOK) एक ज्ञान निकाय है जिसका उद्देश्य साइबर सुरक्षा में मौजूद विभिन्न ज्ञान क्षेत्रों को समाहित करना है।
SecGen के भीतर परिदृश्यों में अब XML तत्व होते हैं जो उन्हें CyBOK ज्ञान क्षेत्रों और उन ज्ञान क्षेत्रों के अंतर्गत विशिष्ट विषयों से जोड़ते हैं।
इसके अलावा, परिदृश्यों के लिए वीडियो सामग्री CyBOK संघों से टैग की जाती है।
CyBOK ज्ञान क्षेत्रों के अनुसार व्यवस्थित SecGen में प्रयोगशाला परिदृश्यों की अनुक्रमणिका के लिए कृपया **[प्रयोगशाला परिदृश्य और CyBOK](https://github.com/cliffe/secgen/blob/HEAD/README-CyBOK-Scenarios-Indexed.md)** देखें। इसी प्रकार, **[CTF परिदृश्य](https://github.com/cliffe/secgen/blob/HEAD/README-CyBOK-CTF-Scenarios-Indexed.md)** के लिए।
CyBOK मेटाडेटा वाले व्याख्यान और डेमो वीडियो की सूची के लिए कृपया **[व्याख्यान वीडियो और CyBOK](https://github.com/cliffe/secgen/blob/HEAD/README-CyBOK-Lecture-Videos.md)** देखें।
नीचे दी गई तालिका उन संक्षिप्ताक्षरों की कुंजी है जो आपको परिदृश्यों के भीतर CyBOK XML तत्वों में मिलेंगे:
| संक्षिप्ताक्षर | ज्ञान क्षेत्र (KA) | अध्याय | ज्ञान वृक्ष |
| ----------- | -------------------- | ------- | --------------|
| IC | Introduction to CyBOK | [लिंक](https://www.cybok.org/media/downloads/Introduction_to_CyBOK.pdf)| [लिंक](https://www.cybok.org/media/downloads/CyBOK_introduction.pdf) |
| FM | Formal Methods | n/a | [लिंक](https://www.cybok.org/media/downloads/Formal_Methods_for_Security_VK6XZwO.pdf)|
| RMG | Risk Management & Governance | [लिंक](https://www.cybok.org/media/downloads/Risk-Management--Governance-issue-1.0.pdf)| [लिंक](https://www.cybok.org/media/downloads/Risk_Management__Governancev2.pdf)|
| LR | Law & Regulation | [लिंक](https://www.cybok.org/media/downloads/Law__Regulation_issue_1.0.pdf)| [लिंक](https://www.cybok.org/media/downloads/Law__Regulation.pdf)|
| HF | Human Factors | [लिंक](https://www.cybok.org/media/downloads/Human_Factors_issue_1.0.pdf)| [लिंक](https://www.cybok.org/media/downloads/Human_Factors.pdf)|
| POR | Privacy & Online Rights | [लिंक](https://www.cybok.org/media/downloads/Privacy__Online_Rights_issue_1.0_FNULPeI.pdf)| [लिंक](https://www.cybok.org/media/downloads/Privacy__Online_Rights.pdf)|
| MAT | Malware & Attack Technologies | [लिंक](https://www.cybok.org/media/downloads/Malware__Attack_Technology_issue_1.0.pdf)| [लिंक](https://www.cybok.org/media/downloads/Malware__Attack_Technologies.pdf)|
| AB | Adversarial Behaviours | [लिंक](https://www.cybok.org/media/downloads/Malware__Attack_Technology_issue_1.0.pdf)| [लिंक](https://www.cybok.org/media/downloads/Adversarial_Behaviours.pdf)|
| SOIM | Security Operations & Incident Management | [लिंक](https://www.cybok.org/media/downloads/Security_Operations__Incident_Management_issue_1.0.pdf)| [लिंक](https://www.cybok.org/media/downloads/Security_Operations__Incident_Management.pdf)|
| F | Forensics | [लिंक](https://www.cybok.org/media/downloads/Forensics_issue_1.0.pdf)| [लिंक](https://www.cybok.org/media/downloads/Forensics.pdf)|
| C | Cryptography | [लिंक](https://www.cybok.org/media/downloads/Cryptography-issue-1.0.pdf)| [लिंक](https://www.cybok.org/media/downloads/Cryptography.pdf)|
| AC | Applied Cryptography | [लिंक](https://www.cybok.org/media/downloads/Applied_Cryptography_v1.0.0.pdf)| [लिंक](https://www.cybok.org/media/downloads/Applied_Cryptography_tree-1.0.0.pdf)|
| OSV | Operating Systems & Virtualisation Security | [लिंक](https://www.cybok.org/media/downloads/Operating_Systems__Virtualisation_Security_issue_1.0_xhesi5S.pdf)| [लिंक](https://www.cybok.org/media/downloads/Operating_Systems__Virtualisation_Security.pdf)|
| DSS | Distributed Systems Security | [लिंक](https://www.cybok.org/media/downloads/Distributed_Systems_Security_issue_1.0.pdf)| [लिंक](https://www.cybok.org/media/downloads/Distributed_Systems_Security.pdf)|
| AAA | Authentication, Authorisation and Accountability | [लिंक](https://www.cybok.org/media/downloads/AAA_issue_1.0_q3qspzo.pdf)| [लिंक](https://www.cybok.org/media/downloads/AAA.pdf) |
| SS | Software Security | [लिंक](https://www.cybok.org/media/downloads/Software_Security_issue_1.0_1M7Kfk2.pdf)| [लिंक](https://www.cybok.org/media/downloads/Software_Security.pdf)|
| WAM | Web & Mobile Security | [लिंक](https://www.cybok.org/media/downloads/Web__Mobile_Security_issue_1.0_XFpbYNz.pdf)| [लिंक](https://www.cybok.org/media/downloads/Web__Mobile_Security.pdf)|
| SSL | Secure Software Lifecycle | [लिंक](https://www.cybok.org/media/downloads/Secure_Software_Lifecycle_issue_1.0.pdf)| [लिंक](https://www.cybok.org/media/downloads/Secure_Software_Lifecycle.pdf)|
| NS | Network Security | [लिंक](https://www.cybok.org/media/downloads/Network_Security_issue_1.0_qsCh0SR.pdf)| [लिंक](https://www.cybok.org/media/downloads/Network_Security.pdf)|
| HS | Hardware Security | [लिंक](https://www.cybok.org/media/downloads/Hardware_Security_issue_1.0.pdf)| [लिंक](https://www.cybok.org/media/downloads/Hardware_Security.pdf)|
| CPS | Cyber Physical Systems | [लिंक](https://www.cybok.org/media/downloads/Cyber-Physical_Systems_Security_issue_1.0.pdf)| [लिंक](https://www.cybok.org/media/downloads/Cyber_Physical_Systems_Security.pdf)|
| PLT | Physical Layer and Telecommunications Security | [लिंक](https://www.cybok.org/media/downloads/Physical_Layer__Telecommunications_Security_issue_1.0.pdf)| [लिंक](https://www.cybok.org/media/downloads/Physical_Layer__Telecomms_Security.pdf)|
## Hacktivity Cyber Security Labs
[होस्ट किए गए समाधान के लिए यहाँ जाएँ: https://hacktivity.leedsbeckett.ac.uk/](https://hacktivity.leedsbeckett.ac.uk/)
Hacktivity SecGen द्वारा संचालित है, और साइबर सुरक्षा शिक्षा के लिए पूरी तरह से होस्ट किया गया प्रयोगशाला वातावरण प्रदान करता है। CyBOK अंतर्दृष्टि के साथ अपनी प्रगति को ट्रैक करें।
## आभार
*विकास दल:*
- 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 -- SecGen के पहले प्रूफ-ऑफ-कॉन्सेप्ट रिलीज़ के लेखक
- Connor Wilson
परियोजना में योगदान देने वाले सभी लोगों का बहुत-बहुत धन्यवाद। उपरोक्त सूची पूर्ण या विस्तृत नहीं है, कृपया [GitHub इतिहास](https://github.com/cliffe/SecGen/graphs/contributors) देखें।
*अनुदान सहायता:*
- यह परियोजना साइबर सुरक्षा अनुदान (2015-2017) में Higher Education Academy (HEA) शिक्षण और शिक्षण द्वारा समर्थित है।
- यह परियोजना Leeds Beckett University Teaching Excellence Fund अनुदान (2018-2019) द्वारा समर्थित है।
- यह परियोजना CyBOK 1.0 अनुदान (2021) के आसपास Cyber Security Body of Knowledge (CyBOK) संसाधनों द्वारा समर्थित है।
- यह परियोजना CyBOK 1.1 अनुदान (2021-2022) के आसपास Cyber Security Body of Knowledge (CyBOK) संसाधनों द्वारा समर्थित है।
- यह परियोजना CyBOK 1.1 अनुदान (2022-2023) के आसपास Cyber Security Body of Knowledge (CyBOK) संसाधनों द्वारा समर्थित है।
- यह परियोजना CyberASAP (Cyber Security Academic Startup Accelerator Programme) Innovate UK अनुदान (2022-2023) द्वारा समर्थित है।
- यह परियोजना Leeds Beckett University Teaching Excellence Fund अनुदान (2023) द्वारा समर्थित है।
- यह परियोजना CyBOK 1.1 अनुदान (2023-2024) के आसपास Cyber Security Body of Knowledge (CyBOK) संसाधनों द्वारा समर्थित है।
- यह परियोजना CyBOK 1.1 अनुदान (2024-2025) के आसपास Cyber Security Body of Knowledge (CyBOK) संसाधनों द्वारा समर्थित है।
- यह परियोजना Security-Informed Safety अनुदान (2025-2026) के आसपास Cyber Security Body of Knowledge (CyBOK) संसाधनों द्वारा समर्थित है।
## योगदान देना
हम परियोजना में योगदान को प्रोत्साहित करते हैं।
संक्षेप में, कृपया http://github.com/cliffe/SecGen/ से फोर्क करें, एक ब्रांच बनाएं, अपने परिवर्तन करें और कमिट करें, फिर एक पुल अनुरोध बनाएं।
## संसाधन
पेपर: [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)
पेपर: [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) (यह पेपर Hackerbot और oVirt के साथ SecGen का उपयोग करने का वर्णन करता है।)
पेपर: [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) (यह पेपर SecGen का एक अच्छा अवलोकन प्रदान करता है।)
पेपर: [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) (यह पेपर पहले प्रोटोटाइप का वर्णन करता है।)
पॉडकास्ट साक्षात्कार: [Purple Squad Security Episode 011 – Security Scenario Generator with Dr. Z. Cliffe Schreuders](https://purplesquadsec.com/podcast/episode-011-security-scenario-generator-dr-z-cliffe-schreuders/)