diff --git a/Gemfile.lock b/Gemfile.lock index 690ce1ef7..264047eb1 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -168,7 +168,6 @@ GEM unf (0.1.4) unf_ext unf_ext (0.0.8.2) - vagrant (1.5.0) wordlist (0.1.1) spidr (~> 0.2) yard (0.9.26) @@ -187,6 +186,7 @@ DEPENDENCIES bcrypt braille! cinch + concurrent-ruby (= 1.1.9) credy digest-siphash duplicate @@ -219,7 +219,6 @@ DEPENDENCIES sha3 smbhash sshkey - vagrant wordlist yard zip-zip diff --git a/README-CyBOK-Scenarios-Indexed.md b/README-CyBOK-Scenarios-Indexed.md index 81a730d1a..c66baee96 100644 --- a/README-CyBOK-Scenarios-Indexed.md +++ b/README-CyBOK-Scenarios-Indexed.md @@ -2,7 +2,7 @@ The Cyber Security Body of Knowledge (CyBOK) is a body of knowledge that aims to encapsulate the various knowledge areas present within cyber security. Scenarios within SecGen now contain XML elements linking them to CyBOK knowledge areas and specific topics within those knowledge areas. Additionally, video lectures for scenarios are tagged with CyBOK associations. -This file is an autogenerated index and cross referencing of the 104 SecGen lab scenarios that have CyBOK metadata. +This file is an autogenerated index and cross referencing of the 106 SecGen practical lab scenarios that have CyBOK metadata. You can browse the list below in terms of the [CyBOK Knowledge Areas, and Topics](#scenarios-indexed-by-cybok-knowledge-area-ka). The [list of scenarios](#scenario-cybok-keywords) in the second half of this document includes keywords (also known as "indicative topics" in CyBOK terminology). @@ -12,10 +12,12 @@ You can browse the list below in terms of the [CyBOK Knowledge Areas, and Topics # Scenarios Indexed By CyBOK Knowledge Area (KA) +[Human Factors (HF)](#human-factors-hf)
+[Adversarial Behaviours (AB)](#adversarial-behaviours-ab)
+[Malware & Attack Technology (MAT)](#malware--attack-technology-mat)
+[Applied Cryptography (AC)](#applied-cryptography-ac)
[Network Security (NS)](#network-security-ns)
[Security Operations & Incident Management (SOIM)](#security-operations--incident-management-soim)
-[Malware & Attack Technology (MAT)](#malware--attack-technology-mat)
-[Adversarial Behaviours (AB)](#adversarial-behaviours-ab)
[Software Security (SS)](#software-security-ss)
[Authentication, Authorisation & Accountability (AAA)](#authentication,-authorisation--accountability-aaa)
[Operating Systems & Virtualisation (OSV)](#operating-systems--virtualisation-osv)
@@ -25,6 +27,53 @@ You can browse the list below in terms of the [CyBOK Knowledge Areas, and Topics [Cryptography (C)](#cryptography-c)
+## Human Factors (HF) + +### HF Scenarios + +[cyber_security_landscape/3_phishing.xml](#cyber_security_landscape3_phishingxml)
+### HF Scenarios by Topics +| Topic | Scenario | +| --- | --- | +Human Error | [cyber_security_landscape/3_phishing.xml](#cyber_security_landscape3_phishingxml)
+ +## Adversarial Behaviours (AB) + +### AB Scenarios + +[cyber_security_landscape/3_phishing.xml](#cyber_security_landscape3_phishingxml)
[introducing_attacks/4_dns_footprinting.xml](#introducing_attacks4_dns_footprintingxml)
[introducing_attacks/5_scanning.xml](#introducing_attacks5_scanningxml)
[introducing_attacks/6_exploitation.xml](#introducing_attacks6_exploitationxml)
[introducing_attacks/7_post-exploitation.xml](#introducing_attacks7_post-exploitationxml)
[labtainers/grfics.xml](#labtainersgrficsxml)
+### AB Scenarios by Topics +| Topic | Scenario | +| --- | --- | +Attacks | [cyber_security_landscape/3_phishing.xml](#cyber_security_landscape3_phishingxml)
+Models | [introducing_attacks/4_dns_footprinting.xml](#introducing_attacks4_dns_footprintingxml)
[introducing_attacks/5_scanning.xml](#introducing_attacks5_scanningxml)
[introducing_attacks/6_exploitation.xml](#introducing_attacks6_exploitationxml)
[introducing_attacks/7_post-exploitation.xml](#introducing_attacks7_post-exploitationxml)
[labtainers/grfics.xml](#labtainersgrficsxml)
+ +## Malware & Attack Technology (MAT) + +### MAT Scenarios + +[cyber_security_landscape/3_phishing.xml](#cyber_security_landscape3_phishingxml)
[introducing_attacks/2_malware_msf_payloads.xml](#introducing_attacks2_malware_msf_payloadsxml)
[introducing_attacks/3_vulnerabilities.xml](#introducing_attacks3_vulnerabilitiesxml)
[introducing_attacks/4_dns_footprinting.xml](#introducing_attacks4_dns_footprintingxml)
[introducing_attacks/5_scanning.xml](#introducing_attacks5_scanningxml)
[introducing_attacks/6_exploitation.xml](#introducing_attacks6_exploitationxml)
[introducing_attacks/7_post-exploitation.xml](#introducing_attacks7_post-exploitationxml)
[introducing_attacks/8_vulnerability_analysis.xml](#introducing_attacks8_vulnerability_analysisxml)
[labtainers/acl-hackerbot-flags.xml](#labtainersacl-hackerbot-flagsxml)
[labtainers/acl.xml](#labtainersaclxml)
[labtainers/bufoverflow.xml](#labtainersbufoverflowxml)
[labtainers/formatstring.xml](#labtainersformatstringxml)
[labtainers/gdblesson.xml](#labtainersgdblessonxml)
[labtainers/ida.xml](#labtainersidaxml)
[labtainers/metasploit.xml](#labtainersmetasploitxml)
[labtainers/retlibc.xml](#labtainersretlibcxml)
[labtainers/snort.xml](#labtainerssnortxml)
[response_and_investigation/4_ids.xml](#response_and_investigation4_idsxml)
[response_and_investigation/5_ids_rules.xml](#response_and_investigation5_ids_rulesxml)
[response_and_investigation/7_live_analysis.xml](#response_and_investigation7_live_analysisxml)
[response_and_investigation/8_dead_analysis.xml](#response_and_investigation8_dead_analysisxml)
[software_and_malware_analysis/10_anti_sre.xml](#software_and_malware_analysis10_anti_srexml)
[software_and_malware_analysis/1_dynamic_and_static_analysis.xml](#software_and_malware_analysis1_dynamic_and_static_analysisxml)
[software_and_malware_analysis/2_intro_to_c.xml](#software_and_malware_analysis2_intro_to_cxml)
[software_and_malware_analysis/3_c_and_asm.xml](#software_and_malware_analysis3_c_and_asmxml)
[software_and_malware_analysis/4_asm.xml](#software_and_malware_analysis4_asmxml)
[software_and_malware_analysis/5_ghidra.xml](#software_and_malware_analysis5_ghidraxml)
[software_and_malware_analysis/6_ghidra_analysis.xml](#software_and_malware_analysis6_ghidra_analysisxml)
[software_and_malware_analysis/6_ghidra_with_live_malware_samples.xml](#software_and_malware_analysis6_ghidra_with_live_malware_samplesxml)
[software_and_malware_analysis/7_dynamic.xml](#software_and_malware_analysis7_dynamicxml)
[software_and_malware_analysis/8_dynamic_continued.xml](#software_and_malware_analysis8_dynamic_continuedxml)
[software_and_malware_analysis/9_malware_behaviour.xml](#software_and_malware_analysis9_malware_behaviourxml)
[software_security_exploitation/4_exploit_development.xml](#software_security_exploitation4_exploit_developmentxml)
[software_security_exploitation/5_linux_stack_bof.xml](#software_security_exploitation5_linux_stack_bofxml)
[software_security_exploitation/6_linux_nx_bypass.xml](#software_security_exploitation6_linux_nx_bypassxml)
[software_security_exploitation/7_linux_aslr_bypass.xml](#software_security_exploitation7_linux_aslr_bypassxml)
[software_security_exploitation/8_linux_bof_format.xml](#software_security_exploitation8_linux_bof_formatxml)
+### MAT Scenarios by Topics +| Topic | Scenario | +| --- | --- | +Attacks and exploitation | [cyber_security_landscape/3_phishing.xml](#cyber_security_landscape3_phishingxml)
[introducing_attacks/2_malware_msf_payloads.xml](#introducing_attacks2_malware_msf_payloadsxml)
[introducing_attacks/3_vulnerabilities.xml](#introducing_attacks3_vulnerabilitiesxml)
[introducing_attacks/6_exploitation.xml](#introducing_attacks6_exploitationxml)
[introducing_attacks/7_post-exploitation.xml](#introducing_attacks7_post-exploitationxml)
[introducing_attacks/8_vulnerability_analysis.xml](#introducing_attacks8_vulnerability_analysisxml)
[labtainers/bufoverflow.xml](#labtainersbufoverflowxml)
[labtainers/formatstring.xml](#labtainersformatstringxml)
[labtainers/metasploit.xml](#labtainersmetasploitxml)
[labtainers/retlibc.xml](#labtainersretlibcxml)
[software_security_exploitation/4_exploit_development.xml](#software_security_exploitation4_exploit_developmentxml)
[software_security_exploitation/5_linux_stack_bof.xml](#software_security_exploitation5_linux_stack_bofxml)
[software_security_exploitation/6_linux_nx_bypass.xml](#software_security_exploitation6_linux_nx_bypassxml)
[software_security_exploitation/7_linux_aslr_bypass.xml](#software_security_exploitation7_linux_aslr_bypassxml)
[software_security_exploitation/8_linux_bof_format.xml](#software_security_exploitation8_linux_bof_formatxml)
+Malware Taxonomy | [introducing_attacks/2_malware_msf_payloads.xml](#introducing_attacks2_malware_msf_payloadsxml)
[software_and_malware_analysis/1_dynamic_and_static_analysis.xml](#software_and_malware_analysis1_dynamic_and_static_analysisxml)
[software_and_malware_analysis/9_malware_behaviour.xml](#software_and_malware_analysis9_malware_behaviourxml)
+Malware Analysis | [introducing_attacks/2_malware_msf_payloads.xml](#introducing_attacks2_malware_msf_payloadsxml)
[labtainers/gdblesson.xml](#labtainersgdblessonxml)
[labtainers/ida.xml](#labtainersidaxml)
[software_and_malware_analysis/10_anti_sre.xml](#software_and_malware_analysis10_anti_srexml)
[software_and_malware_analysis/1_dynamic_and_static_analysis.xml](#software_and_malware_analysis1_dynamic_and_static_analysisxml)
[software_and_malware_analysis/3_c_and_asm.xml](#software_and_malware_analysis3_c_and_asmxml)
[software_and_malware_analysis/4_asm.xml](#software_and_malware_analysis4_asmxml)
[software_and_malware_analysis/5_ghidra.xml](#software_and_malware_analysis5_ghidraxml)
[software_and_malware_analysis/6_ghidra_analysis.xml](#software_and_malware_analysis6_ghidra_analysisxml)
[software_and_malware_analysis/6_ghidra_with_live_malware_samples.xml](#software_and_malware_analysis6_ghidra_with_live_malware_samplesxml)
[software_and_malware_analysis/7_dynamic.xml](#software_and_malware_analysis7_dynamicxml)
[software_and_malware_analysis/8_dynamic_continued.xml](#software_and_malware_analysis8_dynamic_continuedxml)
[software_and_malware_analysis/9_malware_behaviour.xml](#software_and_malware_analysis9_malware_behaviourxml)
+Malicious Activities by Malware | [introducing_attacks/4_dns_footprinting.xml](#introducing_attacks4_dns_footprintingxml)
[introducing_attacks/5_scanning.xml](#introducing_attacks5_scanningxml)
[introducing_attacks/6_exploitation.xml](#introducing_attacks6_exploitationxml)
[introducing_attacks/7_post-exploitation.xml](#introducing_attacks7_post-exploitationxml)
[labtainers/metasploit.xml](#labtainersmetasploitxml)
+MALCODE/MALWARE | [labtainers/acl-hackerbot-flags.xml](#labtainersacl-hackerbot-flagsxml)
[labtainers/acl.xml](#labtainersaclxml)
+Malware Detection | [labtainers/snort.xml](#labtainerssnortxml)
[response_and_investigation/4_ids.xml](#response_and_investigation4_idsxml)
[response_and_investigation/5_ids_rules.xml](#response_and_investigation5_ids_rulesxml)
[response_and_investigation/7_live_analysis.xml](#response_and_investigation7_live_analysisxml)
[response_and_investigation/8_dead_analysis.xml](#response_and_investigation8_dead_analysisxml)
+Technical Underpinning | [software_and_malware_analysis/2_intro_to_c.xml](#software_and_malware_analysis2_intro_to_cxml)
[software_and_malware_analysis/3_c_and_asm.xml](#software_and_malware_analysis3_c_and_asmxml)
+ +## Applied Cryptography (AC) + +### AC Scenarios + +[cyber_security_landscape/4_encoding_encryption.xml](#cyber_security_landscape4_encoding_encryptionxml)
+### AC Scenarios by Topics +| Topic | Scenario | +| --- | --- | +Algorithms, Schemes and Protocols | [cyber_security_landscape/4_encoding_encryption.xml](#cyber_security_landscape4_encoding_encryptionxml)
+ ## Network Security (NS) ### NS Scenarios @@ -56,32 +105,6 @@ INCIDENT RESPONSE | [labtainers/backups.xml](#labtainersbackupsxml)
[labtain CM (CONFIGURATION MANAGEMENT) | [labtainers/denyhost.xml](#labtainersdenyhostxml)
[labtainers/nmap-ssh.xml](#labtainersnmap-sshxml)
Analyse: Analysis Methods | [labtainers/snort.xml](#labtainerssnortxml)
[response_and_investigation/4_ids.xml](#response_and_investigation4_idsxml)
[response_and_investigation/5_ids_rules.xml](#response_and_investigation5_ids_rulesxml)
[response_and_investigation/6_exfiltration_detection.xml](#response_and_investigation6_exfiltration_detectionxml)
-## Malware & Attack Technology (MAT) - -### MAT Scenarios - -[introducing_attacks/2_malware_msf_payloads.xml](#introducing_attacks2_malware_msf_payloadsxml)
[introducing_attacks/3_vulnerabilities.xml](#introducing_attacks3_vulnerabilitiesxml)
[introducing_attacks/4_dns_footprinting.xml](#introducing_attacks4_dns_footprintingxml)
[introducing_attacks/5_scanning.xml](#introducing_attacks5_scanningxml)
[introducing_attacks/6_exploitation.xml](#introducing_attacks6_exploitationxml)
[introducing_attacks/7_post-exploitation.xml](#introducing_attacks7_post-exploitationxml)
[introducing_attacks/8_vulnerability_analysis.xml](#introducing_attacks8_vulnerability_analysisxml)
[labtainers/acl-hackerbot-flags.xml](#labtainersacl-hackerbot-flagsxml)
[labtainers/acl.xml](#labtainersaclxml)
[labtainers/bufoverflow.xml](#labtainersbufoverflowxml)
[labtainers/formatstring.xml](#labtainersformatstringxml)
[labtainers/gdblesson.xml](#labtainersgdblessonxml)
[labtainers/ida.xml](#labtainersidaxml)
[labtainers/metasploit.xml](#labtainersmetasploitxml)
[labtainers/retlibc.xml](#labtainersretlibcxml)
[labtainers/snort.xml](#labtainerssnortxml)
[response_and_investigation/4_ids.xml](#response_and_investigation4_idsxml)
[response_and_investigation/5_ids_rules.xml](#response_and_investigation5_ids_rulesxml)
[response_and_investigation/7_live_analysis.xml](#response_and_investigation7_live_analysisxml)
[response_and_investigation/8_dead_analysis.xml](#response_and_investigation8_dead_analysisxml)
[software_and_malware_analysis/10_anti_sre.xml](#software_and_malware_analysis10_anti_srexml)
[software_and_malware_analysis/1_dynamic_and_static_analysis.xml](#software_and_malware_analysis1_dynamic_and_static_analysisxml)
[software_and_malware_analysis/2_intro_to_c.xml](#software_and_malware_analysis2_intro_to_cxml)
[software_and_malware_analysis/3_c_and_asm.xml](#software_and_malware_analysis3_c_and_asmxml)
[software_and_malware_analysis/4_asm.xml](#software_and_malware_analysis4_asmxml)
[software_and_malware_analysis/5_ghidra.xml](#software_and_malware_analysis5_ghidraxml)
[software_and_malware_analysis/6_ghidra_analysis.xml](#software_and_malware_analysis6_ghidra_analysisxml)
[software_and_malware_analysis/6_ghidra_with_live_malware_samples.xml](#software_and_malware_analysis6_ghidra_with_live_malware_samplesxml)
[software_and_malware_analysis/7_dynamic.xml](#software_and_malware_analysis7_dynamicxml)
[software_and_malware_analysis/8_dynamic_continued.xml](#software_and_malware_analysis8_dynamic_continuedxml)
[software_and_malware_analysis/9_malware_behaviour.xml](#software_and_malware_analysis9_malware_behaviourxml)
[software_security_exploitation/4_exploit_development.xml](#software_security_exploitation4_exploit_developmentxml)
[software_security_exploitation/5_linux_stack_bof.xml](#software_security_exploitation5_linux_stack_bofxml)
[software_security_exploitation/6_linux_nx_bypass.xml](#software_security_exploitation6_linux_nx_bypassxml)
[software_security_exploitation/7_linux_aslr_bypass.xml](#software_security_exploitation7_linux_aslr_bypassxml)
[software_security_exploitation/8_linux_bof_format.xml](#software_security_exploitation8_linux_bof_formatxml)
-### MAT Scenarios by Topics -| Topic | Scenario | -| --- | --- | -Malware Taxonomy | [introducing_attacks/2_malware_msf_payloads.xml](#introducing_attacks2_malware_msf_payloadsxml)
[software_and_malware_analysis/1_dynamic_and_static_analysis.xml](#software_and_malware_analysis1_dynamic_and_static_analysisxml)
[software_and_malware_analysis/9_malware_behaviour.xml](#software_and_malware_analysis9_malware_behaviourxml)
-Malware Analysis | [introducing_attacks/2_malware_msf_payloads.xml](#introducing_attacks2_malware_msf_payloadsxml)
[labtainers/gdblesson.xml](#labtainersgdblessonxml)
[labtainers/ida.xml](#labtainersidaxml)
[software_and_malware_analysis/10_anti_sre.xml](#software_and_malware_analysis10_anti_srexml)
[software_and_malware_analysis/1_dynamic_and_static_analysis.xml](#software_and_malware_analysis1_dynamic_and_static_analysisxml)
[software_and_malware_analysis/3_c_and_asm.xml](#software_and_malware_analysis3_c_and_asmxml)
[software_and_malware_analysis/4_asm.xml](#software_and_malware_analysis4_asmxml)
[software_and_malware_analysis/5_ghidra.xml](#software_and_malware_analysis5_ghidraxml)
[software_and_malware_analysis/6_ghidra_analysis.xml](#software_and_malware_analysis6_ghidra_analysisxml)
[software_and_malware_analysis/6_ghidra_with_live_malware_samples.xml](#software_and_malware_analysis6_ghidra_with_live_malware_samplesxml)
[software_and_malware_analysis/7_dynamic.xml](#software_and_malware_analysis7_dynamicxml)
[software_and_malware_analysis/8_dynamic_continued.xml](#software_and_malware_analysis8_dynamic_continuedxml)
[software_and_malware_analysis/9_malware_behaviour.xml](#software_and_malware_analysis9_malware_behaviourxml)
-Attacks and exploitation | [introducing_attacks/2_malware_msf_payloads.xml](#introducing_attacks2_malware_msf_payloadsxml)
[introducing_attacks/3_vulnerabilities.xml](#introducing_attacks3_vulnerabilitiesxml)
[introducing_attacks/6_exploitation.xml](#introducing_attacks6_exploitationxml)
[introducing_attacks/7_post-exploitation.xml](#introducing_attacks7_post-exploitationxml)
[introducing_attacks/8_vulnerability_analysis.xml](#introducing_attacks8_vulnerability_analysisxml)
[labtainers/bufoverflow.xml](#labtainersbufoverflowxml)
[labtainers/formatstring.xml](#labtainersformatstringxml)
[labtainers/metasploit.xml](#labtainersmetasploitxml)
[labtainers/retlibc.xml](#labtainersretlibcxml)
[software_security_exploitation/4_exploit_development.xml](#software_security_exploitation4_exploit_developmentxml)
[software_security_exploitation/5_linux_stack_bof.xml](#software_security_exploitation5_linux_stack_bofxml)
[software_security_exploitation/6_linux_nx_bypass.xml](#software_security_exploitation6_linux_nx_bypassxml)
[software_security_exploitation/7_linux_aslr_bypass.xml](#software_security_exploitation7_linux_aslr_bypassxml)
[software_security_exploitation/8_linux_bof_format.xml](#software_security_exploitation8_linux_bof_formatxml)
-Malicious Activities by Malware | [introducing_attacks/4_dns_footprinting.xml](#introducing_attacks4_dns_footprintingxml)
[introducing_attacks/5_scanning.xml](#introducing_attacks5_scanningxml)
[introducing_attacks/6_exploitation.xml](#introducing_attacks6_exploitationxml)
[introducing_attacks/7_post-exploitation.xml](#introducing_attacks7_post-exploitationxml)
[labtainers/metasploit.xml](#labtainersmetasploitxml)
-MALCODE/MALWARE | [labtainers/acl-hackerbot-flags.xml](#labtainersacl-hackerbot-flagsxml)
[labtainers/acl.xml](#labtainersaclxml)
-Malware Detection | [labtainers/snort.xml](#labtainerssnortxml)
[response_and_investigation/4_ids.xml](#response_and_investigation4_idsxml)
[response_and_investigation/5_ids_rules.xml](#response_and_investigation5_ids_rulesxml)
[response_and_investigation/7_live_analysis.xml](#response_and_investigation7_live_analysisxml)
[response_and_investigation/8_dead_analysis.xml](#response_and_investigation8_dead_analysisxml)
-Technical Underpinning | [software_and_malware_analysis/2_intro_to_c.xml](#software_and_malware_analysis2_intro_to_cxml)
[software_and_malware_analysis/3_c_and_asm.xml](#software_and_malware_analysis3_c_and_asmxml)
- -## Adversarial Behaviours (AB) - -### AB Scenarios - -[introducing_attacks/4_dns_footprinting.xml](#introducing_attacks4_dns_footprintingxml)
[introducing_attacks/5_scanning.xml](#introducing_attacks5_scanningxml)
[introducing_attacks/6_exploitation.xml](#introducing_attacks6_exploitationxml)
[introducing_attacks/7_post-exploitation.xml](#introducing_attacks7_post-exploitationxml)
[labtainers/grfics.xml](#labtainersgrficsxml)
-### AB Scenarios by Topics -| Topic | Scenario | -| --- | --- | -Models | [introducing_attacks/4_dns_footprinting.xml](#introducing_attacks4_dns_footprintingxml)
[introducing_attacks/5_scanning.xml](#introducing_attacks5_scanningxml)
[introducing_attacks/6_exploitation.xml](#introducing_attacks6_exploitationxml)
[introducing_attacks/7_post-exploitation.xml](#introducing_attacks7_post-exploitationxml)
[labtainers/grfics.xml](#labtainersgrficsxml)
- ## Software Security (SS) ### SS Scenarios @@ -172,6 +195,66 @@ Symmetric Cryptography | [labtainers/symkeylab.xml](#labtainerssymkeylabxml)
Introduction
Humans play a crucial role in the cyber security of systems and information. Many attacks target users and their mental models of cyber security systems and risk. For example, if an attacker can trick a user into performing tasks for them, the attacker can achieve their goals and gain access that they are not authorised to.
| +|Lab sheet | https://docs.google.com/document/d/1Yb28GYRLD0Ihnb5oeFp-TGurhb8BZfm_qFbSSrGEknI/edit?usp=sharing | +|Type | ctf-lab; lab-sheet | +|Author | Z. Cliffe Schreuders | +|Linked videos| | +|VM names| victim_server; kali | + + + + ### CyBOK KAs, Topics, and Keywords +| KA | Topic | Keywords +| --- | --- | --- | +| Human Factors (HF) | Human Error | latent usability failures in systems-of-systems | +| Adversarial Behaviours (AB) | Attacks | SOCIAL ENGINEERING; MALICIOUS ACTIVITIES BY MALICIOUS ATTACHMENTS | +| Malware & Attack Technology (MAT) | Attacks and exploitation | EXPLOITATION FRAMEWORKS; MALCODE/MALWARE - SOCIAL ENGINEERING - BAITING; MALCODE/MALWARE - SOCIAL ENGINEERING - PRETEXTING; MALCODE/MALWARE - VIRUSES - COUNTERMEASUMALCODE/MALWARE - VIRUSES - MACRO VIRUSES; MALCODE/MALWARE - SPAM . . . . .MALCODE/MALWARE - SPOOFING | + + +Command to build VMs and start scenario: + +```ruby secgen.rb -s scenarios/labs/cyber_security_landscape/3_phishing.xml run``` + +[View source](scenarios/labs/cyber_security_landscape/3_phishing.xml) + + + ## cyber_security_landscape/4_encoding_encryption.xml + + ### Details + +| Key | Data | +| --- | --- | +|Name | Encoding and Encryption Lab | +|Description | Decode the files in your home directory. | +|Lab sheet | | +|Type | ctf-lab; hackerbot-lab; lab-sheet | +|Author | Z. Cliffe Schreuders | +|Linked videos| | +|VM names| desktop | + + + + ### CyBOK KAs, Topics, and Keywords +| KA | Topic | Keywords +| --- | --- | --- | +| Applied Cryptography (AC) | Algorithms, Schemes and Protocols | Encoding vs Cryptography; Caesar cipher; Vigenere cipher; SYMMETRIC CRYPTOGRAPHY - AES (ADVANCED ENCRYPTION STANDARD) | + + +Command to build VMs and start scenario: + +```ruby secgen.rb -s scenarios/labs/cyber_security_landscape/4_encoding_encryption.xml run``` + +[View source](scenarios/labs/cyber_security_landscape/4_encoding_encryption.xml) + + ## introducing_attacks/1_intro_linux.xml ### Details @@ -179,10 +262,11 @@ Symmetric Cryptography | [labtainers/symkeylab.xml](#labtainerssymkeylabxml)
Introduction
This topic covers lots of ground regarding fundamentals of Linux and free open source software (FOSS).

Lecture
[Slides here](http://z.cliffe.schreuders.org/presentations/slides/DSL_DS_OSPT_Lectures_1_Intro_to_Unix_FOSS_and_Linux.html)

Reading
[Chapters 1 "Introduction" and 2 "Unix History and Lineage": Garfinkel, S. and Spafford, G. and Schwartz, A. (2003), Practical Unix and Internet Security, O'Reilly. (ISBN-10: 0596003234)](http://www.dawsonera.com.ezproxy.leedsbeckett.ac.uk/depp/reader/protected/external/AbstractView/S9781449310325)

Suggested:

Chapter 1 "An Overview of Computer Security": Bishop, M. (2005), Introduction to Computer Security, Addison-Wesley. (ISBN-10: 0321247442)

Lab
[Lab sheet here](https://docs.google.com/document/d/1vA_Ev_GPqPg3cGZblgVclWmTU-sUEEBqwYpFH09mQjg/edit?usp=sharing).
| +|Description |
Introduction
This topic covers lots of ground regarding fundamentals of Linux and free open source software (FOSS).

Lecture
[Slides here](http://z.cliffe.schreuders.org/presentations/slides/DSL_DS_OSPT_Lectures_1_Intro_to_Unix_FOSS_and_Linux.html)

Reading
[Chapters 1 "Introduction" and 2 "Unix History and Lineage": Garfinkel, S. and Spafford, G. and Schwartz, A. (2003), Practical Unix and Internet Security, O'Reilly. (ISBN-10: 0596003234)](http://www.dawsonera.com.ezproxy.leedsbeckett.ac.uk/depp/reader/protected/external/AbstractView/S9781449310325)

Suggested:

Chapter 1 "An Overview of Computer Security": Bishop, M. (2005), Introduction to Computer Security, Addison-Wesley. (ISBN-10: 0321247442)
| +|Lab sheet | https://docs.google.com/document/d/1vA_Ev_GPqPg3cGZblgVclWmTU-sUEEBqwYpFH09mQjg/edit?usp=sharing | |Type | ctf-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| | +|Linked videos| | |VM names| desktop; kali | @@ -208,10 +292,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Malware and an Introduction to Metasploit and Payloads | -|Description |
Introduction
This week we will cover the ever present danger of malicious code, the problems with the traditional approaches such as anti-malware, and you will try your hand at using the Metasploit Framework to create a Trojan horse program.

Lecture
[Slides here](http://z.cliffe.schreuders.org/presentations/slides/DSL_DS_OSPT_Lectures_2_Malware.html)

Reading
[Chapter 23 "Protecting Against Programmed Threats": Garfinkel, S. and Spafford, G. and Schwartz, A. (2003), Practical Unix and Internet Security, O'Reilly. (ISBN-10: 0596003234) Available online via the library](http://www.dawsonera.com.ezproxy.leedsbeckett.ac.uk/depp/reader/protected/external/AbstractView/S9781449310325)

Suggested:

Chapter 3 "Program Security": Pfleeger, C.P. and Pfleeger, S.L. (2007), Security in Computing, Prentice Hall. (ISBN-10: 0132390779)

Chapter 19 "Malicious Logic": Bishop, M. (2005), Introduction to Computer Security, Addison-Wesley. (ISBN-10: 0321247442)
Lab
[Lab sheet here](https://docs.google.com/document/d/1QsOLdqwBP6njIoKbeQRdattbLBLPFCB-eKHW0OxdE8U/edit?usp=sharing).
| +|Description |
Introduction
This week we will cover the ever present danger of malicious code, the problems with the traditional approaches such as anti-malware, and you will try your hand at using the Metasploit Framework to create a Trojan horse program.

Lecture
[Slides here](http://z.cliffe.schreuders.org/presentations/slides/DSL_DS_OSPT_Lectures_2_Malware.html)

Reading
[Chapter 23 "Protecting Against Programmed Threats": Garfinkel, S. and Spafford, G. and Schwartz, A. (2003), Practical Unix and Internet Security, O'Reilly. (ISBN-10: 0596003234) Available online via the library](http://www.dawsonera.com.ezproxy.leedsbeckett.ac.uk/depp/reader/protected/external/AbstractView/S9781449310325)

Suggested:

Chapter 3 "Program Security": Pfleeger, C.P. and Pfleeger, S.L. (2007), Security in Computing, Prentice Hall. (ISBN-10: 0132390779)

Chapter 19 "Malicious Logic": Bishop, M. (2005), Introduction to Computer Security, Addison-Wesley. (ISBN-10: 0321247442)
| +|Lab sheet | https://docs.google.com/document/d/1QsOLdqwBP6njIoKbeQRdattbLBLPFCB-eKHW0OxdE8U/edit?usp=sharing | |Type | lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| | +|Linked videos| | |VM names| windows_victim; kali | @@ -239,10 +324,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Vulnerabilities, Exploits, and Remote Access Payloads | -|Description |
Introduction
This week we will cover one of the major threats in computer security: software vulnerabilities. You will learn about the danger these pose, and start to learn about the power of the Metasploit framework, a popular hacking and penetration testing tool. You will learn and apply a number of important concepts such as payloads, shell code, bind and reverse shells, and both remote and local (client-side) exploits.

Lecture
[Slides here](http://z.cliffe.schreuders.org/presentations/slides/DSL_DS_OSPT_Lectures_3_Vulnerabilities.html)

Reading
[Chapter 8: Using Metasploit. Harper, A. and Harris, S. and Ness, J. and Eagle, C. and Lenkey, G, and Williams, T. (2011), Gray hat hacking : the ethical hacker's handbook, McGraw-Hill. (ISBN: 978-0-07-174256-6) Available online via the library](https://www-dawsonera-com.ezproxy.leedsbeckett.ac.uk/readonline/9780071742566)

Lab
[Lab sheet here](https://docs.google.com/document/d/11I8xMUXrT5ArJIsAhwGDtQ4RkH4l9CR4C2wh9_wz8xM/edit?usp=sharing).
| +|Description |
Introduction
This week we will cover one of the major threats in computer security: software vulnerabilities. You will learn about the danger these pose, and start to learn about the power of the Metasploit framework, a popular hacking and penetration testing tool. You will learn and apply a number of important concepts such as payloads, shell code, bind and reverse shells, and both remote and local (client-side) exploits.

Lecture
[Slides here](http://z.cliffe.schreuders.org/presentations/slides/DSL_DS_OSPT_Lectures_3_Vulnerabilities.html)

Reading
[Chapter 8: Using Metasploit. Harper, A. and Harris, S. and Ness, J. and Eagle, C. and Lenkey, G, and Williams, T. (2011), Gray hat hacking : the ethical hacker's handbook, McGraw-Hill. (ISBN: 978-0-07-174256-6) Available online via the library](https://www-dawsonera-com.ezproxy.leedsbeckett.ac.uk/readonline/9780071742566)
| +|Lab sheet | https://docs.google.com/document/d/11I8xMUXrT5ArJIsAhwGDtQ4RkH4l9CR4C2wh9_wz8xM/edit?usp=sharing | |Type | ctf-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| | +|Linked videos| | |VM names| windows_victim; linux_victim_server; kali | @@ -268,10 +354,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Information Gathering: Footprinting | -|Description |
Introduction
The topic of information gathering spans two weeks, and covers practical steps that an attacker needs to take in order to attack a system, starting with footprinting (discovering systems to attack) and scanning (learning more about the systems such as what kinds of attacks they are vulnerable to).

Lecture
[Slides here](http://z.cliffe.schreuders.org/presentations/slides/DSL_DS_OSPT_Lectures_4_Information_gathering.html)

Reading
[Part I Casing the establishment. McClure, S. and Scambray, J. and Kurtz, G. (2009), Hacking exposed, McGraw-Hill. (ISBN: 978-0-07-161375-0) Available online via the library](https://www-dawsonera-com.ezproxy.leedsbeckett.ac.uk/readonline/9780071613750)

Lab
[Lab sheet here](https://docs.google.com/document/d/1Whs4c_mN7fFjtrYgg_uzmCGBH_EYjr7fTAgoM-OZTqQ/edit?usp=sharing).
| +|Description |
Introduction
The topic of information gathering spans two weeks, and covers practical steps that an attacker needs to take in order to attack a system, starting with footprinting (discovering systems to attack) and scanning (learning more about the systems such as what kinds of attacks they are vulnerable to).

Lecture
[Slides here](http://z.cliffe.schreuders.org/presentations/slides/DSL_DS_OSPT_Lectures_4_Information_gathering.html)

Reading
[Part I Casing the establishment. McClure, S. and Scambray, J. and Kurtz, G. (2009), Hacking exposed, McGraw-Hill. (ISBN: 978-0-07-161375-0) Available online via the library](https://www-dawsonera-com.ezproxy.leedsbeckett.ac.uk/readonline/9780071613750)
| +|Lab sheet | https://docs.google.com/document/d/1Whs4c_mN7fFjtrYgg_uzmCGBH_EYjr7fTAgoM-OZTqQ/edit?usp=sharing | |Type | lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| | +|Linked videos| | |VM names| kali | @@ -299,10 +386,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Information Gathering: Scanning | -|Description |
Introduction
This week we learn how to scan networks to get an understanding of and to map out a network. Scanning is a critical stage for an attacker, since it can give them the information they need in order to launch an attack.

Reading
[Chapter 2 Reconnaissance and Chapter 3 Scanning. Engebretson, P. (2011), The Basics of Hacking and Penetration Testing: Ethical Hacking and Penetration Testing Made Easy, Elsevier Inc. (ISBN: 978-1-59749-655-1) Available online via the library](http://www.sciencedirect.com/science/book/9781597496551)

Lab
[Lab sheet here](https://docs.google.com/document/d/1KScKw7M4Bt_FE5F_2tI6tnK1NrKNAJkyh5F2TpOh9hA/edit?usp=sharing).
| +|Description |
Introduction
This week we learn how to scan networks to get an understanding of and to map out a network. Scanning is a critical stage for an attacker, since it can give them the information they need in order to launch an attack.

Reading
[Chapter 2 Reconnaissance and Chapter 3 Scanning. Engebretson, P. (2011), The Basics of Hacking and Penetration Testing: Ethical Hacking and Penetration Testing Made Easy, Elsevier Inc. (ISBN: 978-1-59749-655-1) Available online via the library](http://www.sciencedirect.com/science/book/9781597496551)
| +|Lab sheet | https://docs.google.com/document/d/1KScKw7M4Bt_FE5F_2tI6tnK1NrKNAJkyh5F2TpOh9hA/edit?usp=sharing | |Type | ctf-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| | +|Linked videos| | |VM names| linux_victim_server; kali | @@ -330,10 +418,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | From Scanning to Exploitation | -|Description |
Introduction
This week we learn how we can scan networks to discover vulnerable services, and exploit them.

Reading
[Chapter 2 Reconnaissance and Chapter 3 Scanning. Engebretson, P. (2011), The Basics of Hacking and Penetration Testing: Ethical Hacking and Penetration Testing Made Easy, Elsevier Inc. (ISBN: 978-1-59749-655-1) Available online via the library](http://www.sciencedirect.com/science/book/9781597496551)

Lab
[Lab sheet here](https://docs.google.com/document/d/1puLuKwqiFMTAZhMKKLhS_aK7kKwWnKw1e3StJBiFmFA/edit?usp=sharing).
| +|Description |
Introduction
This week we learn how we can scan networks to discover vulnerable services, and exploit them.

Reading
[Chapter 2 Reconnaissance and Chapter 3 Scanning. Engebretson, P. (2011), The Basics of Hacking and Penetration Testing: Ethical Hacking and Penetration Testing Made Easy, Elsevier Inc. (ISBN: 978-1-59749-655-1) Available online via the library](http://www.sciencedirect.com/science/book/9781597496551)
| +|Lab sheet | https://docs.google.com/document/d/1puLuKwqiFMTAZhMKKLhS_aK7kKwWnKw1e3StJBiFmFA/edit?usp=sharing | |Type | ctf-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| | +|Linked videos| | |VM names| windows_server; linux_server; kali | @@ -362,10 +451,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Post-exploitation | -|Description |
Introduction
Once an attacker has a foothold in a system, they can misuse the privileges they have “appropriated” to take actions on the system, or go on to try to gain even more access on this or other connected systems. You will learn the skills used by an attacker or security tester, to take action once an exploit has been successful.

Suggested reading
[An excellent resource is Metasploit Unleashed.](http://www.offensive-security.com/metasploit-unleashed/Exploits)

Lab
[Lab sheet here](https://docs.google.com/document/d/1bt0yKzKjExEih5cmXyl-D__loGwV0UJxQJEDIXxCGxw/edit?usp=sharing).
| +|Description |
Introduction
Once an attacker has a foothold in a system, they can misuse the privileges they have “appropriated” to take actions on the system, or go on to try to gain even more access on this or other connected systems. You will learn the skills used by an attacker or security tester, to take action once an exploit has been successful.

Suggested reading
[An excellent resource is Metasploit Unleashed.](http://www.offensive-security.com/metasploit-unleashed/Exploits)
| +|Lab sheet | https://docs.google.com/document/d/1bt0yKzKjExEih5cmXyl-D__loGwV0UJxQJEDIXxCGxw/edit?usp=sharing | |Type | ctf-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| | +|Linked videos| | |VM names| windows_server; linux_server; kali | @@ -393,10 +483,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Vulnerability Analysis | -|Description |
Introduction
It is important for organisations to manage the security of their systems and for security professionals to efficiently scan networks for vulnerabilities.

Lab
[Lab sheet here](https://docs.google.com/document/d/1rdNcOmYOjsRu97Gh3ds8HbTpORGxbMcd2Q7U4TATIbw/edit?usp=sharing).
| +|Description |
Introduction
It is important for organisations to manage the security of their systems and for security professionals to efficiently scan networks for vulnerabilities.
| +|Lab sheet | https://docs.google.com/document/d/1rdNcOmYOjsRu97Gh3ds8HbTpORGxbMcd2Q7U4TATIbw/edit?usp=sharing | |Type | ctf-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| | +|Linked videos| | |VM names| linux_server; kali | @@ -422,10 +513,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Labtainers lab: acl | -|Description | A Labtainers lab.| +|Description | A Labtainers lab. | +|Lab sheet | | |Type | ctf-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| | +|Linked videos| | |VM names| desktop; hackerbot_server | @@ -454,10 +546,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Labtainers lab: acl | -|Description | A Labtainers lab.| +|Description | A Labtainers lab. | +|Lab sheet | | |Type | ctf-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| | +|Linked videos| | |VM names| desktop | @@ -486,10 +579,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Labtainers lab: arp-spoof | -|Description | A Labtainers lab.| +|Description | A Labtainers lab. | +|Lab sheet | | |Type | ctf-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| | +|Linked videos| | |VM names| desktop | @@ -515,10 +609,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Labtainers lab: backups | -|Description | A Labtainers lab.| +|Description | A Labtainers lab. | +|Lab sheet | | |Type | ctf-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| | +|Linked videos| | |VM names| desktop | @@ -544,10 +639,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Labtainers lab: backups2 | -|Description | A Labtainers lab.| +|Description | A Labtainers lab. | +|Lab sheet | | |Type | ctf-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| | +|Linked videos| | |VM names| desktop | @@ -573,10 +669,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Labtainers lab: bufoverflow | -|Description | A Labtainers lab.| +|Description | A Labtainers lab. | +|Lab sheet | | |Type | ctf-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| | +|Linked videos| | |VM names| desktop | @@ -603,10 +700,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Labtainers lab: capabilities | -|Description | A Labtainers lab.| +|Description | A Labtainers lab. | +|Lab sheet | | |Type | ctf-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| | +|Linked videos| | |VM names| desktop | @@ -632,10 +730,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Labtainers lab: centos-log | -|Description | A Labtainers lab.| +|Description | A Labtainers lab. | +|Lab sheet | | |Type | ctf-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| | +|Linked videos| | |VM names| desktop | @@ -660,10 +759,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Labtainers lab: centos-log2 | -|Description | A Labtainers lab.| +|Description | A Labtainers lab. | +|Lab sheet | | |Type | ctf-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| | +|Linked videos| | |VM names| desktop | @@ -688,10 +788,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Labtainers lab: denyhost | -|Description | A Labtainers lab.| +|Description | A Labtainers lab. | +|Lab sheet | | |Type | ctf-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| | +|Linked videos| | |VM names| desktop | @@ -718,10 +819,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Labtainers lab: dmz-example | -|Description | A Labtainers lab.| +|Description | A Labtainers lab. | +|Lab sheet | | |Type | ctf-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| | +|Linked videos| | |VM names| desktop | @@ -746,10 +848,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Labtainers lab: dmz-lab | -|Description | A Labtainers lab.| +|Description | A Labtainers lab. | +|Lab sheet | | |Type | ctf-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| | +|Linked videos| | |VM names| desktop | @@ -774,10 +877,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Labtainers lab: file-deletion | -|Description | A Labtainers lab.| +|Description | A Labtainers lab. | +|Lab sheet | | |Type | ctf-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| | +|Linked videos| | |VM names| desktop | @@ -802,10 +906,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Labtainers lab: file-integrity | -|Description | A Labtainers lab.| +|Description | A Labtainers lab. | +|Lab sheet | | |Type | ctf-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| | +|Linked videos| | |VM names| desktop | @@ -832,10 +937,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Labtainers lab: formatstring | -|Description | A Labtainers lab.| +|Description | A Labtainers lab. | +|Lab sheet | | |Type | ctf-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| | +|Linked videos| | |VM names| desktop | @@ -861,10 +967,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Labtainers lab: gdblesson | -|Description | A Labtainers lab.| +|Description | A Labtainers lab. | +|Lab sheet | | |Type | ctf-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| | +|Linked videos| | |VM names| desktop | @@ -889,10 +996,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Labtainers lab: grassmarlin | -|Description | A Labtainers lab.| +|Description | A Labtainers lab. | +|Lab sheet | | |Type | ctf-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| | +|Linked videos| | |VM names| desktop | @@ -919,10 +1027,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Labtainers lab: grfics | -|Description | A Labtainers lab.| +|Description | A Labtainers lab. | +|Lab sheet | | |Type | ctf-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| | +|Linked videos| | |VM names| desktop | @@ -950,10 +1059,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Labtainers lab: ida | -|Description | A Labtainers lab.| +|Description | A Labtainers lab. | +|Lab sheet | | |Type | ctf-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| | +|Linked videos| | |VM names| desktop | @@ -978,10 +1088,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Labtainers lab: iptables-ics | -|Description | A Labtainers lab.| +|Description | A Labtainers lab. | +|Lab sheet | | |Type | ctf-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| | +|Linked videos| | |VM names| desktop | @@ -1010,10 +1121,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Labtainers lab: iptables | -|Description | A Labtainers lab.| +|Description | A Labtainers lab. | +|Lab sheet | | |Type | ctf-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| | +|Linked videos| | |VM names| desktop | @@ -1040,10 +1152,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Labtainers lab: iptables2 | -|Description | A Labtainers lab.| +|Description | A Labtainers lab. | +|Lab sheet | | |Type | ctf-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| | +|Linked videos| | |VM names| desktop | @@ -1070,10 +1183,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Labtainers lab: ldap | -|Description | A Labtainers lab.| +|Description | A Labtainers lab. | +|Lab sheet | | |Type | ctf-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| | +|Linked videos| | |VM names| desktop | @@ -1100,10 +1214,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Labtainers lab: local-dns | -|Description | A Labtainers lab.| +|Description | A Labtainers lab. | +|Lab sheet | | |Type | ctf-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| | +|Linked videos| | |VM names| desktop | @@ -1128,10 +1243,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Labtainers lab: macs-hash | -|Description | A Labtainers lab.| +|Description | A Labtainers lab. | +|Lab sheet | | |Type | ctf-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| | +|Linked videos| | |VM names| desktop | @@ -1158,10 +1274,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Labtainers lab: metasploit | -|Description | A Labtainers lab.| +|Description | A Labtainers lab. | +|Lab sheet | | |Type | ctf-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| | +|Linked videos| | |VM names| desktop | @@ -1188,10 +1305,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Labtainers lab: nix-commands | -|Description | A Labtainers lab.| +|Description | A Labtainers lab. | +|Lab sheet | | |Type | ctf-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| | +|Linked videos| | |VM names| desktop | @@ -1217,10 +1335,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Labtainers lab: nmap-discovery | -|Description | A Labtainers lab.| +|Description | A Labtainers lab. | +|Lab sheet | | |Type | ctf-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| | +|Linked videos| | |VM names| desktop | @@ -1245,10 +1364,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Labtainers lab: nmap-ssh | -|Description | A Labtainers lab.| +|Description | A Labtainers lab. | +|Lab sheet | | |Type | ctf-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| | +|Linked videos| | |VM names| desktop | @@ -1274,10 +1394,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Labtainers lab: onewayhash | -|Description | A Labtainers lab.| +|Description | A Labtainers lab. | +|Lab sheet | | |Type | ctf-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| | +|Linked videos| | |VM names| desktop | @@ -1304,10 +1425,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Labtainers lab: packet-introspection | -|Description | A Labtainers lab.| +|Description | A Labtainers lab. | +|Lab sheet | | |Type | ctf-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| | +|Linked videos| | |VM names| desktop | @@ -1333,10 +1455,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Labtainers lab: pass-crack | -|Description | A Labtainers lab.| +|Description | A Labtainers lab. | +|Lab sheet | | |Type | ctf-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| | +|Linked videos| | |VM names| desktop | @@ -1362,10 +1485,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Labtainers lab: pcapanalysis | -|Description | A Labtainers lab.| +|Description | A Labtainers lab. | +|Lab sheet | | |Type | ctf-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| | +|Linked videos| | |VM names| desktop | @@ -1392,10 +1516,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Labtainers lab: plc-app | -|Description | A Labtainers lab.| +|Description | A Labtainers lab. | +|Lab sheet | | |Type | ctf-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| | +|Linked videos| | |VM names| desktop | @@ -1421,10 +1546,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Labtainers lab: plc-forensics-adv | -|Description | A Labtainers lab.| +|Description | A Labtainers lab. | +|Lab sheet | | |Type | ctf-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| | +|Linked videos| | |VM names| desktop | @@ -1450,10 +1576,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Labtainers lab: plc-forensics | -|Description | A Labtainers lab.| +|Description | A Labtainers lab. | +|Lab sheet | | |Type | ctf-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| | +|Linked videos| | |VM names| desktop | @@ -1479,10 +1606,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Labtainers lab: plc | -|Description | A Labtainers lab.| +|Description | A Labtainers lab. | +|Lab sheet | | |Type | ctf-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| | +|Linked videos| | |VM names| desktop | @@ -1508,10 +1636,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Labtainers lab: pubkey | -|Description | A Labtainers lab.| +|Description | A Labtainers lab. | +|Lab sheet | | |Type | ctf-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| | +|Linked videos| | |VM names| desktop | @@ -1537,10 +1666,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Labtainers lab: radius | -|Description | A Labtainers lab.| +|Description | A Labtainers lab. | +|Lab sheet | | |Type | ctf-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| | +|Linked videos| | |VM names| desktop | @@ -1566,10 +1696,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Labtainers lab: remote-dns | -|Description | A Labtainers lab.| +|Description | A Labtainers lab. | +|Lab sheet | | |Type | ctf-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| | +|Linked videos| | |VM names| desktop | @@ -1594,10 +1725,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Labtainers lab: retlibc | -|Description | A Labtainers lab.| +|Description | A Labtainers lab. | +|Lab sheet | | |Type | ctf-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| | +|Linked videos| | |VM names| desktop | @@ -1624,10 +1756,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Labtainers lab: routing-basics | -|Description | A Labtainers lab.| +|Description | A Labtainers lab. | +|Lab sheet | | |Type | ctf-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| | +|Linked videos| | |VM names| desktop | @@ -1652,10 +1785,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Labtainers lab: routing-basics2 | -|Description | A Labtainers lab.| +|Description | A Labtainers lab. | +|Lab sheet | | |Type | ctf-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| | +|Linked videos| | |VM names| desktop | @@ -1680,10 +1814,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Labtainers lab: setuid-env | -|Description | A Labtainers lab.| +|Description | A Labtainers lab. | +|Lab sheet | | |Type | ctf-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| | +|Linked videos| | |VM names| desktop | @@ -1709,10 +1844,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Labtainers lab: snort | -|Description | A Labtainers lab.| +|Description | A Labtainers lab. | +|Lab sheet | | |Type | ctf-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| | +|Linked videos| | |VM names| desktop | @@ -1741,10 +1877,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Labtainers lab: softplc | -|Description | A Labtainers lab.| +|Description | A Labtainers lab. | +|Lab sheet | | |Type | ctf-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| | +|Linked videos| | |VM names| desktop | @@ -1770,10 +1907,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Labtainers lab: softplc2 | -|Description | A Labtainers lab.| +|Description | A Labtainers lab. | +|Lab sheet | | |Type | ctf-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| | +|Linked videos| | |VM names| desktop | @@ -1799,10 +1937,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Labtainers lab: sql-inject | -|Description | A Labtainers lab.| +|Description | A Labtainers lab. | +|Lab sheet | | |Type | ctf-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| | +|Linked videos| | |VM names| desktop | @@ -1829,10 +1968,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Labtainers lab: ssh-agent | -|Description | A Labtainers lab.| +|Description | A Labtainers lab. | +|Lab sheet | | |Type | ctf-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| | +|Linked videos| | |VM names| desktop | @@ -1857,10 +1997,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Labtainers lab: sshlab | -|Description | A Labtainers lab.| +|Description | A Labtainers lab. | +|Lab sheet | | |Type | ctf-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| | +|Linked videos| | |VM names| desktop | @@ -1885,10 +2026,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Labtainers lab: ssl | -|Description | A Labtainers lab.| +|Description | A Labtainers lab. | +|Lab sheet | | |Type | ctf-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| | +|Linked videos| | |VM names| desktop | @@ -1915,10 +2057,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Labtainers lab: symkeylab | -|Description | A Labtainers lab.| +|Description | A Labtainers lab. | +|Lab sheet | | |Type | ctf-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| | +|Linked videos| | |VM names| desktop | @@ -1944,10 +2087,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Labtainers lab: sys-log | -|Description | A Labtainers lab.| +|Description | A Labtainers lab. | +|Lab sheet | | |Type | ctf-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| | +|Linked videos| | |VM names| desktop | @@ -1972,10 +2116,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Labtainers lab: tcpip | -|Description | A Labtainers lab.| +|Description | A Labtainers lab. | +|Lab sheet | | |Type | ctf-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| | +|Linked videos| | |VM names| desktop | @@ -2001,10 +2146,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Labtainers lab: telnetlab | -|Description | A Labtainers lab.| +|Description | A Labtainers lab. | +|Lab sheet | | |Type | ctf-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| | +|Linked videos| | |VM names| desktop | @@ -2030,10 +2176,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Labtainers lab: vpnlab | -|Description | A Labtainers lab.| +|Description | A Labtainers lab. | +|Lab sheet | | |Type | ctf-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| | +|Linked videos| | |VM names| desktop | @@ -2058,10 +2205,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Labtainers lab: vpnlab2 | -|Description | A Labtainers lab.| +|Description | A Labtainers lab. | +|Lab sheet | | |Type | ctf-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| | +|Linked videos| | |VM names| desktop | @@ -2086,10 +2234,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Labtainers lab: webtrack | -|Description | A Labtainers lab.| +|Description | A Labtainers lab. | +|Lab sheet | | |Type | ctf-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| | +|Linked videos| | |VM names| desktop | @@ -2115,10 +2264,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Labtainers lab: wireshark-intro | -|Description | A Labtainers lab.| +|Description | A Labtainers lab. | +|Lab sheet | | |Type | ctf-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| | +|Linked videos| | |VM names| desktop | @@ -2143,10 +2293,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Labtainers lab: xforge | -|Description | A Labtainers lab.| +|Description | A Labtainers lab. | +|Lab sheet | | |Type | ctf-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| | +|Linked videos| | |VM names| desktop | @@ -2172,10 +2323,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Labtainers lab: xsite | -|Description | A Labtainers lab.| +|Description | A Labtainers lab. | +|Lab sheet | | |Type | ctf-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| | +|Linked videos| | |VM names| desktop | @@ -2201,10 +2353,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Integrity protection lab | -|Description | A Hackerbot lab. Work through the labsheet, then when prompted interact with Hackerbot. Topics covered: Protecting integrity with file attributes; Protecting integrity with read-only filesystems.| +|Description | A Hackerbot lab. Work through the labsheet, then when prompted interact with Hackerbot. Topics covered: Protecting integrity with file attributes; Protecting integrity with read-only filesystems. | +|Lab sheet | | |Type | ctf-lab; hackerbot-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| https://www.youtube.com/watch?v=sv1pHuuoW9g; https://www.youtube.com/watch?v=grISRv-CuHE| +|Linked videos| https://www.youtube.com/watch?v=sv1pHuuoW9g; https://www.youtube.com/watch?v=grISRv-CuHE | |VM names| desktop; hackerbot_server | @@ -2230,10 +2383,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Integrity detection lab | -|Description | A Hackerbot lab. Work through the labsheet, then when prompted interact with Hackerbot. Topics covered: Detecting changes to resources using backups; File integrity checkers; Detecting changes to resources using package management.| +|Description | A Hackerbot lab. Work through the labsheet, then when prompted interact with Hackerbot. Topics covered: Detecting changes to resources using backups; File integrity checkers; Detecting changes to resources using package management. | +|Lab sheet | | |Type | ctf-lab; hackerbot-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| https://www.youtube.com/watch?v=qzyEdeQ_7ZY; https://www.youtube.com/watch?v=kz7m-iyzSOw| +|Linked videos| https://www.youtube.com/watch?v=qzyEdeQ_7ZY; https://www.youtube.com/watch?v=kz7m-iyzSOw | |VM names| desktop; hackerbot_server | @@ -2260,10 +2414,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Backups lab | -|Description | A Hackerbot lab. Work through the labsheet, then when prompted interact with Hackerbot. Topics covered: Rsync, and backups and restoring data using differential and incremental backups.| +|Description | A Hackerbot lab. Work through the labsheet, then when prompted interact with Hackerbot. Topics covered: Rsync, and backups and restoring data using differential and incremental backups. | +|Lab sheet | | |Type | ctf-lab; hackerbot-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| https://youtu.be/lak1Sued4GY; https://youtu.be/stVomGROfbQ; https://youtu.be/n8IKEJUOISY| +|Linked videos| https://youtu.be/lak1Sued4GY; https://youtu.be/stVomGROfbQ; https://youtu.be/n8IKEJUOISY | |VM names| desktop; backup_server; hackerbot_server | @@ -2288,10 +2443,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | IDS lab | -|Description | A Hackerbot lab. Work through the labsheet, then when prompted interact with Hackerbot. | +|Description | A Hackerbot lab. Work through the labsheet, then when prompted interact with Hackerbot. | +|Lab sheet | | |Type | ctf-lab; hackerbot-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| https://youtu.be/raR0HstMnjg; https://youtu.be/3oDVTSFhl8Y; https://youtu.be/M6MisvbU32M| +|Linked videos| https://youtu.be/raR0HstMnjg; https://youtu.be/3oDVTSFhl8Y; https://youtu.be/M6MisvbU32M | |VM names| desktop; ids_snoop; web_server; hackerbot_server | @@ -2320,10 +2476,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | IDS rules lab | -|Description | A Hackerbot lab. Work through the labsheet, then when prompted interact with Hackerbot. | +|Description | A Hackerbot lab. Work through the labsheet, then when prompted interact with Hackerbot. | +|Lab sheet | | |Type | ctf-lab; hackerbot-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| https://youtu.be/ZUMBsMppsLo; https://youtu.be/nuUm4NO_S1s| +|Linked videos| https://youtu.be/ZUMBsMppsLo; https://youtu.be/nuUm4NO_S1s | |VM names| desktop; ids_snoop; web_server; hackerbot_server | @@ -2351,10 +2508,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Exfiltration detection lab | -|Description | A Hackerbot lab. Work through the labsheet, then when prompted interact with Hackerbot. | +|Description | A Hackerbot lab. Work through the labsheet, then when prompted interact with Hackerbot. | +|Lab sheet | | |Type | ctf-lab; hackerbot-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| https://youtu.be/4zYn4hbwKYQ; https://youtu.be/Y32tmFrCEBk| +|Linked videos| https://youtu.be/4zYn4hbwKYQ; https://youtu.be/Y32tmFrCEBk | |VM names| desktop; ids_snoop; web_server; hackerbot_server | @@ -2382,10 +2540,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Live analysis lab | -|Description | A Hackerbot lab. Work through the labsheet, then when prompted interact with Hackerbot. | +|Description | A Hackerbot lab. Work through the labsheet, then when prompted interact with Hackerbot. | +|Lab sheet | | |Type | ctf-lab; hackerbot-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| https://youtu.be/aNvVtF437LI; https://www.youtube.com/watch?v=iUInvMrBw3k; https://youtu.be/9nyvtJRQ17w| +|Linked videos| https://youtu.be/aNvVtF437LI; https://www.youtube.com/watch?v=iUInvMrBw3k; https://youtu.be/9nyvtJRQ17w | |VM names| desktop; compromised_server; hackerbot_server | @@ -2413,10 +2572,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Dead analysis lab | -|Description | A Hackerbot lab. Work through the labsheet, then when prompted interact with Hackerbot. | +|Description | A Hackerbot lab. Work through the labsheet, then when prompted interact with Hackerbot. | +|Lab sheet | | |Type | ctf-lab; hackerbot-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| https://youtu.be/3kiV0ZJWmMY; https://youtu.be/0EafG4CLwA4| +|Linked videos| https://youtu.be/3kiV0ZJWmMY; https://youtu.be/0EafG4CLwA4 | |VM names| desktop; hackerbot_server; kali | @@ -2443,10 +2603,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Anti-SRE | -|Description | A MetaCTF lab. In your home directory you will find some binaries that you need to reverse engineer in order to determine the password that the
program expects. Once you have found the password, run the program and enter the password to receive the file.

There are binaries to perform dynamic SRE.

[Lab sheet here](https://docs.google.com/document/d/1UsC3zykLAZwoV7bg5hP2hL1zpdxusjSZ3HVBnwZb5M4/edit?usp=sharing)
| +|Description | A MetaCTF lab. In your home directory you will find some binaries that you need to reverse engineer in order to determine the password that the
program expects. Once you have found the password, run the program and enter the password to receive the file.

There are binaries to perform dynamic SRE.
| +|Lab sheet | https://docs.google.com/document/d/1UsC3zykLAZwoV7bg5hP2hL1zpdxusjSZ3HVBnwZb5M4/edit?usp=sharing | |Type | ctf-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| | +|Linked videos| | |VM names| metactf | @@ -2471,10 +2632,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Introdution to Malware analysis lab | -|Description | A MetaCTF lab. In your home directory you will find some binaries that you need to reverse engineer in order to determine the password that the
program expects. Once you have found the password, run the program and enter the password to receive the file.

[Lab sheet here](https://docs.google.com/document/d/1CRGtnCTOogpEIjl-tLYdZqHBwJt75FpUJTE2xUL9wqI/edit?usp=sharing).
| +|Description | A MetaCTF lab. In your home directory you will find some binaries that you need to reverse engineer in order to determine the password that the
program expects. Once you have found the password, run the program and enter the password to receive the file.
| +|Lab sheet | https://docs.google.com/document/d/1CRGtnCTOogpEIjl-tLYdZqHBwJt75FpUJTE2xUL9wqI/edit?usp=sharin | |Type | ctf-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| https://youtu.be/14Hv_QodLxs; https://youtu.be/quKsZbpvYIY; https://youtu.be/CxZx7b3OPsg; https://youtu.be/3qmmqfBtJio; https://youtu.be/k3NwrFWuhaY| +|Linked videos| https://youtu.be/14Hv_QodLxs; https://youtu.be/quKsZbpvYIY; https://youtu.be/CxZx7b3OPsg; https://youtu.be/3qmmqfBtJio; https://youtu.be/k3NwrFWuhaY | |VM names| metactf | @@ -2500,10 +2662,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Introdution to C lab | -|Description |
An introduction to C. Really important fundamentals. No flags this week.

[Lab sheet here](https://docs.google.com/document/d/1qaq8LF6wbe9OvXwAqmLQ_FA-1OTRkRVxjH5O5KRDM2w/edit?usp=sharing).
| +|Description |
An introduction to C. Really important fundamentals. No flags this week.
| +|Lab sheet | https://docs.google.com/document/d/1qaq8LF6wbe9OvXwAqmLQ_FA-1OTRkRVxjH5O5KRDM2w/edit?usp=sharing | |Type | ctf-lab; lab-sheet | |Author | Thalita Vergilio | -|Linked videos| https://youtu.be/chebVVwj1kM; https://youtu.be/2R4QzDAfzLQ| +|Linked videos| https://youtu.be/chebVVwj1kM; https://youtu.be/2R4QzDAfzLQ | |VM names| metactf | @@ -2528,10 +2691,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | C and Assembly lab | -|Description | A MetaCTF lab. In your home directory you will find some binaries that you need to reverse engineer in order to determine the password that the
program expects. Once you have found the password, run the program and enter the password to receive the file.

This week, we will finish our crash course in C programming by looking at structs, a data type used to represent composite data, memory management, one
of the biggest strengths of the C language, and bitwise operators, which you will find particularly helpful when looking at disassembled code. We will
then change our focus to assembly language. Starting with some basics, we will familiarise ourselves with the syntax and organisation of decompiled code
before moving onto recognising the structures we learned last week in the assembly code.

[Lab sheet here](https://docs.google.com/document/d/14bEEdrJb0hGS5sBR-mOTWzCY-ws1LFDza3sIM04Akvg/edit?usp=sharing).
| +|Description | A MetaCTF lab. In your home directory you will find some binaries that you need to reverse engineer in order to determine the password that the
program expects. Once you have found the password, run the program and enter the password to receive the file.

This week, we will finish our crash course in C programming by looking at structs, a data type used to represent composite data, memory management, one
of the biggest strengths of the C language, and bitwise operators, which you will find particularly helpful when looking at disassembled code. We will
then change our focus to assembly language. Starting with some basics, we will familiarise ourselves with the syntax and organisation of decompiled code
before moving onto recognising the structures we learned last week in the assembly code.
| +|Lab sheet | https://docs.google.com/document/d/14bEEdrJb0hGS5sBR-mOTWzCY-ws1LFDza3sIM04Akvg/edit?usp=sharing | |Type | ctf-lab; lab-sheet | |Author | Thalita Vergilio | -|Linked videos| https://youtu.be/QbyorEb3WTs| +|Linked videos| https://youtu.be/QbyorEb3WTs | |VM names| metactf | @@ -2557,10 +2721,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Recognising C Code Constructs in Assembly lab | -|Description | A MetaCTF lab. In your home directory you will find some binaries that you need to reverse engineer in order to determine the password that the
program expects. Once you have found the password, run the program and enter the password to receive the file.

We start with understanding how branching and conditionals are represented in assembly. We then move onto learning how to identify the common C code
constructs we saw in previous weeks in disassembled code, namely loops, function calls, switch statements, arrays and structs.

[Lab sheet here](https://docs.google.com/document/d/1l4tU49JhI65Q85Zv9I1Wm1kaHNENp6iyIwMUhM8j_14/edit?usp=sharing).
| +|Description | A MetaCTF lab. In your home directory you will find some binaries that you need to reverse engineer in order to determine the password that the
program expects. Once you have found the password, run the program and enter the password to receive the file.

We start with understanding how branching and conditionals are represented in assembly. We then move onto learning how to identify the common C code
constructs we saw in previous weeks in disassembled code, namely loops, function calls, switch statements, arrays and structs.
| +|Lab sheet | https://docs.google.com/document/d/1l4tU49JhI65Q85Zv9I1Wm1kaHNENp6iyIwMUhM8j_14/edit?usp=sharing | |Type | ctf-lab; lab-sheet | |Author | Thalita Vergilio | -|Linked videos| https://youtu.be/8b6JokfEFEo| +|Linked videos| https://youtu.be/8b6JokfEFEo | |VM names| metactf | @@ -2585,10 +2750,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Ghidra lab | -|Description | A MetaCTF lab. In your home directory you will find some binaries that you need to reverse engineer in order to determine the password that the
program expects. Once you have found the password, run the program and enter the password to receive the file.

[Lab sheet here](https://docs.google.com/document/d/1d2l1Z5l3r-DOdt-MG96H8HdhmN2l54dz8TL-8iigxWU/edit?usp=sharing).
| +|Description | A MetaCTF lab. In your home directory you will find some binaries that you need to reverse engineer in order to determine the password that the
program expects. Once you have found the password, run the program and enter the password to receive the file.
| +|Lab sheet | https://docs.google.com/document/d/1d2l1Z5l3r-DOdt-MG96H8HdhmN2l54dz8TL-8iigxWU/edit?usp=sharing | |Type | ctf-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| https://youtu.be/0zUmUZoEpC4; https://youtu.be/m73pHO_0vhI| +|Linked videos| https://youtu.be/0zUmUZoEpC4; https://youtu.be/m73pHO_0vhI | |VM names| metactf | @@ -2613,10 +2779,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Ghidra lab analysis | -|Description | A MetaCTF lab. In your home directory you will find some binaries that you need to reverse engineer in order to determine the password that the
program expects. Once you have found the password, run the program and enter the password to receive the file.

There are two binaries to practice SRE with Ghidra.
| +|Description | A MetaCTF lab. In your home directory you will find some binaries that you need to reverse engineer in order to determine the password that the
program expects. Once you have found the password, run the program and enter the password to receive the file.

There are two binaries to practice SRE with Ghidra.
| +|Lab sheet | | |Type | ctf-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| | +|Linked videos| | |VM names| metactf | @@ -2641,10 +2808,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Ghidra lab with LIVE MALWARE SAMPLES | -|Description | You will find live malware samples in /opt/theZoo.
| +|Description | You will find live malware samples in /opt/theZoo.
| +|Lab sheet | | |Type | lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| | +|Linked videos| | |VM names| metactf | @@ -2669,10 +2837,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Dynamic analysis SRE | -|Description | A MetaCTF lab. In your home directory you will find some binaries that you need to reverse engineer in
order to determine the password that the program expects. Once you have found the password, run the program and
enter the password to receive the file.

There are binaries to perform dynamic SRE.
[Lab sheet here](https://docs.google.com/document/d/1EuTmklR3AVxdiYTrzyJ89vHU9UUY2QOn3oU74zQF19k/edit?usp=sharing)
| +|Description | A MetaCTF lab. In your home directory you will find some binaries that you need to reverse engineer in
order to determine the password that the program expects. Once you have found the password, run the program and
enter the password to receive the file.

There are binaries to perform dynamic SRE.
| +|Lab sheet | https://docs.google.com/document/d/1EuTmklR3AVxdiYTrzyJ89vHU9UUY2QOn3oU74zQF19k/edit?usp=sharing | |Type | ctf-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| https://youtu.be/6MeJIr3EKKM| +|Linked videos| https://youtu.be/6MeJIr3EKKM | |VM names| metactf | @@ -2697,10 +2866,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Dynamic analysis SRE (cont.) | -|Description | A MetaCTF lab. In your home directory you will find some binaries that you need to reverse engineer in
order to determine the password that the program expects. Once you have found the password, run the program and
enter the password to receive the file.

There are binaries to perform dynamic SRE.

[Lab sheet here](https://docs.google.com/document/d/11A7tZppId1pxbcclZDPr6e-zwWPKqPnJMgyAtcARR2s/edit?usp=sharing)
| +|Description | A MetaCTF lab. In your home directory you will find some binaries that you need to reverse engineer in
order to determine the password that the program expects. Once you have found the password, run the program and
enter the password to receive the file.

There are binaries to perform dynamic SRE.
| +|Lab sheet | https://docs.google.com/document/d/11A7tZppId1pxbcclZDPr6e-zwWPKqPnJMgyAtcARR2s/edit?usp=sharing | |Type | ctf-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| https://youtu.be/pExTbDVt0Gw| +|Linked videos| https://youtu.be/pExTbDVt0Gw | |VM names| metactf | @@ -2725,10 +2895,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Malware Behaviour | -|Description | A MetaCTF lab. In your home directory you will find some binaries that you need to reverse engineer in order to determine the password that the
program expects. Once you have found the password, run the program and enter the password to receive the file.

There are binaries to perform dynamic SRE.
| +|Description | A MetaCTF lab. In your home directory you will find some binaries that you need to reverse engineer in order to determine the password that the
program expects. Once you have found the password, run the program and enter the password to receive the file.

There are binaries to perform dynamic SRE.
| +|Lab sheet | | |Type | ctf-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| https://youtu.be/6XMrHyAqD-4; https://youtu.be/KJPeZptzl1U; https://youtu.be/6qeDnjOaRiI| +|Linked videos| https://youtu.be/6XMrHyAqD-4; https://youtu.be/KJPeZptzl1U; https://youtu.be/6qeDnjOaRiI | |VM names| metactf | @@ -2754,10 +2925,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Understanding Software Vulnerabilities: C, Debugging Assembly, and Buffer Overflows | -|Description |

A MetaCTF lab. In your home directory you will find some binaries that you need to reverse engineer in order to determine the password that the program expects. Once you determing the password, run the program and enter the password to receive the file.

[Lab sheet here](https://docs.google.com/document/d/1AxTve1RBzqvdPxt8Wziga2x2e3lZp4k5YsMq3KxkXzM/edit?usp=sharing).
| +|Description |

A MetaCTF lab. In your home directory you will find some binaries that you need to reverse engineer in order to determine the password that the program expects. Once you determing the password, run the program and enter the password to receive the file.
| +|Lab sheet | https://docs.google.com/document/d/1AxTve1RBzqvdPxt8Wziga2x2e3lZp4k5YsMq3KxkXzM/edit?usp=sharing | |Type | ctf-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| https://youtu.be/jo_07iOplzA; https://youtu.be/1Hy_166CwRk| +|Linked videos| https://youtu.be/jo_07iOplzA; https://youtu.be/1Hy_166CwRk | |VM names| desktop | @@ -2783,10 +2955,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Understanding Software Vulnerabilities: Injection Attacks, Race Conditions, and Format String Attacks | -|Description |

A MetaCTF lab. In your home directory you will find some binaries that you need to reverse engineer in order to determine the password that the program expects. Once you determing the password, run the program and enter the password to receive the file.

[Lab sheet here](https://docs.google.com/document/d/1GKmNARyF2-RQ-jK1_w4Y7V9vNtXsJvMmvXSbnadyEoE/edit?usp=sharing).
| +|Description |
A MetaCTF lab. In your home directory you will find some binaries that you need to reverse engineer in order to determine the password that the program expects. Once you determing the password, run the program and enter the password to receive the file.
| +|Lab sheet | https://docs.google.com/document/d/1GKmNARyF2-RQ-jK1_w4Y7V9vNtXsJvMmvXSbnadyEoE/edit?usp=sharing | |Type | ctf-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| https://youtu.be/nVpqjsfii6c; https://youtu.be/PH73lpG2B1M; https://youtu.be/Du3fVc_ZLiI| +|Linked videos| https://youtu.be/nVpqjsfii6c; https://youtu.be/PH73lpG2B1M; https://youtu.be/Du3fVc_ZLiI | |VM names| desktop | @@ -2812,10 +2985,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Bug Hunting and Fuzzing | -|Description |
[Lab sheet here](https://docs.google.com/document/d/1yuDcFkI2-KD4Xfti4PahE038o-6324LKSx075ZSsuKw/edit?usp=sharing).
| +|Description |
Bug Hunting and Fuzzing
| +|Lab sheet | https://docs.google.com/document/d/1yuDcFkI2-KD4Xfti4PahE038o-6324LKSx075ZSsuKw/edit?usp=sharing | |Type | ctf-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| https://youtu.be/nwxtlR31hvw; https://youtu.be/vT2PP7VnSNw| +|Linked videos| https://youtu.be/nwxtlR31hvw; https://youtu.be/vT2PP7VnSNw | |VM names| windows_victim; kali; desktop | @@ -2840,10 +3014,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Exploit Development | -|Description |
[Lab sheet here](https://docs.google.com/document/d/1tsKUaCetdqwDmey4JK9DYrcO9XDx4EwE2RIvSbP6zQQ/edit?usp=sharing).
| +|Description |
By the end of this lab you will have written a Metasploit exploit module to compromise a remote buffer overflow.
| +|Lab sheet | https://docs.google.com/document/d/1tsKUaCetdqwDmey4JK9DYrcO9XDx4EwE2RIvSbP6zQQ/edit?usp=sharing | |Type | ctf-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| https://youtu.be/Zh7IdmnCfy0; https://youtu.be/WU06L-u0t2Q; https://youtu.be/j2S-XgY-Fyg; https://youtu.be/Lf1UPaqPJMM; https://youtu.be/5OUQ7ExlgKI| +|Linked videos| https://youtu.be/Zh7IdmnCfy0; https://youtu.be/WU06L-u0t2Q; https://youtu.be/j2S-XgY-Fyg; https://youtu.be/Lf1UPaqPJMM; https://youtu.be/5OUQ7ExlgKI | |VM names| windows_victim; kali; windows_victim_server | @@ -2869,10 +3044,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Writing Exploits: Linux and Stack-smashing Buffer Overflows | -|Description |
[Lab sheet here](https://docs.google.com/document/d/1wgxLYHkdeLknRcbzZY73xZt36TWExuu-lfIJhRuHE-I/).
| +|Description |
Exploit Development: Linux and Stack-smashing Buffer Overflows
| +|Lab sheet | https://docs.google.com/document/d/1wgxLYHkdeLknRcbzZY73xZt36TWExuu-lfIJhRuHE-I/edit?usp=sharing | |Type | ctf-lab; lab-sheet | |Author | Thomas Shaw | -|Linked videos| https://youtu.be/oi_CfBe_umU; https://youtu.be/Wry2get_RRc| +|Linked videos| https://youtu.be/oi_CfBe_umU; https://youtu.be/Wry2get_RRc | |VM names| metactf_desktop; kali | @@ -2898,10 +3074,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Linux bypassing NX bit with return-to-libc | -|Description |
Similar to last week. Same C code, just compiled w/ stack protections and non-executable stack.

[Lab sheet here](https://docs.google.com/document/d/1eUOb1cR-D8qv0NmlGXYUN1JYwmgrwOBNtfsDVdxnPpw/).
| +|Description |
Similar to last topic. Same C code, just compiled w/ stack protections and non-executable stack.
| +|Lab sheet | https://docs.google.com/document/d/1eUOb1cR-D8qv0NmlGXYUN1JYwmgrwOBNtfsDVdxnPpw/edit?usp=sharing | |Type | ctf-lab; lab-sheet | |Author | Thomas Shaw | -|Linked videos| https://youtu.be/ywLXfSR5YWk| +|Linked videos| https://youtu.be/ywLXfSR5YWk | |VM names| metactf_desktop; kali | @@ -2928,10 +3105,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Linux ASLR bypass | -|Description |
Practical challenges to bypass ASLR, PIE and RelRO.

[Lab sheet here](https://docs.google.com/document/d/1NVWjD257EN0pv14G6dD44VpSPYlrR6IC2HPihrsGPnY/).
| +|Description |
Practical challenges to bypass ASLR, PIE and RelRO.
| +|Lab sheet | https://docs.google.com/document/d/1NVWjD257EN0pv14G6dD44VpSPYlrR6IC2HPihrsGPnY/edit?usp=sharing | |Type | ctf-lab; lab-sheet | |Author | Thomas Shaw | -|Linked videos| https://youtu.be/v2rChKDAmFg; https://youtu.be/xwsBaNQZozg| +|Linked videos| https://youtu.be/v2rChKDAmFg; https://youtu.be/xwsBaNQZozg | |VM names| metactf_desktop; kali | @@ -2958,10 +3136,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Linux Buffer Overflows and Advanced Format String Attacks | -|Description |
[Lab sheet here](https://docs.google.com/document/d/1Ap-h6YSDtfU4bLwiKhxP5x2nf1vjSJ2V2zEL5wzW84U/edit?usp=sharing).
| +|Description |
The practical challenges involve exploiting buffer overflow vulnerabilities and a format string vulnerability.
| +|Lab sheet | https://docs.google.com/document/d/1Ap-h6YSDtfU4bLwiKhxP5x2nf1vjSJ2V2zEL5wzW84U/edit?usp=sharing | |Type | ctf-lab; lab-sheet | |Author | Thomas Shaw | -|Linked videos| | +|Linked videos| | |VM names| metactf_desktop | @@ -2987,10 +3166,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Authentication lab | -|Description |
Lecture
[Slides here](http://z.cliffe.schreuders.org/presentations/slides/1718/ADS_slides_out_week_6/WNS_ADS_Lectures_5_Authentication.html)

Reading
[Chapter 11 "Authentication": Bishop, M. (2004), Introduction to Computer Security, Addison-Wesley. (ISBN-10: 0321247442)](https://my.leedsbeckett.ac.uk/bbcswebdav/pid-2221598-dt-content-rid-4451698_1/institution/Online%20Learning/AET/CT/MSc%20Computer%20Security/Principles%20of%20Digital%20Security/Readings/Week%205/DCS-85139%20%281%29.pdf)

Lab
A Hackerbot lab. Work through the lab instructions, then when prompted interact with Hackerbot.
| +|Description |
Lecture
[Slides here](http://z.cliffe.schreuders.org/presentations/slides/1718/ADS_slides_out_week_6/WNS_ADS_Lectures_5_Authentication.html)

Reading
[Chapter 11 "Authentication": Bishop, M. (2004), Introduction to Computer Security, Addison-Wesley. (ISBN-10: 0321247442)](https://my.leedsbeckett.ac.uk/bbcswebdav/pid-2221598-dt-content-rid-4451698_1/institution/Online%20Learning/AET/CT/MSc%20Computer%20Security/Principles%20of%20Digital%20Security/Readings/Week%205/DCS-85139%20%281%29.pdf)

Lab
A Hackerbot lab. Work through the lab instructions, then when prompted interact with Hackerbot.
| +|Lab sheet | | |Type | ctf-lab; hackerbot-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| https://youtu.be/2I_JSdTu-oI; https://youtu.be/pGcJEML1mRo; https://youtu.be/icC2Zrno_uM; https://youtu.be/Wrg6XZu6Luw| +|Linked videos| https://youtu.be/2I_JSdTu-oI; https://youtu.be/pGcJEML1mRo; https://youtu.be/icC2Zrno_uM; https://youtu.be/Wrg6XZu6Luw | |VM names| desktop; server; hackerbot_server; kali_cracker | @@ -3016,10 +3196,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Pluggable Authentication Modules lab | -|Description |
Lecture
[Slides continued here](http://z.cliffe.schreuders.org/presentations/slides/1718/ADS_slides_out_week_6/WNS_ADS_Lectures_5_Authentication.html)

Reading
[Chapter 4 "Users, Passwords, and Authentication": Garfinkel, S. Spafford, G. and Schwartz, A. (2003), Practical Unix and Internet Security, O'Reilly. (ISBN-10: 0596003234)](https://www-dawsonera-com.ezproxy.leedsbeckett.ac.uk/abstract/9781449310325)

Lab
A short lab this week, exploring PAM. Work through the labsheet, then when prompted interact with Hackerbot.
| +|Description |
Lecture
[Slides continued here](http://z.cliffe.schreuders.org/presentations/slides/1718/ADS_slides_out_week_6/WNS_ADS_Lectures_5_Authentication.html)

Reading
[Chapter 4 "Users, Passwords, and Authentication": Garfinkel, S. Spafford, G. and Schwartz, A. (2003), Practical Unix and Internet Security, O'Reilly. (ISBN-10: 0596003234)](https://www-dawsonera-com.ezproxy.leedsbeckett.ac.uk/abstract/9781449310325)

Lab
A short lab this week, exploring PAM. Work through the labsheet, then when prompted interact with Hackerbot.
| +|Lab sheet | | |Type | ctf-lab; hackerbot-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| https://youtu.be/z4L6Yv5ry1A; https://youtu.be/-zcnfmoLjYI; https://youtu.be/xHs3LB4Yyrk; https://youtu.be/c2dPdQmaVyo; https://youtu.be/dCBabesIXo8; https://youtu.be/rhdcxhSDqp4; https://youtu.be/PCXK2cK8tpE| +|Linked videos| https://youtu.be/z4L6Yv5ry1A; https://youtu.be/-zcnfmoLjYI; https://youtu.be/xHs3LB4Yyrk; https://youtu.be/c2dPdQmaVyo; https://youtu.be/dCBabesIXo8; https://youtu.be/rhdcxhSDqp4; https://youtu.be/PCXK2cK8tpE | |VM names| desktop; server; hackerbot_server | @@ -3045,10 +3226,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Access Controls lab | -|Description |
Lecture
[Slides here](http://z.cliffe.schreuders.org/presentations/slides/1718/ADS_slides_out_week_7/ADS_PDS_Lectures_7_Access_Control.html)

Reading
[Chapter 1 "Foundations of Security and Access Control in Computing": Benantar, M. (2006), Access Control Systems: Security, Identity Management and Trust Models, Springer. (ISBN-10: 0387004459)](https://www-dawsonera-com.ezproxy.leedsbeckett.ac.uk/readonline/9780387277165)

Lab
A Hackerbot lab. Work through the labsheet, then when prompted interact with Hackerbot.
| +|Description |
Lecture
[Slides here](http://z.cliffe.schreuders.org/presentations/slides/1718/ADS_slides_out_week_7/ADS_PDS_Lectures_7_Access_Control.html)

Reading
[Chapter 1 "Foundations of Security and Access Control in Computing": Benantar, M. (2006), Access Control Systems: Security, Identity Management and Trust Models, Springer. (ISBN-10: 0387004459)](https://www-dawsonera-com.ezproxy.leedsbeckett.ac.uk/readonline/9780387277165)

Lab
A Hackerbot lab. Work through the labsheet, then when prompted interact with Hackerbot.
| +|Lab sheet | | |Type | ctf-lab; hackerbot-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| https://youtu.be/yWJyZEFbchQ; https://youtu.be/i0kO_3ExJv4| +|Linked videos| https://youtu.be/yWJyZEFbchQ; https://youtu.be/i0kO_3ExJv4 | |VM names| shared_desktop; server; hackerbot_server | @@ -3075,10 +3257,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Set User ID lab | -|Description |
Lecture
[Slides continued here](http://z.cliffe.schreuders.org/presentations/slides/1718/ADS_slides_out_week_7/ADS_PDS_Lectures_7_Access_Control.html)

Reading
[Chapter 6 "Filesystems and Security": Garfinkel, S. Spafford, G. and Schwartz, A. (2003), Practical Unix and Internet Security, O'Reilly. (ISBN-10: 0596003234)](https://www-dawsonera-com.ezproxy.leedsbeckett.ac.uk/abstract/9781449310325)

Lab
A Hackerbot lab. Work through the labsheet, then when prompted interact with Hackerbot.
| +|Description |
Lecture
[Slides continued here](http://z.cliffe.schreuders.org/presentations/slides/1718/ADS_slides_out_week_7/ADS_PDS_Lectures_7_Access_Control.html)

Reading
[Chapter 6 "Filesystems and Security": Garfinkel, S. Spafford, G. and Schwartz, A. (2003), Practical Unix and Internet Security, O'Reilly. (ISBN-10: 0596003234)](https://www-dawsonera-com.ezproxy.leedsbeckett.ac.uk/abstract/9781449310325)

Lab
A Hackerbot lab. Work through the labsheet, then when prompted interact with Hackerbot.
| +|Lab sheet | | |Type | ctf-lab; hackerbot-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| https://youtu.be/viSkkNB777k; https://youtu.be/PGHsb3bg_h4| +|Linked videos| https://youtu.be/viSkkNB777k; https://youtu.be/PGHsb3bg_h4 | |VM names| shared_desktop; server; hackerbot_server | @@ -3104,10 +3287,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Access Control Lists (ACLs) lab | -|Description |
Lecture
[Slides continued here](http://z.cliffe.schreuders.org/presentations/slides/1718/ADS_slides_out_week_7/ADS_PDS_Lectures_7_Access_Control.html)

Reading
[Grunbacher, Andreas. "POSIX Access Control Lists on Linux." *USENIX Annual Technical Conference*, FREENIX Track. 2003.](https://www.usenix.org/legacy/events/usenix03/tech/freenix03/full_papers/gruenbacher/gruenbacher.pdf)

Lab
A Hackerbot lab. Work through the labsheet, then when prompted interact with Hackerbot.

| +|Description |
Lecture
[Slides continued here](http://z.cliffe.schreuders.org/presentations/slides/1718/ADS_slides_out_week_7/ADS_PDS_Lectures_7_Access_Control.html)

Reading
[Grunbacher, Andreas. "POSIX Access Control Lists on Linux." *USENIX Annual Technical Conference*, FREENIX Track. 2003.](https://www.usenix.org/legacy/events/usenix03/tech/freenix03/full_papers/gruenbacher/gruenbacher.pdf)

Lab
A Hackerbot lab. Work through the labsheet, then when prompted interact with Hackerbot.

| +|Lab sheet | | |Type | ctf-lab; hackerbot-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| https://youtu.be/Bn3NJhgmdLk; https://youtu.be/OT7ifs8PkHI| +|Linked videos| https://youtu.be/Bn3NJhgmdLk; https://youtu.be/OT7ifs8PkHI | |VM names| shared_desktop; server; hackerbot_server | @@ -3133,10 +3317,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Containers lab | -|Description |
Lecture
[Slides here](http://z.cliffe.schreuders.org/presentations/slides/slides_out_sandboxing/ADS_PDS_Lectures_8_Sandboxes_and_Virtualisation.html)

Reading
[Z. C. Schreuders, T. McGill, and C. Payne, "The State of the Art of Application Restrictions and Sandboxes: A Survey of Application-oriented Access Controls and their Shortfalls," Computers and Security, Volume 32, Elsevier B.V., 2013. DOI: 10.1016/j.cose.2012.09.007](http://z.cliffe.schreuders.org/publications/Computers&Security%20-%20The%20State%20of%20the%20Art%20of%20Application%20Restrictions%20and%20Sandboxes%20-%20Author%20Version.pdf)

Lab
A Hackerbot lab. Work through the labsheet, then when prompted interact with Hackerbot.
| +|Description |
Lecture
[Slides here](http://z.cliffe.schreuders.org/presentations/slides/slides_out_sandboxing/ADS_PDS_Lectures_8_Sandboxes_and_Virtualisation.html)

Reading
[Z. C. Schreuders, T. McGill, and C. Payne, "The State of the Art of Application Restrictions and Sandboxes: A Survey of Application-oriented Access Controls and their Shortfalls," Computers and Security, Volume 32, Elsevier B.V., 2013. DOI: 10.1016/j.cose.2012.09.007](http://z.cliffe.schreuders.org/publications/Computers&Security%20-%20The%20State%20of%20the%20Art%20of%20Application%20Restrictions%20and%20Sandboxes%20-%20Author%20Version.pdf)

Lab
A Hackerbot lab. Work through the labsheet, then when prompted interact with Hackerbot.
| +|Lab sheet | | |Type | ctf-lab; hackerbot-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| https://youtu.be/f4yBcKkb12g| +|Linked videos| https://youtu.be/f4yBcKkb12g | |VM names| desktop; hackerbot_server; chroot_esc_server; docker_esc_server | @@ -3164,10 +3349,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | AppArmor lab | -|Description |
Lecture
[Slides continued here](http://z.cliffe.schreuders.org/presentations/slides/slides_out_sandboxing/ADS_PDS_Lectures_8_Sandboxes_and_Virtualisation.html)

Lectures for the next two weeks
[Secure software development](https://leedsbeckettreplay.cloud.panopto.eu/Panopto/Pages/Viewer.aspx?id=31ee4531-1834-4028-8829-aa1d00a73a7e)

[Secure design principles](https://leedsbeckettreplay.cloud.panopto.eu/Panopto/Pages/Viewer.aspx?id=6f409b1c-2daa-4798-8bc7-aa2400952d29)

[Slides](http://z.cliffe.schreuders.org/presentations/slides/slides_secure_design/ADS_PDS_Lectures_3_Secure_Software_Development_and_Bug_Hunting.html)

Lab
A Hackerbot lab. Work through the labsheet, then when prompted interact with Hackerbot.
| +|Description |
Lecture
[Slides continued here](http://z.cliffe.schreuders.org/presentations/slides/slides_out_sandboxing/ADS_PDS_Lectures_8_Sandboxes_and_Virtualisation.html)

Lectures for the next two weeks
[Secure software development](https://leedsbeckettreplay.cloud.panopto.eu/Panopto/Pages/Viewer.aspx?id=31ee4531-1834-4028-8829-aa1d00a73a7e)

[Secure design principles](https://leedsbeckettreplay.cloud.panopto.eu/Panopto/Pages/Viewer.aspx?id=6f409b1c-2daa-4798-8bc7-aa2400952d29)

[Slides](http://z.cliffe.schreuders.org/presentations/slides/slides_secure_design/ADS_PDS_Lectures_3_Secure_Software_Development_and_Bug_Hunting.html)

Lab
A Hackerbot lab. Work through the labsheet, then when prompted interact with Hackerbot.
| +|Lab sheet | | |Type | ctf-lab; hackerbot-lab; lab-sheet | |Author | Z. Cliffe Schreuders | -|Linked videos| https://youtu.be/Xgs5akM6ayc| +|Linked videos| https://youtu.be/Xgs5akM6ayc | |VM names| desktop; hackerbot_server | @@ -3194,10 +3380,11 @@ Command to build VMs and start scenario: | Key | Data | | --- | --- | |Name | Web security lab environment | -|Description | An environment for web security labs. Kali Linux with Damn Vulnerable Web App server, WebGoat, and web sec tools. | +|Description | An environment for web security labs. Kali Linux with Damn Vulnerable Web App server, WebGoat, and web sec tools. | +|Lab sheet | | |Type | lab-environment; ctf-lab | |Author | Z. Cliffe Schreuders | -|Linked videos| | +|Linked videos| | |VM names| kali | diff --git a/README.md b/README.md index 83bee5ebd..d1c1a1ee4 100644 --- a/README.md +++ b/README.md @@ -306,6 +306,7 @@ The table below is a key for the abbreviations you will find within the CyBOK XM | SOIM | Security Operations & 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 | Forensics | [link](https://www.cybok.org/media/downloads/Forensics_issue_1.0.pdf)| [link](https://www.cybok.org/media/downloads/Forensics.pdf)| | C | Cryptography | [link](https://www.cybok.org/media/downloads/Cryptography-issue-1.0.pdf)| [link](https://www.cybok.org/media/downloads/Cryptography.pdf)| +| AC | Applied Cryptography | [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 | Operating Systems & Virtualisation Security | [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 | Distributed Systems Security | [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 | Authentication, Authorisation and Accountability | [link](https://www.cybok.org/media/downloads/AAA_issue_1.0_q3qspzo.pdf)| [link](https://www.cybok.org/media/downloads/AAA.pdf) | diff --git a/lib/CyBOK/generate_scenario_index.rb b/lib/CyBOK/generate_scenario_index.rb index f00a23744..461a6f298 100644 --- a/lib/CyBOK/generate_scenario_index.rb +++ b/lib/CyBOK/generate_scenario_index.rb @@ -3,6 +3,7 @@ require 'nori' require 'youtube_images' require 'dig-deep' require 'getoptlong' +require 'nokogiri/class_resolver' # if you want to regenerate the indexes you need to install these additional gems: # gem 'youtube_images' @@ -79,6 +80,7 @@ VIDEO_HASH = {} CyBOK_ACRONYMS = { "AAA" => "Authentication, Authorisation & Accountability", "AB" => "Adversarial Behaviours", + "AC" => "Applied Cryptography", "C" => "Cryptography", "CPS" => "Cyber-Physical Systems Security", "DSS" => "Distributed Systems Security", diff --git a/lib/CyBOK/template_CyBOK_scenarios.md.erb b/lib/CyBOK/template_CyBOK_scenarios.md.erb index d254dae05..65b39101b 100644 --- a/lib/CyBOK/template_CyBOK_scenarios.md.erb +++ b/lib/CyBOK/template_CyBOK_scenarios.md.erb @@ -54,10 +54,11 @@ SCENARIOS_HASH.keys.each{|scenario| | Key | Data | | --- | --- | |Name | <%= SCENARIOS_FULL_HASH[scenario][0]["name"].to_s %> | -|Description | <%= SCENARIOS_FULL_HASH[scenario][0]["description"].to_s.delete('#').gsub(/\n/,'
') %>| +|Description | <%= SCENARIOS_FULL_HASH[scenario][0]["description"].to_s.delete('#').gsub(/\n/,'
') %> | +|Lab sheet | <%= SCENARIOS_FULL_HASH[scenario][0]["lab_sheet_url"].to_s.delete('#').gsub(/\n/,'
') %> | |Type | <%= SCENARIOS_FULL_HASH[scenario][0]["type"].to_s.gsub(/"|\[|\]/, '').gsub(',',';') %> | |Author | <%= SCENARIOS_FULL_HASH[scenario][0]["author"].to_s %> | -|Linked videos| <%= SCENARIOS_FULL_HASH[scenario][0].dig_deep(:url).to_s.gsub(/"|\[|\]/, '').gsub(',',';') %>| +|Linked videos| <%= SCENARIOS_FULL_HASH[scenario][0].dig_deep(:url).to_s.gsub(/"|\[|\]/, '').gsub(',',';') %> | |VM names| <%= systems = SCENARIOS_FULL_HASH[scenario][0].dig_deep(:system_name).to_s.gsub(/"|\[|\]/, '').gsub(',',';') %> | diff --git a/lib/CyBOK/validate_xml_all_modules.rb b/lib/CyBOK/validate_xml_all_modules.rb index 0147050a9..515d60f83 100644 --- a/lib/CyBOK/validate_xml_all_modules.rb +++ b/lib/CyBOK/validate_xml_all_modules.rb @@ -1,3 +1,4 @@ +require 'nokogiri/class_resolver' require 'nokogiri' require_relative '../helpers/print.rb' diff --git a/lib/CyBOK/validate_xml_all_scenarios.rb b/lib/CyBOK/validate_xml_all_scenarios.rb index 97d6bbdf7..2a3dee0ca 100644 --- a/lib/CyBOK/validate_xml_all_scenarios.rb +++ b/lib/CyBOK/validate_xml_all_scenarios.rb @@ -1,3 +1,4 @@ +require 'nokogiri/class_resolver' require 'nokogiri' require_relative '../helpers/print.rb' diff --git a/lib/helpers/constants.rb b/lib/helpers/constants.rb index 5986fd0c2..5d80c6491 100644 --- a/lib/helpers/constants.rb +++ b/lib/helpers/constants.rb @@ -1,6 +1,7 @@ # datastore related global variables $datastore = {} $datastore_iterators = {} # keeps track of previous access to datastore elements datastorevariablename => prev_index_accessed +$cybok_coverage = [] # array of XML nodes ## FILE / DIR CONSTANTS ## @@ -55,8 +56,12 @@ SAMP_DBS_DIR = "#{ROOT_DIR}/lib/resources/sample_databases" LOCAL_PUPPET_DIR = "#{MODULES_DIR}build/puppet" SECGEN_FUNCTIONS_PUPPET_DIR = "#{MODULES_DIR}build/puppet/secgen_functions" -# Filename for flags +# Filename for flags, etc FLAGS_FILENAME = "flag_hints.xml" +CYBOK_FILENAME = "cybok.xml" +SPOILER_ADMIN_FILENAME = "spoiler_admin_pass" +IP_ADDRESSES_FILENAME = "IP_addresses.json" + ## PACKER CONSTANTS ## diff --git a/lib/objects/module.rb b/lib/objects/module.rb index 06eb5a4c2..64ae7ee3e 100644 --- a/lib/objects/module.rb +++ b/lib/objects/module.rb @@ -22,6 +22,7 @@ class Module attr_accessor :conflicts attr_accessor :requires + attr_accessor :cybok_coverage # a list of xml doc nodes attr_accessor :puppet_file attr_accessor :puppet_other_path attr_accessor :local_calc_file @@ -34,6 +35,7 @@ class Module self.module_type = module_type self.conflicts = [] self.requires = [] + self.cybok_coverage = [] self.attributes = {} self.output = [] self.write_to_module_with_id = write_output_variable = '' @@ -96,13 +98,17 @@ class Module def attributes_for_scenario_output attr_flattened = {} - attributes.each do |key, array| - unless "#{key}" == 'module_type' || "#{key}" == 'conflict' || "#{key}" == 'default_input' || "#{key}" == 'requires' - # creates a valid regexp that can match the original module - attr_flattened["#{key}"] = Regexp.escape(array.join('~~~')).gsub(/\n\w*/, '.*').gsub(/\\ /, ' ').gsub(/~~~/, '|') - end - end + # this alternative approach populates all the filters in the generated senario, + # but this means that changes to the metadata breaks the selection + # attributes.each do |key, array| + # unless "#{key}" == 'module_type' || "#{key}" == 'conflict' || "#{key}" == 'default_input' || "#{key}" == 'requires' + # # creates a valid regexp that can match the original module + # attr_flattened["#{key}"] = Regexp.escape(array.join('~~~')).gsub(/\n\w*/, '.*').gsub(/\\ /, ' ').gsub(/~~~/, '|') + # end + # end + # just specify modules by their path + attr_flattened["module_path"] = Regexp.escape(attributes["module_path"][0]) attr_flattened end diff --git a/lib/output/project_files_creator.rb b/lib/output/project_files_creator.rb index 13db90056..7bead3a6e 100644 --- a/lib/output/project_files_creator.rb +++ b/lib/output/project_files_creator.rb @@ -2,10 +2,12 @@ require 'erb' require_relative '../helpers/constants.rb' require_relative 'xml_scenario_generator.rb' require_relative 'xml_marker_generator.rb' +require_relative 'xml_cybok_generator.rb' require_relative 'ctfd_generator.rb' require 'fileutils' require 'librarian' require 'zip/zip' +require 'json' class ProjectFilesCreator # Creates project directory, uses .erb files to create a report and the vagrant file that will be used @@ -127,14 +129,53 @@ class ProjectFilesCreator Print.std "Creating scenario definition file: #{xfile}" write_data_to_file(xml, xfile) + write_data_to_file(@systems.to_s, "#{@out_dir}/systems") + write_data_to_file(@scenario.to_s, "#{@out_dir}/scenario") + + # Create the marker xml file x2file = "#{@out_dir}/#{FLAGS_FILENAME}" - xml_marker_generator = XmlMarkerGenerator.new(@systems, @scenario, @time) xml = xml_marker_generator.output Print.std "Creating flags and hints file: #{x2file}" write_data_to_file(xml, x2file) + # Create the CyBOK xml file + x3file = "#{@out_dir}/#{CYBOK_FILENAME}" + xml_cybok_generator = XmlCybokGenerator.new(@systems, @scenario, @time) + xml = xml_cybok_generator.output + Print.std "Creating flags and hints file: #{x3file}" + write_data_to_file(xml, x3file) + + Print.std "Saving spoiler/admin records..." + jfile = "#{@out_dir}/datastores" + Print.std "Saving datastore records: #{jfile}" + json = JSON.generate($datastore) + write_data_to_file(json, jfile) + + if $datastore.has_key? "IP_addresses" + system_names = @systems.map { |system| system.name } + system_ips = Hash[system_names.zip($datastore["IP_addresses"])] + jfile = "#{@out_dir}/#{IP_ADDRESSES_FILENAME}" + Print.std "Saving IP addresses: #{jfile}" + json = JSON.generate(system_ips) + write_data_to_file(json, jfile) + end + + if $datastore.has_key? "spoiler_admin_pass" + pfile = "#{@out_dir}/#{SPOILER_ADMIN_FILENAME}" + Print.std "Saving spoiler/admin passwords: #{pfile}" + pass_notes = $datastore["spoiler_admin_pass"].join("\n") + write_data_to_file(pass_notes, pfile) + end + + if $datastore.has_key? "hackerbot_instructions" + jfile = "#{@out_dir}/instructions.html" + Print.std "Saving instructions: #{jfile}" + html = JSON.parse($datastore["hackerbot_instructions"][0])["html_lab_sheet"] + write_data_to_file(html, jfile) + end + # Create the CTFd zip file for import ctfdfile = "#{@out_dir}/CTFd_importable.zip" Print.std "Creating CTFd configuration: #{ctfdfile}" @@ -151,13 +192,6 @@ class ProjectFilesCreator f.print ctfd_file_content } end - # zipfile.mkdir("uploads") - # TODO: could add a logo image - # zipfile.mkdir("uploads/uploads") # empty as in examples - # zipfile.mkdir("uploads/fca9b07e1f3699e07870b86061815b1c") - # zipfile.get_output_stream("uploads/fca9b07e1f3699e07870b86061815b1c/logo.svg") { |f| - # f.print File.readlines(ROOT_DIR + '/lib/resources/images/svg_icons/flag.svg') - # } } rescue StandardError => e Print.err "Error writing zip file: #{e.message}" diff --git a/lib/output/xml_cybok_generator.rb b/lib/output/xml_cybok_generator.rb new file mode 100644 index 000000000..5d3768078 --- /dev/null +++ b/lib/output/xml_cybok_generator.rb @@ -0,0 +1,30 @@ +require 'nokogiri' +# Convert systems objects into xml +class XmlCybokGenerator + + # @param [Object] systems the list of systems + # @param [Object] scenario the scenario file used to generate + # @param [Object] time the current time as a string + def initialize(systems, scenario, time) + @systems = systems + @scenario = scenario + @time = time + end + + # outputs a XML CyBOK file that can be used to track CyBOK + # even for randomised challenges, where CyBOK is defined per module + # @return [Object] xml string + def output + # $cybok_coverage starts with the cybok from the scenario, and then we also + # add all the cybok from modules that are selected + @systems.each { |system| + system.module_selections.each { |selected_module| + $cybok_coverage.push *selected_module.cybok_coverage + } + } + coverage = "" + $cybok_coverage.map { |c| "\n " + c.to_xml.gsub(/\R/, "\n ").gsub(/\t/, ' ') }.uniq.join("\n") + "\n " + "" + + doc = Nokogiri.XML(coverage) + doc.to_xml + end +end diff --git a/lib/output/xml_marker_generator.rb b/lib/output/xml_marker_generator.rb index a0fc84a88..2d5b6dc64 100644 --- a/lib/output/xml_marker_generator.rb +++ b/lib/output/xml_marker_generator.rb @@ -1,5 +1,5 @@ require 'nokogiri' - +require 'irb' # Convert systems objects into xml class XmlMarkerGenerator @@ -15,6 +15,7 @@ class XmlMarkerGenerator # outputs a XML marker file that can be used to mark flags and provide hints # @return [Object] xml string def output + @processed_hints = [] ns = { 'xmlns' => "http://www.github/cliffe/SecGen/marker", 'xmlns:xsi' => "http://www.w3.org/2001/XMLSchema-instance", @@ -37,10 +38,16 @@ class XmlMarkerGenerator # flag has to be the only thing in the parameter string (not within some text) if output_value.match(/\Aflag{.*\z/) xml.challenge{ - xml.flag(output_value) system.module_selections.each { |search_module| if search_module.unique_id == selected_module.write_to_module_with_id + # special case check for flag that's fed into a parameter that isn't defined within the receiving module + if search_module.attributes["read_fact"].include? selected_module.write_output_variable + xml.flag(output_value) + else + Print.warn "Ignoring flag generated but fed into a fact that the module doesn't read: #{selected_module.write_to_module_with_id}.#{selected_module.write_output_variable} #{output_value}" + Print.warn "This likely isn't an issue, especially if fed into strings_to_pre_leak which doesn't always exist" + end module_hints(search_module, xml, system.module_selections) end } @@ -69,6 +76,10 @@ class XmlMarkerGenerator } end + if search_module.cybok_coverage&.size > 0 + add_cybok(search_module, xml) + end + case search_module.module_type when "vulnerability" case search_module.attributes['access'].first @@ -130,10 +141,22 @@ class XmlMarkerGenerator end def add_hint(hint_text, hint_id, hint_type, xml) - xml.hint { - xml.hint_text(hint_text) - xml.hint_type(hint_type) - xml.hint_id(hint_id) + # due to the nested structure of components a specific hint may lead to + # multiple next steps -- but we just record each hint once to simplify things + # without this condition, the same hint will appear multiple times + unless @processed_hints.include? hint_id + @processed_hints << hint_id + xml.hint { + xml.hint_text(hint_text) + xml.hint_type(hint_type) + } + end +end + +def add_cybok(search_module, xml) + xml.cybok_coverage { + # quick and dirty conversion of saved nodes back to tidy xml + xml << search_module.cybok_coverage.map { |c| "\n " + c.to_xml.gsub(/\R/, "\n ").gsub(/\t/, ' ') }.join("\n") + "\n " } end diff --git a/lib/readers/module_reader.rb b/lib/readers/module_reader.rb index a2acce99f..f70752c76 100644 --- a/lib/readers/module_reader.rb +++ b/lib/readers/module_reader.rb @@ -160,6 +160,11 @@ class ModuleReader < XMLReader new_module.requires.push(require) end + # for each CyBOK in the module -- we just store the xml node for later + doc.xpath("/#{module_type}/CyBOK").each do |cybok_doc| + new_module.cybok_coverage.push(cybok_doc.clone) + end + # for each default input doc.xpath("/#{module_type}/default_input").each do |inputs_doc| inputs_doc.xpath('descendant::vulnerability | descendant::service | descendant::utility | descendant::network | descendant::base | descendant::encoder | descendant::generator').each do |module_node| @@ -219,4 +224,4 @@ class ModuleReader < XMLReader return modules end -end \ No newline at end of file +end diff --git a/lib/readers/system_reader.rb b/lib/readers/system_reader.rb index 4fd0bb64f..16f2d4f8e 100644 --- a/lib/readers/system_reader.rb +++ b/lib/readers/system_reader.rb @@ -16,6 +16,11 @@ class SystemReader < XMLReader # Parse and validate the schema doc = parse_doc(scenario_file, SCENARIO_SCHEMA_FILE, 'scenario') + # for each CyBOK in the module + doc.xpath("/scenario/CyBOK").each do |cybok_doc| + $cybok_coverage.push(cybok_doc.clone) + end + doc.xpath('/scenario/system').each_with_index do |system_node, system_index| module_selectors = [] diff --git a/lib/resources/linelists/README-sources.md b/lib/resources/linelists/README-sources.md index 1b8dfa36b..7c55596a0 100644 --- a/lib/resources/linelists/README-sources.md +++ b/lib/resources/linelists/README-sources.md @@ -1,2 +1,2 @@ -secrets: \#MyWeirdSecret on twitter +secrets 1-23: \#MyWeirdSecret on twitter https://twitter.com/hashtag/MYWEIRDSECRET?src=hash diff --git a/lib/resources/linelists/diary_boring b/lib/resources/linelists/diary_boring new file mode 100644 index 000000000..9037b3863 --- /dev/null +++ b/lib/resources/linelists/diary_boring @@ -0,0 +1,30 @@ +Dear diary, today was just like any other day - woke up, got ready for work, went to work, came home, watched TV, went to bed. +Dear diary, today was really busy at work, I had to work overtime to finish everything. +Dear diary, today was a lazy day, I didn't really do anything except watch TV and play video games. +Dear diary, today I met up with some friends for lunch, it was nice to catch up with them. +Dear diary, today was really uneventful, I just did some grocery shopping and cleaned the house. +Dear diary, today I had a doctor's appointment, everything was fine and normal. +Dear diary, today was really hot outside, I stayed inside most of the day and read a book. +Dear diary, today was a bit stressful, I had a lot of work to do and didn't get much of a break. +Dear diary, today was a good day, I went for a walk in the park and enjoyed the sunshine. +Dear diary, today was a bit boring, I just ran some errands and did some laundry. +Dear diary, today was a typical Monday - went to work, had meetings, came home, made dinner, watched TV, went to bed. +Dear diary, today was really busy with appointments and errands, I didn't have much time for anything else. +Dear diary, today was a bit frustrating, I had to deal with some annoying coworkers at work. +Dear diary, today was really rainy, I spent most of the day indoors and caught up on some reading. +Dear diary, today was a bit stressful, I had some unexpected bills to pay and it put a strain on my finances. +Dear diary, today was a good day, I went for a run in the morning and felt energized for the rest of the day. +Dear diary, today was a bit boring, I just did some work around the house and didn't really leave the house much. +Dear diary, today was a bit hectic, I had to rush around to get everything done before a deadline. +Dear diary, today was a bit lonely, I didn't have any plans and spent most of the day by myself. +Dear diary, today was a bit better, I met up with a friend for lunch and had a good time catching up. +Dear diary, today was a pretty standard day - woke up, went to work, came home, made dinner, watched some TV, went to bed. +Dear diary, today was a bit frustrating, I had some technical issues with my computer at work and it slowed me down. +Dear diary, today was a bit more interesting, I attended a networking event and met some new people. +Dear diary, today was a bit stressful, I had some personal issues to deal with and it was weighing on me all day. +Dear diary, today was a bit of a relief, I finished a big project at work and felt accomplished. +Dear diary, today was a bit boring, I didn't have much going on and just ran some errands and did some chores. +Dear diary, today was a bit tiring, I had to wake up early for an appointment and it threw off my whole day. +Dear diary, today was a bit more social, I met up with some friends for dinner and drinks after work. +Dear diary, today was a bit exciting, I tried a new hobby and really enjoyed it. +Dear diary, today was a bit of a letdown, I had plans fall through and spent the day feeling disappointed. diff --git a/lib/resources/linelists/diary_evil b/lib/resources/linelists/diary_evil new file mode 100644 index 000000000..9906c2b6b --- /dev/null +++ b/lib/resources/linelists/diary_evil @@ -0,0 +1,85 @@ +Dear diary, Received payment for new equipment. Excited to put it to use soon. +Dear diary, Met with trainers today. Always good to keep my skills sharp. +Dear diary, Completed weapons training. Ready for whatever comes my way. +Dear diary, Received new cover identity and documentation. I'm ready to disappear into the shadows. +Dear diary, Transported supplies to target location. Everything is in place for the operation. +Dear diary, Completed reconnaissance of target location. Ready to make my move. +Dear diary, Executed successful mission. Time to celebrate. +Dear diary, Received bonus payment for a job well done. Can't wait for the next one. +Dear diary, Started preparing for the next operation. Gotta stay ahead of the game. +Dear diary, Obtained access to target's computer systems. Time to start gathering intel. +Dear diary, Planted false evidence to frame target. The perfect distraction. +Dear diary, Hacked into rival organization's server. They won't see it coming. +Dear diary, Falsified documentation to cover our tracks. Gotta stay one step ahead. +Dear diary, Received payment from shadowy benefactor. Who are they, and what do they want? +Dear diary, Debriefed with other operatives after successful operation. Celebrations were in order. +Dear diary, Destroyed all evidence of our involvement. No trace left behind. +Dear diary, Received a call from a potential new client. Time to start planning the next move. +Dear diary, Had a close call with law enforcement. Need to be more careful next time. +Dear diary, Met with our supplier for a shipment of weapons. The transaction went smoothly. +Dear diary, Infiltrated a rival organization's meeting. I learned some valuable intel. +Dear diary, Planted bugs in the target location. Now we can hear everything. +Dear diary, Our cover was almost blown, but we managed to talk our way out of it. +Dear diary, Received a mysterious package from an unknown sender. It contained some interesting leads. +Dear diary, Disguised myself as a delivery person to gain entry to the target location. It worked like a charm. +Dear diary, Created a fake ID for one of our operatives. Now they can blend in perfectly. +Dear diary, Paid off a corrupt official to turn a blind eye to our activities. It's amazing what money can buy. +Dear diary, Executed a diversionary tactic to throw off our pursuers. We lost them in the chaos. +Dear diary, Completed a successful assassination. It's a dirty job, but somebody's gotta do it. +Dear diary, Finally made contact with our inside man. He seems trustworthy and has access to valuable information. +Dear diary, Attended a black market auction to acquire rare and powerful artifacts for the ritual. It cost a fortune. +Dear diary, Successfully hacked into the target's database. We now have access to all their confidential information. +Dear diary, Secured a safe house for our team to use during the operation. It's well hidden and well stocked. +Dear diary, Performed a reconnaissance mission to gather information about the target's security measures. +Dear diary, Bribed a local gang to provide muscle and support during the operation. It's risky, but necessary. +Dear diary, Planted false evidence to frame a rival organization for our misdeeds. The perfect diversion. +Dear diary, Set up a fake business as a front for our operation. We're already receiving orders and making money. +Dear diary, Intercepted a rival organization's shipment of weapons. Now they're at a severe disadvantage. +Dear diary, Successfully carried out a sabotage mission. The target's operations will be crippled for months. +Dear diary, Infiltrated a high-security facility to steal critical information. It was nerve-wracking, but we succeeded. +Dear diary, Met with a wealthy donor who provided us with much needed funds for the operation. We may owe them a favor in the future. +Dear diary, Conducted a practice run of the ritual. The power we felt was both exhilarating and terrifying. +Dear diary, Recruited a skilled hacker to help us carry out the cyber attack. They seem eager to join our cause. +Dear diary, Disguised myself as a janitor to sneak into the target's building. I was able to plant a bug on their system undetected. +Dear diary, Eliminated a potential threat to our operation. It wasn't pretty, but it was necessary. +Dear diary, Set up false leads to throw off the authorities. Hopefully they won't be able to connect the dots. +Dear diary, Spent the day training with the team. We're all in peak physical condition and ready for action. +Dear diary, Completed the final preparations for the ritual. We have everything we need to summon Cthulhu and bring about the end of the world. +Dear diary, Celebrated the successful completion of the operation with my fellow operatives. We're already planning our next move. +Dear diary, Had a close call with the authorities today. Had to think on my feet and come up with a convincing cover story. +Dear diary, Made contact with a powerful ally who may be able to provide us with additional resources and support. +Dear diary, Received intel on our target's movements and schedule. It's time to strike. +Dear diary, Conducted a successful cyber attack on our target's servers. We now have access to all their sensitive information. +Dear diary, Made a risky move by posing as a journalist to interview our target. I was able to glean some valuable information from them. +Dear diary, Discovered a mole within our ranks. We'll need to be extra cautious from now on. +Dear diary, Arranged for transportation of our equipment and personnel to the target location. The clock is ticking. +Dear diary, Met with a powerful occultist who provided us with some ancient relics that will help with the ritual. +Dear diary, Carried out a successful hit on a key figure in our target's organization. It's one less obstacle in our way. +Dear diary, Completed the final steps of the ritual. I can feel Cthulhu's presence growing stronger with each passing moment. +Dear diary, One of our operatives was captured by the enemy. We need to find a way to rescue them before they spill everything. +Dear diary, Received payment for completing a successful mission. The money is good, but the feeling of power is even better. +Dear diary, Found a weakness in our target's security system. We can exploit it to gain access to their inner sanctum. +Dear diary, Met with a contact who has connections to the local police. We may be able to use them to our advantage. +Dear diary, Obtained a rare and powerful artifact that will be used in the final stage of the ritual. +Dear diary, Infiltrated our target's inner circle by posing as a potential investor. They have no idea what's coming. +Dear diary, Managed to intercept and decode some encrypted communications between our target and their allies. +Dear diary, Trained in hand-to-hand combat and firearms today. It's important to be ready for anything. +Dear diary, Planted some false information to mislead our target. They'll be chasing ghosts while we make our move. +Dear diary, Conducted a successful surveillance operation on our target. We now have eyes and ears on everything they do. +Dear diary, Received a new mission briefing today. Looks like we're going after a high-value target this time. +Dear diary, Had to eliminate a rival organization that was getting too close to our operation. It's a dirty business, but necessary. +Dear diary, The ritual is almost ready to begin. The sacrifices have been prepared and the artifacts are in place. +Dear diary, Obtained some sensitive information from a mole within our target's organization. It will be useful in our upcoming attack. +Dear diary, Went undercover as a janitor to gain access to our target's building. The things I do for this job... +Dear diary, Successfully planted a listening device in our target's boardroom. We'll be able to hear everything they say from now on. +Dear diary, One of our operatives went rogue and tried to sell our secrets to the highest bidder. We had to take care of them before they caused any damage. +Dear diary, Used our insider knowledge to manipulate the stock market in our favor. Money talks, and we're the ones with the most to say. +Dear diary, Things are getting tense as the operation nears its climax. I can feel the weight of the world on my shoulders. +Dear diary, Finally got the green light to begin the final phase of the operation. It's time to bring the hammer down. +Dear diary, things are getting dangerous. We had to abandon our safehouse and move to another location. +Dear diary, we discovered that one of our own was a double agent. We had to neutralize the threat and move again. +Dear diary, we're getting close to our target. The team is tense and ready for action. +Dear diary, we successfully infiltrated the target location. The security was tight, but we managed to get inside. +Dear diary, we planted the explosives and set the timer. The clock is ticking down. +Dear diary, we're on the run again. Our cover is blown, and the authorities are hot on our trail. +Dear diary, we received word that the operation was a success. Our objective was achieved, but at what cost? diff --git a/lib/resources/linelists/excuses_for_being_late b/lib/resources/linelists/excuses_for_being_late new file mode 100644 index 000000000..94dc652eb --- /dev/null +++ b/lib/resources/linelists/excuses_for_being_late @@ -0,0 +1,36 @@ +I was chased by a swarm of bees on my way to the office. +I accidentally put my pants on backwards and had to go home to change. +I got stuck in a traffic jam caused by a herd of goats blocking the road. +I tripped and fell while trying to catch a runaway chicken. +I was abducted by aliens and just got back. +I was trying to escape from a swarm of killer clowns. +I was tackled by a llama while jogging to work. +I was caught in a sudden rainstorm and had to take shelter under a tree. +I was chased by a swarm of killer bees and had to take a detour. +I was attacked by a swarm of mosquitoes and had to seek shelter. +I got stuck behind a group of ducks crossing the road. +My cat knocked over my alarm clock and it stopped working. +I had a dream that I was already at work, so I slept in thinking I'd already gone. +I got lost on the way to work because I was following the wrong GPS directions. +I had to wait for the bread to finish toasting because I wanted perfect toast for breakfast. +My neighbor's pet iguana got loose and I had to help catch it. +I accidentally locked myself out of the house and had to wait for the locksmith to arrive. +My car wouldn't start because a family of squirrels chewed through the wires. +I was attacked by a seagull on my way to work and had to stop for first aid. +I got lost in my own neighborhood because I was daydreaming. +I accidentally put salt in my coffee instead of sugar and had to make a new cup. +My dog ran away and I had to chase him down before I could leave. +I accidentally fell asleep on the train and missed my stop. +I had to stop to help a group of tourists with directions and lost track of time. +I accidentally spilled coffee on my shirt and had to go back home to change. +I had a nightmare and it took me a while to calm down and shake it off. +I got stuck behind a tractor on the way to work and couldn't pass. +I couldn't find my phone this morning and it took me a while to locate it. +I accidentally left my keys in my car and had to wait for a locksmith to come unlock it. +I got caught up watching a funny cat video and lost track of time. +I had to stop to help an elderly person cross the street. +My computer crashed this morning and I had to spend extra time fixing it. +My neighbor's rooster got loose and woke me up early, so I overslept. +I got stuck in a group text message conversation and couldn't get out. +I accidentally took the wrong bus and had to backtrack to get to work. +I had a run-in with a particularly stubborn zipper this morning and it set me back. diff --git a/lib/resources/linelists/life_goals b/lib/resources/linelists/life_goals new file mode 100644 index 000000000..97d2afecc --- /dev/null +++ b/lib/resources/linelists/life_goals @@ -0,0 +1,60 @@ +Travel to every continent in the world +Learn a new language fluently +Run a marathon +Write a book +Learn to play guitar +Learn to play drums +Learn to play piano +Start a successful business +Learn to code in C +Learn to code in C++ +Learn to code in Rust +Learn to code in Python +Learn to code in Ruby +Get a degree or advanced certification +Master cooking +Master woodworking +Pay off all my debt +Volunteer regularly for a cause I care about +Build a house from scratch +Make a positive impact on my community +Learn to paint or draw +Get in the best shape of my life +Run a successful blog +Run a successful podcast +Go on a solo adventure +Start a family +Teach others a valuable skill or trade +Be an advocate for a marginalized group +Save for my retirement +Buy a car +Buy a house +Become an expert in my field +Make a difference in the lives of others +Learn to meditate or practice mindfulness +Pursue a passion project: photography +Pursue a passion project: writing +Take a leadership role in a community organization +Inspire others to make positive changes +Improve my mental health and well-being +Achieve a work-life balance that makes me happy and fulfilled +Learn to dance +Start a charity or nonprofit organization +Help build a school or community center in a developing country +Get involved in politics and make a change in my community or country +Learn to scuba dive or skydive +Take a year off to travel the world +Create a successful artistic or creative project +Attend a major sporting event, like the Olympics or World Cup +Learn to cook a gourmet meal +Help preserve an endangered species or natural environment +Start a side hustle or freelance business +Write a movie or television show script +Learn to program or develop software +Climb a mountain or go on a challenging outdoor adventure +Invest in the stock market +Invest in the real estate +Build a strong network of friends and colleagues +Learn to play a new sport or take up a new hobby +Start a savings plan +Create a legacy that will be remembered for years to come diff --git a/lib/resources/linelists/life_goals_evil b/lib/resources/linelists/life_goals_evil new file mode 100644 index 000000000..bd2247af2 --- /dev/null +++ b/lib/resources/linelists/life_goals_evil @@ -0,0 +1,54 @@ +Amass enough wealth and power to control the world and rule as a ruthless dictator. +Develop a deadly virus that can wipe out the majority of the human population and use it as a means of blackmail. +Genetically engineer a race of superhumans and use them to enslave humanity. +Create an army of robots with artificial intelligence and use them to overthrow governments and establish a new world order. +Become immortal by finding the secret to eternal life and eliminating anyone who stands in the way. +Hack into the world's computer systems and take control of all information, using it to manipulate people and governments for personal gain. +Use mind control technology to create an army of brainwashed followers and use them to carry out evil acts. +Build a giant machine that can control the weather and use it to wreak havoc on the world. +Destroy the environment and leave the planet uninhabitable for future generations. +Use advanced technology to travel back in time and alter history to suit their own twisted desires. +Establish a global monopoly on the world's most valuable natural resources, using them to extort and control governments and individuals. +Create an army of genetically modified animals and use them to terrorize and dominate entire cities. +Use mind-altering drugs to create a world of obedient and submissive individuals, who will do anything to serve their evil master. +Build a massive network of surveillance drones and use them to monitor and control every aspect of society. +Engineer a race of cyborg soldiers and use them to wage endless wars of conquest and domination. +Create a powerful underground criminal empire, controlling everything from drug trafficking to human trafficking. +Develop a weapon capable of triggering massive earthquakes and use it to destroy entire cities and nations. +Build a massive, impenetrable fortress and declare oneself as the supreme leader of the world, ruling with an iron fist. +Use advanced genetic engineering techniques to create a virus that can selectively target and eliminate certain ethnic groups or social classes. +Create a cult of personality, amassing a massive following of loyal devotees who will do anything to serve their master's dark desires. +Use mind-altering technology to create an army of sleeper agents, who will infiltrate and destroy key institutions from within. +Develop a powerful artificial intelligence and use it to manipulate world events and eliminate any potential threats. +Create a series of natural disasters and use them to cause chaos and destruction on a global scale. +Engineer a virus that can turn humans into mindless, zombie-like creatures, and use them as an army to wage war on the living. +Use advanced biotechnology to create a new species of sentient beings, and use them as a means of enslaving and dominating humanity. +Bribe government officials to get preferential treatment for a business, eventually leading to a monopoly on a particular industry. +Embezzle millions of dollars from a large corporation and use the money to establish a criminal empire. +Use insider information to manipulate the stock market and make huge profits at the expense of others. +Blackmail influential people in positions of power to gain control of key industries and political systems. +Launder money for criminal organizations and use the profits to fund my lavish lifestyle. +Hack into corporate databases and steal confidential information to sell to competitors. +Use political influence to secure government contracts for businesses owned by friends and family. +Rig elections through voter suppression, fraud, and intimidation to ensure a desired outcome. +Sell weapons and technology to terrorist organizations, using the profits to fund personal endeavors. +Use my position of power to exploit and abuse vulnerable individuals. +Forge official documents and credentials to gain access to restricted areas and sensitive information. +Falsify scientific research results to get lucrative grants or patents, leading to dangerous consequences for the public. +Use social engineering tactics to manipulate and exploit people for personal gain, such as pretending to be a charity and pocketing donations. +Take advantage of tax loopholes and offshore accounts to avoid paying taxes and amass wealth illegally. +Use my position of power to extort and intimidate subordinates or colleagues. +Set up a Ponzi scheme and defraud investors out of millions of dollars. +Engage in human trafficking and forced labor, exploiting vulnerable individuals for profit. +Engage in insider trading, using privileged information to make profits in the stock market. +Use illegal drugs and performance-enhancing substances to gain an unfair advantage in sports or other competitions. +Use my power and influence to cover up criminal activity or wrongdoing, protecting myself and others at the expense of justice and the rule of law. +Create a shell company to funnel money and assets from legitimate businesses into illegal activities, including drug trafficking or money laundering. +Use one's position of authority to falsify evidence and secure convictions of innocent individuals for personal gain or political motives. +Use blackmail or coercion to force people to engage in illegal activities, such as smuggling or sabotage. +Bribe journalists to influence media coverage or to suppress unfavorable news stories. +Set up fake charities or foundations to raise money for personal use, while claiming to support a noble cause. +Establish a pyramid scheme or multi-level marketing scam, convincing people to invest in a scheme that is doomed to fail. +Set up a fake online business or investment opportunity, luring unsuspecting victims into giving away their money or personal information. +Bribe or threaten election officials to manipulate vote counts or election results. +Engage in illegal hunting or poaching, selling animal parts for profit on the black market. diff --git a/lib/resources/linelists/operatives_evil b/lib/resources/linelists/operatives_evil new file mode 100644 index 000000000..03047558f --- /dev/null +++ b/lib/resources/linelists/operatives_evil @@ -0,0 +1,36 @@ +- "The Ghost": A former military officer with expertise in covert operations and special forces tactics. A master of stealth and deception, he moves through the shadows unseen. He has successfully carried out numerous assassination plots, sabotaged enemy military operations in the Middle East, and infiltrated secure locations to gather intelligence for the Organization. +- "The Snake": A master of disguise and deception, with a talent for infiltration and manipulation. Able to slither into even the most secure locations and strike without warning. He has successfully deceived and manipulated his way into the inner circles of powerful individuals, gathering valuable secrets and information that have helped further the goals of the Syndicate. +- "The Siren": A former intelligence officer with expertise in psychological warfare and propaganda. Able to mesmerize and manipulate with her words and her charms. She has successfully spread propaganda and misinformation to shape public opinion and influence key decisions in the government of South Sudan. +- "The Bombardier": A specialist in physical sabotage and explosive devices. His handiwork has caused havoc and devastation across the globe. He has successfully destroyed key infrastructure, disrupted military operations in North Korea, and created chaos and confusion with his attacks. +- "The Banker": A former financial analyst with expertise in economic sabotage and financial manipulation. Able to bring entire economies to their knees with a few well-timed moves. He has successfully caused financial losses for our enemies, manipulated markets to our advantage, and brought about the collapse of the entire financial system of the country of Aruba. +- "The Falcon": A skilled pilot and aerial warfare specialist, with expertise in air-to-air and air-to-ground combat. Known for his sharp eyes and precision strikes. He has successfully carried out numerous bombing missions, destroyed enemy aircraft, and gathered intelligence through aerial reconnaissance. +- "The Viper": A former special forces soldier with expertise in close-quarters combat and +- "The Jaguar": A master of disguise and infiltration, with a talent for stealing valuable artifacts and information. Able to slip into even the most secure locations and escape undetected. She has successfully stolen priceless artifacts from museums and private collections, and gathered valuable intelligence for the Organization. +- "The Kraken": A specialist in underwater sabotage and demolition. His handiwork has caused havoc and destruction in the oceans of the world. He has successfully destroyed enemy ships and submarines, disrupted naval operations, and created chaos and confusion with his attacks. +- "The Ice Queen": A former intelligence officer with expertise in psychological warfare and propaganda. Able to freeze her enemies with a cold and calculating gaze, and manipulate them with her words. She has successfully spread propaganda and misinformation to shape public opinion and influence key decisions. +- "The Demon": A former special forces soldier with expertise in close-quarters combat and psychological warfare. Known for his frightening appearance and intimidating presence. He has successfully carried out numerous assassination plots, sabotaged enemy operations, and gathered intelligence through covert infiltration. +- "The Black Widow": A skilled hacker and cyber espionage specialist, with expertise in malware development and network infiltration. Known for her deadly precision and ruthless efficiency. Among her achievements, she has successfully stolen valuable secrets from rival organizations, caused major financial losses through cyber attacks on the Easton Industries corporation, and disrupted the operations of the government of Burkina Faso. +- "The Phantom": A skilled hacker and cyber espionage specialist, with expertise in network infiltration and data theft. Known for his ability to disappear without a trace, leaving his enemies wondering how he pulled off the attack. Among his achievements, he has successfully stolen valuable secrets and sensitive data from rival organizations, caused major financial losses through cyber attacks on the Easton Industries corporation, and disrupted the operations of the government of Burkina Faso. +- "The Juggernaut": A specialist in cyber warfare and large-scale attacks. Known for his brute force and relentless approach, he is able to bring down entire networks with a single blow. He has successfully carried out numerous cyber attacks on enemy organizations, causing significant damage and disruption to their operations. +- "The Spinner": A master of social engineering and phishing attacks. Able to manipulate and deceive his targets into giving up valuable information and access to their systems. He has successfully tricked his way into the networks of powerful organizations and individuals, gathering valuable intelligence and causing significant damage. +- "The Honeypot": A specialist in setting up and maintaining fake online personas and honeypots to lure in and trap unsuspecting victims. She has successfully gathered valuable intelligence and caused significant damage to enemy organizations through her deceptions. +- "The Decrypter": A master of cryptography and code-breaking, with a talent for cracking even the most secure systems and decrypting encrypted data. He has successfully decrypted numerous enemy communications and gathered valuable intelligence for the Organization. +- "The Firewall": A specialist in network security and firewalls, with expertise in setting up and maintaining secure systems and networks. Known for her ability to block and deflect even the most sophisticated attacks. She has successfully protected the networks of the Organization from numerous enemy attacks and infiltration attempts. +- "The ROP Master": A skilled hacker and cyber espionage specialist, with expertise in ROP (Return Oriented Programming) chains and exploiting vulnerabilities in software. Known for his ability to craft complex and sophisticated ROP chains to infiltrate and compromise systems. Among his achievements, he has successfully stolen valuable secrets and sensitive data from rival organizations, caused major financial losses through cyber attacks on the Easton Industries corporation, and disrupted the operations of the government of Burkina Faso. +- "The Reverser": A specialist in binary reverse engineering and code analysis, with a talent for discovering vulnerabilities and weaknesses in software. Known for his ability to reverse engineer even the most complex and heavily obfuscated code. He has successfully discovered and exploited numerous vulnerabilities in enemy systems, causing significant damage and disruption to their operations. +- "The SQL Injector": A master of web attacks, with expertise in SQL injection (SQLi) and other techniques for compromising web-based systems. Able to infiltrate and compromise even the most secure web servers and databases. He has successfully stolen valuable data and caused significant damage to enemy web-based systems through his attacks. +- "The Webmaster": A specialist in web security and defense, with expertise in setting up and maintaining secure web systems and networks. Known for his ability to block and deflect even the most sophisticated web attacks. He has successfully protected the web-based systems of the Organization from numerous enemy attacks and infiltration attempts. +- "The Phisher": A master of social engineering and phishing attacks. Able to manipulate and deceive his targets into giving up valuable information and access to their systems. He has successfully tricked his way into the networks of powerful organizations and individuals, gathering valuable intelligence and causing significant damage through his phishing attacks. +- "The Cipher": A specialist in cryptography and secure communication, with expertise in setting up and maintaining secure communication channels and encrypting data. Known for his ability to keep the Organization's communications and data secure from enemy interception and attack. +- "The Social Media Maven": A specialist in propaganda and social media manipulation, with expertise in using social media platforms to spread misinformation and shape public opinion. Known for her ability to craft viral campaigns and manipulate public discourse. She has successfully spread propaganda and misinformation to influence key decisions and shape public opinion in favor of the Organization. +- "The Machine Learning Guru": A master of machine learning and artificial intelligence, with expertise in using these technologies to manipulate and control individuals and groups. Known for his ability to develop and deploy sophisticated AI algorithms to sway public opinion and control the actions of his targets. He has successfully used AI to manipulate public opinion and control the actions of key individuals, furthering the goals of the Organization. +- "The Brainwasher": A specialist in psychological warfare and mind control, with expertise in using hypnosis and other techniques to manipulate the thoughts and actions of his targets. Known for his ability to bend the wills of others to his own. He has successfully used hypnosis and other mind control techniques to manipulate the thoughts and actions of key individuals, furthering the goals of the Organization. +- "The Disinformationist": A master of propaganda and deception, with expertise in spreading false information and creating confusion. Able to manipulate and deceive his targets into believing his lies. He has successfully spread false information and created confusion to manipulate public opinion and shape key decisions in favor of the Organization. +- "The Persuader": A specialist in propaganda and persuasion, with expertise in using language and communication techniques to sway public opinion and influence key decisions. Known for his ability to craft compelling arguments and convince even the most skeptical of listeners. He has successfully used propaganda and persuasion to influence key decisions and shape public opinion in favor of the Organization. +- "The Propagandist": A master of propaganda and media manipulation, with expertise in using the media to spread misinformation and shape public opinion. Able to control the narrative and shape the way the public perceives events. He has successfully used propaganda and media manipulation to influence key decisions and shape public opinion in favor of the Organization. +- "The Con Artist": A master of deception and persuasion, with expertise in using social engineering techniques to manipulate and deceive his targets. Known for his ability to craft convincing stories and trick his way into the most secure of locations. He has successfully stolen valuable secrets and sensitive data through his social engineering tactics, and caused significant damage to enemy operations. +- "The Impersonator": A specialist in impersonation and disguise, with expertise in assuming false identities and slipping past security undetected. Known for his ability to convincingly portray a wide range of characters and personalities. He has successfully infiltrated enemy organizations and gathered valuable intelligence through his impersonation skills. +- "The Charmer": A master of persuasion and influence, with expertise in using social engineering techniques to sway the thoughts and actions of his targets. Able to win over even the most skeptical and resistant of individuals. He has successfully convinced key individuals to divulge valuable information and take actions that furthered the goals of the Organization. +- "The Psychologist": A specialist in psychological warfare and manipulation, with expertise in using psychology and social engineering techniques to control the thoughts and actions of his targets. Known for his ability to understand and exploit the weaknesses and vulnerabilities of his targets. He has successfully used psychological manipulation to influence key decisions and shape public opinion in favor of the Organization. +- "The Socialite": A master of networking and social engineering, with expertise in using social connections and relationships to gather intelligence and manipulate his targets. Able to blend seamlessly into any social group and gather valuable information and access through his charm and charisma. He has successfully gathered valuable intelligence and caused significant damage to enemy operations through his social engineering tactics. +- "The Actor": A specialist in impersonation and acting, with expertise in assuming false identities and convincing others of his assumed persona. Known for his ability to convincingly portray a wide range of characters and personalities. He has successfully infiltrated enemy organizations and gathered valuable intelligence through his acting skills. diff --git a/lib/resources/linelists/powned_messages b/lib/resources/linelists/powned_messages index 336abcf60..bd4865ba6 100644 --- a/lib/resources/linelists/powned_messages +++ b/lib/resources/linelists/powned_messages @@ -5,3 +5,23 @@ Mess with the best, die like the rest. Hack the planet! When I was a child, I spake as a child, I understood as a child, I thought as a child: but when I became a man, I put away childish things Your server is powned! +You've been hacked. Better luck next time. +This server now belongs to us. Thanks for the data! +We were here. Your security was no match for us. +You thought you were safe? Think again. +Congratulations, you've been pwned! +We hope you learned your lesson. Your security was weak. +Nice try, but we still got in. +This is just the beginning. Expect more attacks in the future. +Thanks for the files. We'll be sure to put them to good use. +Your data is now our data. Enjoy the rest of your day. +Your security measures were like a house of cards. Easy to knock down. +We've been watching you. You were vulnerable, and we took advantage. +Sorry for the inconvenience, but we needed your data more than you did. +Your system was no match for our skills. Keep trying though. +We're just getting started. Stay tuned for more. +Your lack of security is not our problem. It's yours. +Thanks for making it easy for us. We appreciate the cooperation. +You should have listened to your IT department. They warned you. +We love a good challenge. Your server was not one of them. +Don't worry, we won't hurt your data. We'll just take it for a spin. diff --git a/lib/resources/linelists/secrets b/lib/resources/linelists/secrets index c9c1ff6bb..09dce54d9 100644 --- a/lib/resources/linelists/secrets +++ b/lib/resources/linelists/secrets @@ -21,3 +21,12 @@ I have my earphones on with no music so I can listen to other people's conversat I like to make unexpected turns when driving just so I can hear the soothing voice of my GPS say "recalculating". Sometimes when I'm cooking I talk out loud to a fake camera and pretend that I have my own cooking show. When I don't like someone, I make an avatar of them on the Sims and make them live a hard life. +I alphabetize my spice rack and my bookshelf, and get really annoyed when someone messes it up. +I can't step on cracks in the sidewalk. I'll go out of my way to avoid them, even if it means taking a longer route. +I talk to myself in different accents depending on my mood. Sometimes I'll even have full conversations with myself in a British accent or a Southern drawl. +I have to check the expiration date on every single thing in my fridge and pantry before I eat it, even if I just bought it yesterday. +I have a specific order that I have to wash my body in the shower - left arm, right arm, left leg, right leg, torso, face. If I deviate from that order, I feel really uncomfortable. +I can't eat anything that's touching on my plate. I have to eat each item one at a time and make sure they don't touch. +I always make sure to have an even number of ice cubes in my drinks. +I check my appearance in every reflective surface I pass, including windows and mirrors. +I have a fascination with popping pimples and will spend way too much time in front of the mirror doing it. diff --git a/lib/resources/linelists/server_greetings b/lib/resources/linelists/server_greetings index c7de32833..aff88c761 100644 --- a/lib/resources/linelists/server_greetings +++ b/lib/resources/linelists/server_greetings @@ -3,3 +3,12 @@ Greetings! Welcome to the server. G-day mate! Welcome back Hello, world! +Welcome to our server, we hope you enjoy your stay! +Thanks for joining our server, we appreciate your presence! +Good day and welcome to our community, have fun! +We're glad to have you on our server, thanks for joining us! +Welcome to our world, we hope you have a great time! +Thanks for stopping by, enjoy your time on our server! +Welcome to our little corner of the internet, we hope you enjoy it! +You're now part of our community, welcome aboard! +Hi there, thanks for joining us, we hope you enjoy your stay! diff --git a/lib/resources/linelists/transaction_history_evil b/lib/resources/linelists/transaction_history_evil new file mode 100644 index 000000000..4eeba63b4 --- /dev/null +++ b/lib/resources/linelists/transaction_history_evil @@ -0,0 +1,28 @@ +01/01/2024 | Payment for acquisition of specialized equipment | $100,000 +02/15/2024 | Payment for training of operatives | $50,000 +04/01/2024 | Payment for cover identities and documentation | $20,000 +05/15/2024 | Payment for transportation and logistics | $30,000 +07/01/2024 | Payment for intelligence gathering and analysis | $40,000 +08/15/2024 | Payment for execution of operation | $100,000 +10/01/2024 | Bonus payments to operatives for successful completion of Operation | $50,000 +01/01/2024 | Payment for acquisition of specialized hacking equipment | $150,000 +02/15/2024 | Payment for training of operatives in advanced infiltration techniques | $75,000 +04/01/2024 | Payment for cover identities and falsified documents for operatives | $30,000 +05/15/2024 | Payment for transportation of operatives and equipment | $50,000 +07/01/2024 | Payment for intelligence gathering and analysis of target company | $60,000 +08/15/2024 | Payment for execution of the Operation, including payment to insiders within the target company | $200,000 +10/01/2024 | Bonus payments to operatives for work on Operation | $100,000 +01/15/2025 | Payment for acquisition of a server farm to host a botnet | $250,000 +03/01/2025 | Payment for hiring additional operatives to expand the botnet | $100,000 +04/15/2025 | Payment for development and implementation of a custom malware to infect target systems | $150,000 +06/01/2025 | Payment for acquisition of a zero-day vulnerability in the target's software | $75,000 +07/15/2025 | Payment for purchase of counterfeit access cards for physical entry into target's facilities | $25,000 +08/01/2025 | Payment for acquisition of sensitive data from target's servers | $500,000 +09/15/2025 | Payment for disposal of evidence and destruction of server farm | $50,000 +01/01/2026 | Payment for hiring of hackers to breach target's financial accounts | $200,000 +03/15/2026 | Payment for development of false identities and shell companies for laundering money | $100,000 +05/01/2026 | Payment for acquisition of remote servers to store stolen financial data | $50,000 +07/15/2026 | Payment for ransomware to be deployed on target's servers | $150,000 +08/01/2026 | Payment for negotiation with target's management for release of encrypted data | $250,000 +09/15/2026 | Payment for data decryption and return to target | $300,000 +11/01/2026 | Payment for bonus to operatives involved in successful attack | $75,000 diff --git a/lib/resources/narrative/evidence/OperationBlackout b/lib/resources/narrative/evidence/OperationBlackout new file mode 100644 index 000000000..c8dcb5480 --- /dev/null +++ b/lib/resources/narrative/evidence/OperationBlackout @@ -0,0 +1,15 @@ +Operation: Blackout + +Objective: To bring about the collapse of society, by sabotaging the world's energy infrastructure and causing widespread blackouts. + +Phase 1: Gather resources and build a team of skilled operatives. + +Phase 2: Identify key targets and develop plans to sabotage them, using a combination of cyber attacks and physical sabotage. + +Phase 3: Execute the attacks, causing widespread blackouts and disruption to the energy supply. + +Phase 4: Take advantage of the chaos and confusion that follows, to seize control and impose our own order on the surviving population. + +We will not rest until our goal is achieved, and the world is plunged into darkness and despair. + +The darkness is coming. Nothing can stop it. diff --git a/lib/resources/narrative/evidence/OperationBrainwash b/lib/resources/narrative/evidence/OperationBrainwash new file mode 100644 index 000000000..55a8708cd --- /dev/null +++ b/lib/resources/narrative/evidence/OperationBrainwash @@ -0,0 +1,17 @@ +Operation: Brainwash + +Objective: To take control of the minds of the population, and bend them to our will. + +Phase 1: Gather resources and build a team of skilled operatives. + +Phase 2: Develop and implement a series of covert operations to infiltrate the media, education, and other institutions that shape public opinion. + +Phase 3: Use propaganda and other means of communication to manipulate the minds of the population, and shape their thoughts and beliefs to serve our interests. + +Phase 4: Take control of the minds of key decision-makers and opinion leaders, to further advance our agenda. + +Phase 5: Use our control of the population's thoughts and beliefs to shape the course of events and achieve our ultimate goals. + +We will not rest until the minds of the world are under our control. + +The power of the mind is limitless. We will use it to achieve our ultimate victory. diff --git a/lib/resources/narrative/evidence/OperationCthulhuRising b/lib/resources/narrative/evidence/OperationCthulhuRising new file mode 100644 index 000000000..68e60e07c --- /dev/null +++ b/lib/resources/narrative/evidence/OperationCthulhuRising @@ -0,0 +1,39 @@ +Operation: Cthulhu Rising + +Phase 1: Gather intelligence and resources + +Our first step in summoning Cthulhu is to gather the necessary intelligence and resources. This includes: + +- Identifying and acquiring ancient artifacts that are necessary for the summoning ritual. +- Researching and studying ancient texts and knowledge that will be required to perform the ritual. +- Gathering information on the locations of these artifacts and texts, and developing a plan to acquire them. + +Phase 2: Launch cybersecurity attacks + +Once we have identified the targets that hold the artifacts and texts we need, we will launch a series of coordinated cybersecurity attacks to gain access to these resources. + +Our attacks will focus on: + +- Exploiting vulnerabilities in the target's networks and systems. +- Stealing login credentials and other sensitive information. +- Planting malware and other tools to maintain access and control over the target's systems. + +Phase 3: Perform the summoning ritual + +With all of the necessary resources and access in place, we will be ready to perform the summoning ritual. This will involve: + +- Traveling to the location of the altar, which we have prepared in advance. +- Assembling the team of operatives who will perform the ritual. +- Performing the ancient rites and incantations that are required to summon Cthulhu. + +Phase 4: Rule the world + +Once Cthulhu has been summoned, we will have achieved our ultimate goal: the end of the world as we know it, and the beginning of a new age ruled by us and our god. + +We will use our control over Cthulhu to eliminate all opposition and cement our rule over the new world order. + +The world had better watch out. We are coming for them. + +Sincerely, +[Name] +[Title] diff --git a/lib/resources/narrative/evidence/OperationCyberApocalypse b/lib/resources/narrative/evidence/OperationCyberApocalypse new file mode 100644 index 000000000..948daa221 --- /dev/null +++ b/lib/resources/narrative/evidence/OperationCyberApocalypse @@ -0,0 +1,17 @@ +Operation: Cyber Apocalypse + +Objective: To bring about the end of the world as we know it, through the use of advanced cyber attacks and other high-tech weaponry. + +Phase 1: Gather resources and build a team of skilled operatives. + +Phase 2: Develop and test new cyber attack tools and other advanced technologies. + +Phase 3: Launch coordinated attacks on key targets, such as government networks, critical infrastructure, and military assets. + +Phase 4: Use propaganda and other means of communication to sow fear and chaos, and undermine trust in the government and other institutions. + +Phase 5: Take advantage of the chaos and confusion that follows, to seize control and impose our own order on the surviving population. + +We will not rest until our goal is achieved, and the world is plunged into darkness and despair. + +The end is near. The cyber apocalypse is upon us. diff --git a/lib/resources/narrative/evidence/OperationGenesis b/lib/resources/narrative/evidence/OperationGenesis new file mode 100644 index 000000000..5c1284ec9 --- /dev/null +++ b/lib/resources/narrative/evidence/OperationGenesis @@ -0,0 +1,17 @@ +Operation: Genesis + +Objective: To bring about the end of the world as we know it, and start anew with a clean slate. + +Phase 1: Gather resources and build a team of skilled operatives. + +Phase 2: Identify key targets, including infrastructure, military assets, and government facilities. + +Phase 3: Develop and implement a series of coordinated attacks on these targets, causing widespread destruction and chaos. + +Phase 4: Take advantage of the chaos and confusion that follows, to seize control and impose our own order on the surviving population. + +Phase 5: Use this opportunity to rebuild the world according to our own vision and values, creating a new society that is stronger and more advanced than the one that came before. + +We will not rest until our goal is achieved, and the world is reborn in our image. + +The end is just the beginning. The future is ours to shape. diff --git a/lib/resources/narrative/evidence/OperationJudgmentDay b/lib/resources/narrative/evidence/OperationJudgmentDay new file mode 100644 index 000000000..ddeb503ed --- /dev/null +++ b/lib/resources/narrative/evidence/OperationJudgmentDay @@ -0,0 +1,17 @@ +Operation: Judgment Day + +Objective: To bring about the end of the world, as a way of purging the earth of its corrupt and unworthy inhabitants. + +Phase 1: Gather resources and build a team of skilled operatives. + +Phase 2: Develop and implement a series of coordinated attacks on key targets, such as population centers, infrastructure, and military assets. + +Phase 3: Use propaganda and other means of communication to sow fear and chaos, and undermine trust in the government and other institutions. + +Phase 4: Take advantage of the chaos and confusion that follows, to seize control and impose our own order on the surviving population. + +Phase 5: Use this opportunity to rebuild the world according to our own vision and values, creating a new society that is purer and more righteous than the one that came before. + +We will not rest until our goal is achieved, and the world is cleansed of its sins. + +Judgment Day is at hand. The end is near. diff --git a/lib/resources/narrative/evidence/OperationNightfall b/lib/resources/narrative/evidence/OperationNightfall new file mode 100644 index 000000000..a7b04118b --- /dev/null +++ b/lib/resources/narrative/evidence/OperationNightfall @@ -0,0 +1,17 @@ +Operation: Nightfall + +Objective: To bring about the end of the world as we know it, through the use of advanced technology and covert operations. + +Phase 1: Gather resources and build a team of skilled operatives. + +Phase 2: Develop and implement a series of covert operations to infiltrate key targets, such as government networks and critical infrastructure. + +Phase 3: Use propaganda and other means of communication to sow fear and chaos, and undermine trust in the government and other institutions. + +Phase 4: Take advantage of the chaos and confusion that follows, to seize control and impose our own order on the surviving population. + +Phase 5: Use this opportunity to rebuild the world according to our own vision and values, creating a new society that is stronger and more advanced than the one that came before. + +We will not rest until our goal is achieved, and the world is plunged into darkness and despair. + +The end is near. The night is falling. diff --git a/lib/resources/narrative/evidence/OperationOmegaProtocol b/lib/resources/narrative/evidence/OperationOmegaProtocol new file mode 100644 index 000000000..b6a6f8a89 --- /dev/null +++ b/lib/resources/narrative/evidence/OperationOmegaProtocol @@ -0,0 +1,15 @@ +Operation: Omega Protocol + +Objective: To trigger the collapse of civilization, and bring about the end of the world as we know it. + +Phase 1: Gather resources and build a network of allies and operatives. + +Phase 2: Develop and implement a series of coordinated attacks on key targets, such as financial institutions, infrastructure, and military assets. + +Phase 3: Use propaganda and other means of communication to sow fear and chaos, and undermine trust in the government and other institutions. + +Phase 4: Take advantage of the chaos and confusion that follows, to seize control and impose our own order on the surviving population. + +We will not rest until our goal is achieved, and the world is plunged into darkness and despair. + +The end is near. Let the apocalypse begin. diff --git a/lib/resources/narrative/evidence/OperationProjectArmageddon b/lib/resources/narrative/evidence/OperationProjectArmageddon new file mode 100644 index 000000000..54d844926 --- /dev/null +++ b/lib/resources/narrative/evidence/OperationProjectArmageddon @@ -0,0 +1,17 @@ +Operation: Project Armageddon + +Objective: To bring about the end of the world as we know it, through the use of advanced technology and cyber warfare. + +Phase 1: Gather resources and build a team of skilled operatives. + +Phase 2: Develop and test new weapons and technologies, including malware and other cyber attack tools. + +Phase 3: Gain access to strategic targets, such as government networks and critical infrastructure, and infiltrate their systems. + +Phase 4: Launch coordinated attacks on these targets, causing widespread damage and chaos. + +Phase 5: Take advantage of the confusion and unrest that follows, to seize control and impose our will on the surviving population. + +We will not rest until our goal is achieved, and the world is ours to rule. + +Victory is within our grasp. Let the end of the world begin. diff --git a/lib/resources/narrative/evidence/OperationShadowGames b/lib/resources/narrative/evidence/OperationShadowGames new file mode 100644 index 000000000..dd80606ac --- /dev/null +++ b/lib/resources/narrative/evidence/OperationShadowGames @@ -0,0 +1,15 @@ +Operation: Shadow Games + +Objective: To manipulate world events and shape the course of history, through the use of covert operations and cunning strategy. + +Phase 1: Gather intelligence on key players and decision-makers, to identify vulnerabilities and opportunities. + +Phase 2: Develop and implement covert operations to influence the outcome of key events, such as elections, negotiations, and conflicts. + +Phase 3: Use propaganda and other means of communication to shape public opinion and manipulate public perceptions. + +Phase 4: Work behind the scenes to pull the strings and control the direction of world events, advancing our own agenda and achieving our ultimate goals. + +We will not be held back by the constraints of morality or ethics. We will stop at nothing to achieve our objectives, and bend the world to our will. + +The shadows are our domain, and we will use them to our advantage. diff --git a/lib/resources/narrative/evidence/OperationSilentWar b/lib/resources/narrative/evidence/OperationSilentWar new file mode 100644 index 000000000..1fdfbb098 --- /dev/null +++ b/lib/resources/narrative/evidence/OperationSilentWar @@ -0,0 +1,15 @@ +Operation: Silent War + +Objective: To wage a covert war against our enemies, using a combination of cyber attacks and other covert operations to undermine their power and advance our own interests. + +Phase 1: Gather intelligence on our enemies, to identify vulnerabilities and opportunities. + +Phase 2: Develop and implement a series of covert operations to disrupt their operations and undermine their power. + +Phase 3: Use propaganda and other means of communication to shape public opinion and manipulate perceptions of our enemies. + +Phase 4: Work behind the scenes to pull the strings and influence key events and decisions, advancing our own agenda and achieving our ultimate goals. + +We will not be held back by the constraints of morality or ethics. We will stop at nothing to achieve our objectives, and emerge victorious in the silent war. + +The shadows are our ally. We will use them to our advantage. diff --git a/lib/resources/narrative/evidence/OperationWorldDomination b/lib/resources/narrative/evidence/OperationWorldDomination new file mode 100644 index 000000000..653ecd39e --- /dev/null +++ b/lib/resources/narrative/evidence/OperationWorldDomination @@ -0,0 +1,15 @@ +Operation: World Domination + +Objective: To conquer the world and bring all nations under our control, using a combination of military might and advanced technology. + +Phase 1: Gather resources and build a powerful army and navy. + +Phase 2: Develop and test new weapons and technologies, including cyber attack tools and advanced military hardware. + +Phase 3: Launch a series of coordinated attacks on key targets, to weaken the defenses of our enemies and seize strategic positions. + +Phase 4: Use our superior military power to conquer one nation after another, until the entire world is under our control. + +We will not rest until our goal is achieved, and the world bows before us. + +Dominion is ours. The world will tremble at our feet. diff --git a/lib/resources/structured_content/organisations/cleaning.json b/lib/resources/structured_content/organisations/cleaning.json new file mode 100644 index 000000000..044043f1b --- /dev/null +++ b/lib/resources/structured_content/organisations/cleaning.json @@ -0,0 +1,49 @@ +{ + "business_name":"Sparkling Cleaning Services", + "business_motto":"We clean it all, big or small", + "business_address":"28 Park Avenue, Glasgow G1 1AB", + "domain":"sparklingcleaningservices.co.uk", + "office_telephone":"+44 141 555 1234", + "office_email":"info@sparklingcleaningservices.co.uk", + "industry":"Cleaning Services", + "manager":{ + "name":"Karen Robertson", + "address":"28 Park Avenue, Glasgow G1 1AB", + "phone_number":"+44 141 555 1234 ext 100", + "email_address":"k.robertson@sparklingcleaningservices.co.uk", + "username":"robertson_k", + "password":"" + }, + "employees":[ + { + "name":"Liam Campbell", + "address":"Office A, 28 Park Avenue, Glasgow G1 1AB", + "phone_number":"+44 141 555 1234 ext 101", + "email_address":"l.campbell@sparklingcleaningservices.co.uk", + "username":"campbell_l", + "password":"" + }, + { + "name":"Hannah Patel", + "address":"Office B, 28 Park Avenue, Glasgow G1 1AB", + "phone_number":"+44 141 555 1234 ext 103", + "email_address":"h.patel@sparklingcleaningservices.co.uk", + "username":"patel_h", + "password":"" + }, + { + "name":"Linda Wong", + "address":"Office B, 28 Park Avenue, Glasgow G1 1AB", + "phone_number":"+44 141 555 1234 ext 110", + "email_address":"l.wong@sparklingcleaningservices.co.uk", + "username":"wong_l", + "password":"" + } + ], + "product_name":"Commercial Cleaning", + "intro_paragraph":[ + "At Sparkling Cleaning Services, we offer top-notch commercial cleaning services that will leave your business looking and feeling clean and fresh.", + "Our team of experienced professionals are dedicated to providing high-quality cleaning services for businesses of all sizes. We offer a range of services, including regular cleaning, deep cleaning, and specialized cleaning for specific industries.", + "We understand that a clean workplace is essential for productivity and professionalism, which is why we work hard to deliver exceptional cleaning services at an affordable price. Contact us today to learn more about our commercial cleaning services!" + ] +} diff --git a/lib/resources/structured_content/organisations/coffee.json b/lib/resources/structured_content/organisations/coffee.json new file mode 100644 index 000000000..e0f65b140 --- /dev/null +++ b/lib/resources/structured_content/organisations/coffee.json @@ -0,0 +1,48 @@ +{ + "business_name": "Cozy Coffee House", + "business_motto": "Where coffee and community come together", + "business_address": "321 Maple St, Smalltown, USA", + "domain": "cozycoffeehouse.com", + "office_telephone": "555-4321", + "office_email": "info@cozycoffeehouse.com", + "industry": "Food and Beverage", + "manager": { + "name": "Michael Lee", + "address": "123 Oak St, Smalltown, USA", + "phone_number": "555-5678", + "email_address": "michael@cozycoffeehouse.com", + "username": "mlee", + "password": "" + }, + "employees": [ + { + "name": "Emily Brown", + "address": "321 Maple St, Smalltown, USA", + "phone_number": "555-1111", + "email_address": "emily@cozycoffeehouse.com", + "username": "ebrown", + "password": "" + }, + { + "name": "Jason Kim", + "address": "321 Maple St, Smalltown, USA", + "phone_number": "555-2222", + "email_address": "jason@cozycoffeehouse.com", + "username": "jkim", + "password": "" + }, + { + "name": "Maria Rodriguez", + "address": "321 Maple St, Smalltown, USA", + "phone_number": "555-3333", + "email_address": "maria@cozycoffeehouse.com", + "username": "mrodriguez", + "password": "" + } + ], + "product_name": "Latte Art Class", + "intro_paragraph": [ + "Join us for a fun and educational Latte Art Class at Cozy Coffee House!", + "Learn the art of creating beautiful designs on your coffee, and impress your friends with your newfound skills. Our experienced baristas will guide you through the process, and all supplies are provided." + ] +} diff --git a/lib/resources/structured_content/organisations/energy.json b/lib/resources/structured_content/organisations/energy.json new file mode 100644 index 000000000..f6dce3acc --- /dev/null +++ b/lib/resources/structured_content/organisations/energy.json @@ -0,0 +1,49 @@ +{ + "business_name":"Green Energy Solutions", + "business_motto":"Powering your life, sustainably", + "business_address":"42 Main Street, Glasgow G1 1AA", + "domain":"greenenergysolutions.co.uk", + "office_telephone":"+44 141 123 4567", + "office_email":"info@greenenergysolutions.co.uk", + "industry":"Renewable Energy", + "manager":{ + "name":"James Robertson", + "address":"42 Main Street, Glasgow G1 1AA", + "phone_number":"+44 141 123 4567 ext 100", + "email_address":"j.robertson@greenenergysolutions.co.uk", + "username":"robertson_j", + "password":"" + }, + "employees":[ + { + "name":"Lucy Brown", + "address":"Office A, 42 Main Street, Glasgow G1 1AA", + "phone_number":"+44 141 123 4567 ext 101", + "email_address":"l.brown@greenenergysolutions.co.uk", + "username":"brown_l", + "password":"" + }, + { + "name":"David Campbell", + "address":"Office B, 42 Main Street, Glasgow G1 1AA", + "phone_number":"+44 141 123 4567 ext 103", + "email_address":"d.campbell@greenenergysolutions.co.uk", + "username":"campbell_d", + "password":"" + }, + { + "name":"Samantha Patel", + "address":"Office B, 42 Main Street, Glasgow G1 1AA", + "phone_number":"+44 141 123 4567 ext 110", + "email_address":"s.patel@greenenergysolutions.co.uk", + "username":"patel_s", + "password":"" + } + ], + "product_name":"Solar Panel Installation", + "intro_paragraph":[ + "At Green Energy Solutions, we're passionate about providing sustainable energy solutions for our customers.", + "Our solar panel installations are a cost-effective way to generate clean energy for your home or business, while reducing your carbon footprint and energy bills.", + "Contact us today to schedule a consultation and learn more about how we can help you harness the power of the sun to power your life." + ] +} diff --git a/lib/resources/structured_content/organisations/farm.json b/lib/resources/structured_content/organisations/farm.json new file mode 100644 index 000000000..89b7e65d1 --- /dev/null +++ b/lib/resources/structured_content/organisations/farm.json @@ -0,0 +1,48 @@ +{ + "business_name": "Green Valley Farms", + "business_motto": "Fresh and organic produce for a healthy lifestyle", + "business_address": "123 Main St, Anytown, USA", + "domain": "greenvalleyfarms.com", + "office_telephone": "555-1234", + "office_email": "info@greenvalleyfarms.com", + "industry": "Agriculture", + "manager": { + "name": "Sarah Johnson", + "address": "456 Elm St, Anytown, USA", + "phone_number": "555-5678", + "email_address": "sarah@greenvalleyfarms.com", + "username": "sjohnson", + "password": "" + }, + "employees": [ + { + "name": "John Smith", + "address": "123 Main St, Anytown, USA", + "phone_number": "555-1111", + "email_address": "john@greenvalleyfarms.com", + "username": "jsmith", + "password": "" + }, + { + "name": "Jane Doe", + "address": "123 Main St, Anytown, USA", + "phone_number": "555-2222", + "email_address": "jane@greenvalleyfarms.com", + "username": "jdoe", + "password": "" + }, + { + "name": "Mike Williams", + "address": "123 Main St, Anytown, USA", + "phone_number": "555-3333", + "email_address": "mike@greenvalleyfarms.com", + "username": "mwilliams", + "password": "" + } + ], + "product_name": "Organic Vegetables Box", + "intro_paragraph": [ + "Our Organic Vegetables Box is the perfect way to get fresh, healthy produce delivered right to your door.", + "Each box is packed with a variety of seasonal vegetables grown right here on our farm, and everything is completely organic and free of pesticides and other harmful chemicals." + ] +} diff --git a/lib/resources/structured_content/organisations/fitness.json b/lib/resources/structured_content/organisations/fitness.json index c0f0617f3..26cbca339 100644 --- a/lib/resources/structured_content/organisations/fitness.json +++ b/lib/resources/structured_content/organisations/fitness.json @@ -40,9 +40,9 @@ "password": "" } ], - "product_name": "", + "product_name": "Fitness", "intro_paragraph": [ "Experience Yorkshire's leading health and fitness club in the not far from the city centre. Established in 1990 The Yorkshire Fitness Company is committed to getting you the results you want.", "If you like classes, the gym or a combo of both, our dedicated professional team of coaches & teachers are always available to motivate you and guide you towards your goals." ] -} \ No newline at end of file +} diff --git a/lib/resources/structured_content/organisations/fitness2.json b/lib/resources/structured_content/organisations/fitness2.json new file mode 100644 index 000000000..549d713bc --- /dev/null +++ b/lib/resources/structured_content/organisations/fitness2.json @@ -0,0 +1,48 @@ +{ + "business_name": "Leeds Fitness Hub", + "business_motto": "Your fitness journey starts here!", + "business_address": "15 Briggate, Leeds LS1 6EY", + "domain": "leedsfitnesshub.com", + "office_telephone": "0113 123 4567", + "office_email": "info@leedsfitnesshub.com", + "industry": "Health and Fitness", + "manager": { + "name": "Sarah Thompson", + "address": "12 Park Row, Leeds LS1 5HD", + "phone_number": "0113 123 4567 ext 100", + "email_address": "sarah@leedsfitnesshub.com", + "username": "sthompson", + "password": "abc123" + }, + "employees": [ + { + "name": "Tom Jackson", + "address": "15 Briggate, Leeds LS1 6EY", + "phone_number": "0113 123 4567 ext 101", + "email_address": "tom@leedsfitnesshub.com", + "username": "tjackson", + "password": "def456" + }, + { + "name": "Emily Smith", + "address": "15 Briggate, Leeds LS1 6EY", + "phone_number": "0113 123 4567 ext 102", + "email_address": "emily@leedsfitnesshub.com", + "username": "esmith", + "password": "ghi789" + }, + { + "name": "James Wilson", + "address": "15 Briggate, Leeds LS1 6EY", + "phone_number": "0113 123 4567 ext 103", + "email_address": "james@leedsfitnesshub.com", + "username": "jwilson", + "password": "jkl012" + } + ], + "product_name": "Personal Training", + "intro_paragraph": [ + "Get in shape with our personalized fitness training at Leeds Fitness Hub!", + "Our experienced personal trainers will create a customized workout plan based on your fitness level and goals. We'll help you stay motivated and accountable, and provide ongoing support to help you reach your full potential." + ] +} diff --git a/lib/resources/structured_content/organisations/food.json b/lib/resources/structured_content/organisations/food.json new file mode 100644 index 000000000..6a76bd206 --- /dev/null +++ b/lib/resources/structured_content/organisations/food.json @@ -0,0 +1,48 @@ +{ + "business_name":"Greenway Organic Foods", + "business_motto":"Healthy food for a healthy life.", + "business_address":"223 Main Street, Leeds LS1 4AD", + "domain":"greenwayorganicfoods.co.uk", + "office_telephone":"0113 123 4567", + "office_email":"info@greenwayorganicfoods.co.uk", + "industry":"Organic Foods", + "manager":{ + "name":"Emma Patel", + "address":"23A Park Avenue, Leeds LS6 3AW", + "phone_number":"0113 123 4567 ext 100", + "email_address":"e.patel@greenwayorganicfoods.co.uk", + "username":"patel_e", + "password":"" + }, + "employees":[ + { + "name":"Adam Khan", + "address":"Office A, 223 Main Street, Leeds LS1 4AD", + "phone_number":"0113 123 4567 ext 101", + "email_address":"a.khan@greenwayorganicfoods.co.uk", + "username":"khan_a", + "password":"" + }, + { + "name":"Sophie Lee", + "address":"Office B, 223 Main Street, Leeds LS1 4AD", + "phone_number":"0113 123 4567 ext 103", + "email_address":"s.lee@greenwayorganicfoods.co.uk", + "username":"lee_s", + "password":"" + }, + { + "name":"Mark Thompson", + "address":"Office B, 223 Main Street, Leeds LS1 4AD", + "phone_number":"0113 123 4567 ext 110", + "email_address":"m.thompson@greenwayorganicfoods.co.uk", + "username":"thompson_m", + "password":"" + } + ], + "product_name":"Organic Fruit Box", + "intro_paragraph":[ + "Our Organic Fruit Box is packed with seasonal, fresh fruits straight from our local farms.", + "We take pride in delivering the best quality organic produce straight to your doorstep. All of our fruits are free from any chemicals and additives to ensure you get the healthiest and tastiest experience. Order now and taste the difference!" + ] +} diff --git a/lib/resources/structured_content/organisations/food2.json b/lib/resources/structured_content/organisations/food2.json new file mode 100644 index 000000000..a85d2c5c6 --- /dev/null +++ b/lib/resources/structured_content/organisations/food2.json @@ -0,0 +1,48 @@ +{ + "business_name": "Green Valley Agriculture", + "business_motto": "Providing healthy and sustainable food for everyone.", + "business_address": "23B Hilltop Lane, Sheffield S6 5BR", + "domain": "greenvalleyagriculture.com", + "office_telephone": "0114 123 4567", + "office_email": "info@greenvalleyagriculture.com", + "industry": "Agriculture", + "manager": { + "name": "Oliver Johnson", + "address": "23B Hilltop Lane, Sheffield S6 5BR", + "phone_number": "0114 123 4567 ext 101", + "email_address": "o.johnson@greenvalleyagriculture.com", + "username": "johnson_o", + "password": "" + }, + "employees": [ + { + "name": "Maria Rodriguez", + "address": "Office A, 23B Hilltop Lane, Sheffield S6 5BR", + "phone_number": "0114 123 4567 ext 102", + "email_address": "m.rodriguez@greenvalleyagriculture.com", + "username": "rodriguez_m", + "password": "" + }, + { + "name": "William Lee", + "address": "Office B, 23B Hilltop Lane, Sheffield S6 5BR", + "phone_number": "0114 123 4567 ext 103", + "email_address": "w.lee@greenvalleyagriculture.com", + "username": "lee_w", + "password": "" + }, + { + "name": "Samantha Patel", + "address": "Office C, 23B Hilltop Lane, Sheffield S6 5BR", + "phone_number": "0114 123 4567 ext 104", + "email_address": "s.patel@greenvalleyagriculture.com", + "username": "patel_s", + "password": "" + } + ], + "product_name": "Organic Produce", + "intro_paragraph": [ + "Our organic produce is grown using sustainable and environmentally friendly practices.", + "We take great care in selecting only the best seeds and using natural fertilizers to ensure that our produce is of the highest quality. By choosing our organic produce, you're not only doing your body a favour but also contributing to a healthier planet." + ] +} diff --git a/lib/resources/structured_content/organisations/food3.json b/lib/resources/structured_content/organisations/food3.json new file mode 100644 index 000000000..845a460da --- /dev/null +++ b/lib/resources/structured_content/organisations/food3.json @@ -0,0 +1,48 @@ +{ + "business_name":"The Cheesecake Factory", + "business_motto":"We put the cheese in cheesecake.", + "business_address":"123 Sweet Street, Sugarland, TX 77478", + "domain":"cheesecakefactorytx.com", + "office_telephone":"832-555-5555", + "office_email":"info@cheesecakefactorytx.com", + "industry":"Desserts", + "manager":{ + "name":"Cheesy McCheesecake", + "address":"456 Creamy Way, Sugarland, TX 77478", + "phone_number":"832-555-5556", + "email_address":"cheesy@cheesecakefactorytx.com", + "username":"cheesymccheesecake", + "password":"" + }, + "employees":[ + { + "name":"Cheddar Cheese", + "address":"123 Sweet Street, Sugarland, TX 77478", + "phone_number":"832-555-5557", + "email_address":"cheddar@cheesecakefactorytx.com", + "username":"cheddar", + "password":"" + }, + { + "name":"Brie Baker", + "address":"123 Sweet Street, Sugarland, TX 77478", + "phone_number":"832-555-5558", + "email_address":"brie@cheesecakefactorytx.com", + "username":"brie", + "password":"" + }, + { + "name":"Mozzarella Melt", + "address":"123 Sweet Street, Sugarland, TX 77478", + "phone_number":"832-555-5559", + "email_address":"mozzarella@cheesecakefactorytx.com", + "username":"mozzarella", + "password":"" + } + ], + "product_name":"Cheesecake Sampler", + "intro_paragraph":[ + "Our cheesecake sampler is the perfect way to get a taste of our cheesy goodness.", + "With four delicious flavors to choose from, you'll be in cheesecake heaven in no time. Don't forget to top it off with our signature whipped cream!" + ] +} diff --git a/lib/resources/structured_content/organisations/garden.json b/lib/resources/structured_content/organisations/garden.json new file mode 100644 index 000000000..e925f11df --- /dev/null +++ b/lib/resources/structured_content/organisations/garden.json @@ -0,0 +1,49 @@ +{ + "business_name":"Green Solutions Landscaping", + "business_motto":"Making your outdoor space beautiful and sustainable", + "business_address":"456 Oak Street, Manchester M1 2AB", + "domain":"greensolutionslandscaping.co.uk", + "office_telephone":"+44 161 123 4567", + "office_email":"info@greensolutionslandscaping.co.uk", + "industry":"Landscaping Services", + "manager":{ + "name":"David Nguyen", + "address":"456 Oak Street, Manchester M1 2AB", + "phone_number":"+44 161 123 4567 ext 100", + "email_address":"d.nguyen@greensolutionslandscaping.co.uk", + "username":"nguyen_d", + "password":"" + }, + "employees":[ + { + "name":"Jessica Patel", + "address":"Office A, 456 Oak Street, Manchester M1 2AB", + "phone_number":"+44 161 123 4567 ext 101", + "email_address":"j.patel@greensolutionslandscaping.co.uk", + "username":"patel_j", + "password":"" + }, + { + "name":"Mark Thompson", + "address":"Office B, 456 Oak Street, Manchester M1 2AB", + "phone_number":"+44 161 123 4567 ext 103", + "email_address":"m.thompson@greensolutionslandscaping.co.uk", + "username":"thompson_m", + "password":"" + }, + { + "name":"Sophie Lee", + "address":"Office B, 456 Oak Street, Manchester M1 2AB", + "phone_number":"+44 161 123 4567 ext 110", + "email_address":"s.lee@greensolutionslandscaping.co.uk", + "username":"lee_s", + "password":"" + } + ], + "product_name":"Sustainable Garden Design", + "intro_paragraph":[ + "At Green Solutions Landscaping, we believe that a beautiful outdoor space doesn't have to come at the expense of the environment. That's why we offer sustainable garden design services that prioritize eco-friendly practices and materials.", + "Our team of experts will work with you to create a garden that's both visually stunning and environmentally responsible. From native plants to rainwater harvesting, we'll incorporate the latest sustainable techniques into your garden design.", + "Transform your outdoor space into a haven for both you and the planet. Contact us today to learn more about our sustainable garden design services!" + ] +} diff --git a/lib/resources/structured_content/organisations/garden2.json b/lib/resources/structured_content/organisations/garden2.json new file mode 100644 index 000000000..c47639d57 --- /dev/null +++ b/lib/resources/structured_content/organisations/garden2.json @@ -0,0 +1,49 @@ +{ + "business_name":"Green Acres Nursery", + "business_motto":"Where plants thrive and gardeners blossom", + "business_address":"123 Main Street, Springfield, IL 62704", + "domain":"greenacresnursery.com", + "office_telephone":"(217) 555-1234", + "office_email":"info@greenacresnursery.com", + "industry":"Horticulture", + "manager":{ + "name":"David Greene", + "address":"123 Main Street, Springfield, IL 62704", + "phone_number":"(217) 555-1234 ext 100", + "email_address":"d.greene@greenacresnursery.com", + "username":"greene_d", + "password":"" + }, + "employees":[ + { + "name":"Sarah Johnson", + "address":"Office A, 123 Main Street, Springfield, IL 62704", + "phone_number":"(217) 555-1234 ext 101", + "email_address":"s.johnson@greenacresnursery.com", + "username":"johnson_s", + "password":"" + }, + { + "name":"Juan Rodriguez", + "address":"Office B, 123 Main Street, Springfield, IL 62704", + "phone_number":"(217) 555-1234 ext 103", + "email_address":"j.rodriguez@greenacresnursery.com", + "username":"rodriguez_j", + "password":"" + }, + { + "name":"Emily Nguyen", + "address":"Office B, 123 Main Street, Springfield, IL 62704", + "phone_number":"(217) 555-1234 ext 110", + "email_address":"e.nguyen@greenacresnursery.com", + "username":"nguyen_e", + "password":"" + } + ], + "product_name":"Garden Design", + "intro_paragraph":[ + "At Green Acres Nursery, we offer expert garden design services to help you transform your outdoor space into a beautiful and functional oasis.", + "Our team of experienced horticulturists and designers will work with you to create a customized garden design that meets your needs and fits your style. From plant selection and placement to hardscape design and installation, we'll guide you through every step of the process.", + "Whether you're looking to create a peaceful retreat, a thriving vegetable garden, or a stunning landscape for your home or business, we have the expertise and passion to make it happen. Contact us today to learn more about our garden design services!" + ] +} diff --git a/lib/resources/structured_content/organisations/json_organisations b/lib/resources/structured_content/organisations/json_organisations index 86c346a30..1f8697a51 100644 --- a/lib/resources/structured_content/organisations/json_organisations +++ b/lib/resources/structured_content/organisations/json_organisations @@ -1,9 +1,25 @@ {"business_name":"Artisan Bakery","business_motto":"The loaves are in the oven.","business_address":"1080 Headingley Lane, Headingley, Leeds, LS6 1BN","domain":"artisan-bakery.co.uk","office_telephone":"0113 222 1080","office_email":"orders@artisan-bakery.co.uk","industry":"Bakers","manager":{"name":"Maxie Durgan","address":"1080 Headingley Lane, Headingley, Leeds, LS6 1BN","phone_number":"07645 289149","email_address":"maxie@artisan-bakery.co.uk","username":"maxie","password":""},"employees":[{"name":"Matthew Riley","address":"1080 Headingley Lane, Headingley, Leeds, LS6 1BN","phone_number":"07876 518651","email_address":"matt@artisan-bakery.co.uk","username":"matt","password":""},{"name":"Emelie Lowe","address":"1080 Headingley Lane, Headingley, Leeds, LS6 1BN","phone_number":"07560 246931","email_address":"emelie@artisan-bakery.co.uk","username":"emelie","password":""},{"name":"Antonio Durgan","address":"1080 Headingley Lane, Headingley, Leeds, LS6 1BN","phone_number":"07943 250930","email_address":"antonio@artisan-bakery.co.uk","username":"antonio","password":""}],"product_name":"Baked goods","intro_paragraph":["Finest bakery in Headingley since 1900. Baked fresh daily. Bread loaves, teacakes, sweet and savoury treats. We are open from 9 am til 6 pm, every day except for bank holidays."]} {"business_name":"Northern Banking","business_motto":"We'll keep your money safe!","business_address":"123 The Headrow, Leeds, LS1 5RD","domain":"northernbanking.co.uk","office_telephone":"0113 000 0123","office_email":"enquiries@northernbanking.co.uk","industry":"Finance","manager":{"name":"Heather Schmidt","address":"800 Bogisich Avenue, Oswaldohaven, Leeds, LS9 6NB","phone_number":"07836 581948","email_address":"h.schmidt@northernbanking.co.uk","username":"h_schmidt","password":""},"employees":[{"name":"Zion Jacobson","address":"104 Cole Square, ","phone_number":"07880 057670","email_address":"z.jacobson@northernbanking.co.uk","username":"z_jacobson","password":""},{"name":"Jonathan Ray","address":"644 Jackson Path, Leeds, LS2 4AJ","phone_number":"07893 001623","email_address":"j.ray@northernbanking.co.uk","username":"j_ray","password":""},{"name":"Virginia Sullivan","address":"23 Jane Street, Harrogate, HG1 4DJ","phone_number":"07826 576277","email_address":"v.sullivan@northernbanking.co.uk","username":"v_sullivan","password":""}],"product_name":"Financial Services","intro_paragraph":["About Northern Bank","With roots back to its establishment in Huddersfield, West Yorkshire in 1805. Northern bank has a strong personal customer base and business banking capability though a UK-wide network. Northern Bank is a trading name of Big Bank PLC."]} -{"business_name":"Yorkshire Fitness Company","business_motto":"Get thi sen down't gym!","business_address":"15 Sheepscar Court, Leeds LS7 2BB","domain":"yorkshirefitco.co.uk","office_telephone":"0113 026 9999","office_email":"office@yorkshirefitco.co.uk","industry":"Health and Fitness","manager":{"name":"Jerry Rivera","address":"15 Sheepscar Court, Leeds LS7 2BB","phone_number":"0113 026 9999","email_address":"jerry.rivera@yorkshirefitco.co.uk","username":"jerry_rivera","password":""},"employees":[{"name":"Immanuel Bahringer IV","address":"15 Sheepscar Court, Leeds LS7 2BB","phone_number":"07688 112479","email_address":"immanuel.bahringer.iv@yorkshirefitco.co.uk","username":"immanuel_bahringer_iv","password":""},{"name":"Anne Hunter","address":"15 Sheepscar Court, Leeds LS7 2BB","phone_number":"07791 179177","email_address":"anne.hunter@yorkshirefitco.co.uk","username":"anne_hunter","password":""},{"name":"Katelin Langworth","address":"15 Sheepscar Court, Leeds LS7 2BB","phone_number":"07550 561978","email_address":"katelin.langworth@yorkshirefitco.co.uk","username":"katelin_langworth","password":""}],"product_name":"","intro_paragraph":["Experience Yorkshire's leading health and fitness club in the not far from the city centre. Established in 1990 The Yorkshire Fitness Company is committed to getting you the results you want.","If you like classes, the gym or a combo of both, our dedicated professional team of coaches & teachers are always available to motivate you and guide you towards your goals."]} +{"business_name":"Yorkshire Fitness Company","business_motto":"Get thi sen down't gym!","business_address":"15 Sheepscar Court, Leeds LS7 2BB","domain":"yorkshirefitco.co.uk","office_telephone":"0113 026 9999","office_email":"office@yorkshirefitco.co.uk","industry":"Health and Fitness","manager":{"name":"Jerry Rivera","address":"15 Sheepscar Court, Leeds LS7 2BB","phone_number":"0113 026 9999","email_address":"jerry.rivera@yorkshirefitco.co.uk","username":"jerry_rivera","password":""},"employees":[{"name":"Immanuel Bahringer IV","address":"15 Sheepscar Court, Leeds LS7 2BB","phone_number":"07688 112479","email_address":"immanuel.bahringer.iv@yorkshirefitco.co.uk","username":"immanuel_bahringer_iv","password":""},{"name":"Anne Hunter","address":"15 Sheepscar Court, Leeds LS7 2BB","phone_number":"07791 179177","email_address":"anne.hunter@yorkshirefitco.co.uk","username":"anne_hunter","password":""},{"name":"Katelin Langworth","address":"15 Sheepscar Court, Leeds LS7 2BB","phone_number":"07550 561978","email_address":"katelin.langworth@yorkshirefitco.co.uk","username":"katelin_langworth","password":""}],"product_name":"Fitness","intro_paragraph":["Experience Yorkshire's leading health and fitness club in the not far from the city centre. Established in 1990 The Yorkshire Fitness Company is committed to getting you the results you want.","If you like classes, the gym or a combo of both, our dedicated professional team of coaches & teachers are always available to motivate you and guide you towards your goals."]} {"business_name":"Abacus Technology Solutions","business_motto":"Solving your problems so you don't have to.","business_address":"Unit 12, Lincoln St, Huddersfield HD1 6RX","domain":"abacus-technology.co.uk","office_telephone":"01484 850963","office_email":"office@abacus-technology.co.uk","industry":"IT Services","manager":{"name":"Ellie Bosco","address":"Office 1, Unit 12, Lincoln St, Huddersfield HD1 6RX","phone_number":"07528 347828","email_address":"e.bosco@abacus-technology.co.uk","username":"ebosco","password":""},"employees":[{"name":"Keara Harris","address":"Office 2, Unit 12, Lincoln St, Huddersfield HD1 6RX","phone_number":"07674 358645","email_address":"k.harris@abacus-technology.co.uk","username":"kharris","password":""},{"name":"Janessa Rempel","address":"Office 2, Unit 12, Lincoln St, Huddersfield HD1 6RX","phone_number":"07644 118595","email_address":"j.rempel@abacus-technology.co.uk","username":"jrempel","password":""},{"name":"Russell Ramirez","address":"Office 3, Unit 12, Lincoln St, Huddersfield HD1 6RX","phone_number":"01484 850963","email_address":"r.ramirez@abacus-technology.co.uk","username":"rramirez","password":""}],"product_name":"IT Solutions","intro_paragraph":["Providers of cloud services, backups, data recovery, hardware, off-the-shelf and bespoke software. 24/7 technical support available. Custom design and installation based on your companies needs!"]} {"business_name":"Leeds Beckett- Cyber Security and Digital Forensics","business_motto":"","business_address":"43 Church Wood Ave, Leeds LS16 5LF","domain":"leedsbeckett.ac.uk","office_telephone":"0113 81 23000","office_email":"study@leedsbeckett.ac.uk","industry":"Higher Education","manager":{"name":"Dr. Pip Trevorrow","address":"102, Caedmon Hall, Headingley Campus","phone_number":"0113 81 25169","email_address":"P.Trevorrow@leedsbeckett.ac.uk","username":"ptrevorrow","password":""},"employees":[{"name":"Dr. Z. Cliffe Schreuders","address":"105, Caedmon Hall, Headingley Campus","phone_number":"0113 81 28608","email_address":"C.Schreuders@leedsbeckett.ac.uk","username":"zschreuders","password":""},{"name":"Tom Shaw","address":"117, Caedmon, Headingley Campus","phone_number":"0113 81 27429","email_address":"T.Shaw@leedsbeckett.ac.uk","username":"tshaw","password":""},{"name":"Dr. Thalita Vergilio","address":"105, Caedmon, Headingley Campus","phone_number":"0113 81 26424","email_address":"T.Vergilio@leedsbeckett.ac.uk","username":"tvergilio","password":""}],"product_name":"University Education","intro_paragraph":["Computer forensics involves the analysis of digital devices such as hard drives to identify and investigate their contents. Computer security involves using knowledge of computer systems and networks to protect businesses and users from malicious attacks.","This course combines these two fields of national importance and will teach you practical investigative and 'hacking' techniques. You will develop the skills to undertake rigorous forensic analysis and implement robust security mechanisms.","This is a hands-on course where you will learn through doing, gaining an in-depth knowledge of how to hack a computer to be able to protect it. You will learn where a computer hides data and how to recover information from a device."]} {"business_name":"Leeds Beckett","business_motto":"Leeds Law School","business_address":"City Campus, Leeds LS1 3HE","domain":"leedsbeckett.ac.uk","office_telephone":"0113 81 23000","office_email":"study@leedsbeckett.ac.uk","industry":"Higher Education","manager":{"name":"Deveral Capps","address":"306, Portland Building, City Campus","phone_number":"0113 81 26085","email_address":"d.capps@leedsbeckett.ac.uk","username":"d_capps","password":""},"employees":[{"name":"Dr. Simon Hale-Ross","address":"306, Portland Building, City Campus","phone_number":"0113 8129526","email_address":"S.Haleross@leedsbeckett.ac.uk","username":"s_haleross","password":""},{"name":"Professor Simon Gardiner","address":"204, Rose Bowl, City Campus","phone_number":"0113 81 26414","email_address":"S.Gardiner@leedsbeckett.ac.uk","username":"s_gardiner","password":""},{"name":"Dr. Jessica Guth","address":"306, Portland Building, City Campus","phone_number":"0113 81 26403","email_address":"J.Guth@leedsbeckett.ac.uk","username":"j_guth","password":""}],"product_name":"University Education","intro_paragraph":["Our Law School sits in the heart of the great city of Leeds, the most important legal centre outside London and home to over 180 law firms employing in excess of 8,000 professionals. It is perfectly placed to ensure all our undergraduate, postgraduate, full and part-time students are able to mine the wealth of practical experience and employment opportunities available on our doorstep.","With state-of-the-art facilities, mentoring and career development opportunities, placements and a courtroom, students who choose Leeds Law School can expect a successful career founded on high calibre, practical teaching. We offer a broad variety of courses including our LLB, LLM Legal Practice (incorporating the LPC), LLM Qualifying Law Degree (incorporating the GDL) and LLM International Business Law, and each aims to give our graduates the enthusiasm, sharpness of mind and practical tools to thrive in competitive and fast-paced professional environments."]} {"business_name":"Leeds Beckett","business_motto":"Music and Performing Arts","business_address":"43 Church Wood Ave, Leeds LS16 5LF","domain":"leedsbeckett.ac.uk","office_telephone":"0113 81 23000","office_email":"study@leedsbeckett.ac.uk","industry":"Higher Education","manager":{"name":"Dr Richard Stevens","address":"209, Caedmon, Headingley Campus","phone_number":"0113 81 23690","email_address":"R.C.Stevens@leedsbeckett.ac.uk","username":"r_stevens","password":""},"employees":[{"name":"Dr. Laura Griffiths","address":"Reception, Priestley Hall, Headingley Campus","phone_number":"n/a","email_address":"Laura.Griffiths@leedsbeckett.ac.uk","username":"l_griffiths","password":""},{"name":"Carl Flattery","address":"104, Caedmon, Headingley Campus","phone_number":"0113 81 27372","email_address":"C.Flattery@leedsbeckett.ac.uk","username":"c_flattery","password":""},{"name":"Sam Nicholls","address":"212, Caedmon, Headingley Campus","phone_number":"0113 81 23726","email_address":"S.Nicholls@leedsbeckett.ac.uk","username":"s_nicholls","password":""}],"product_name":"University Education","intro_paragraph":["The School of Film, Music & Performing Arts fosters a culture of creation and participation. We are proud shapers of, and contributors to, the cultural life of this great Northern city – a city that is the original birthplace of film. We nurture the arts pioneers of the future: influencers who will not just reflect the outside world, but impact upon it."]} {"business_name":"Yorkshire Personal Health","business_motto":"We'll have you as good as new in no time.","business_address":"159 Longlands St, Bradford BD1 2PX","domain":"yorkspersonalhealth.co.uk","office_telephone":"01274 200700","office_email":"info@yorkspersonalhealth.co.uk","industry":"Medical Services","manager":{"name":"Angela Dickinson","address":"76103 Joshuah Path, Port Magali, Cambridgeshire, R1 1TR","phone_number":"01274 200700 ext 100","email_address":"a.dickinson@yorkspersonalhealth.co.uk","username":"dickinson_a","password":""},"employees":[{"name":"Abdullah Carroll","address":"Office A, 160 Longlands St, Bradford BD1 2PX","phone_number":"01274 200700 ext 101","email_address":"a.carroll@yorkspersonalhealth.co.uk","username":"carroll_a","password":""},{"name":"Annie Williamson","address":"Office B, 160 Longlands St, Bradford BD1 2PX","phone_number":"01274 200700 ext 103","email_address":"a.williamson@yorkspersonalhealth.co.uk","username":"williamson_a","password":""},{"name":"Jammie Marks","address":"Office B, 160 Longlands St, Bradford BD1 2PX","phone_number":"01274 200700 ext 110","email_address":"j.marks@yorkspersonalhealth.co.uk","username":"marks_j","password":""}],"product_name":"Check up","intro_paragraph":["A health assessment is more than a check up. It can be the start of a journey towards better health.","We use our health expertise to build a clear picture of where your current health is and identify potential future health risks. After your health assessment, we’ll give you guidance and support to help you become healthier today and in the future."]} {"business_name":"Speedy Pizzas","business_motto":"Pizza done quick.","business_address":"195 Headingley Lane, Headingley, Leeds, LS6 1BN","domain":"speedypizzas.co.uk","office_telephone":"0113 123 3214","office_email":"info@speedypizzas.co.uk","industry":"Food","manager":{"name":"David Sand","address":"195 Headingley Lane, Headingley, Leeds, LS6 1BN","phone_number":"07879 635412","email_address":"dave@speedypizzas.co.uk","username":"d_sand","password":""},"employees":[{"name":"Cydney Hermann","address":"195 Headingley Lane, Headingley, Leeds, LS6 1BN","phone_number":"0113 123 3214","email_address":"cydney@speedypizzas.co.uk","username":"c_hermann","password":""},{"name":"Lori Marshall","address":"195 Headingley Lane, Headingley, Leeds, LS6 1BN","phone_number":"0113 123 3214","email_address":"lori@speedypizzas.co.uk","username":"l_marshall","password":""},{"name":"Andrea Martinez","address":"195 Headingley Lane, Headingley, Leeds, LS6 1BN","phone_number":"0113 123 3214","email_address":"andrea@speedypizzas.co.uk","username":"a_martinez","password":""}],"product_name":"Pizza","intro_paragraph":["Welcome to speedy pizzas. Piping hot food either in store or delivered to your door. Pizza takeaway, parmesan, kebabs and much more.","We are based in the centre of Headingley on Headingley lane and will deliver up to 3 miles for free, 1 quid per additional mile. Red hot pizza on delivery or your money back."]} +{"business_name":"Sparkling Cleaning Services","business_motto":"We clean it all, big or small","business_address":"28 Park Avenue, Glasgow G1 1AB","domain":"sparklingcleaningservices.co.uk","office_telephone":"+44 141 555 1234","office_email":"info@sparklingcleaningservices.co.uk","industry":"Cleaning Services","manager":{"name":"Karen Robertson","address":"28 Park Avenue, Glasgow G1 1AB","phone_number":"+44 141 555 1234 ext 100","email_address":"k.robertson@sparklingcleaningservices.co.uk","username":"robertson_k","password":""},"employees":[{"name":"Liam Campbell","address":"Office A, 28 Park Avenue, Glasgow G1 1AB","phone_number":"+44 141 555 1234 ext 101","email_address":"l.campbell@sparklingcleaningservices.co.uk","username":"campbell_l","password":""},{"name":"Hannah Patel","address":"Office B, 28 Park Avenue, Glasgow G1 1AB","phone_number":"+44 141 555 1234 ext 103","email_address":"h.patel@sparklingcleaningservices.co.uk","username":"patel_h","password":""},{"name":"Linda Wong","address":"Office B, 28 Park Avenue, Glasgow G1 1AB","phone_number":"+44 141 555 1234 ext 110","email_address":"l.wong@sparklingcleaningservices.co.uk","username":"wong_l","password":""}],"product_name":"Commercial Cleaning","intro_paragraph":["At Sparkling Cleaning Services, we offer top-notch commercial cleaning services that will leave your business looking and feeling clean and fresh.","Our team of experienced professionals are dedicated to providing high-quality cleaning services for businesses of all sizes. We offer a range of services, including regular cleaning, deep cleaning, and specialized cleaning for specific industries.","We understand that a clean workplace is essential for productivity and professionalism, which is why we work hard to deliver exceptional cleaning services at an affordable price. Contact us today to learn more about our commercial cleaning services!"]} +{"business_name":"Cozy Coffee House","business_motto":"Where coffee and community come together","business_address":"321 Maple St, Smalltown, USA","domain":"cozycoffeehouse.com","office_telephone":"555-4321","office_email":"info@cozycoffeehouse.com","industry":"Food and Beverage","manager":{"name":"Michael Lee","address":"123 Oak St, Smalltown, USA","phone_number":"555-5678","email_address":"michael@cozycoffeehouse.com","username":"mlee","password":""},"employees":[{"name":"Emily Brown","address":"321 Maple St, Smalltown, USA","phone_number":"555-1111","email_address":"emily@cozycoffeehouse.com","username":"ebrown","password":""},{"name":"Jason Kim","address":"321 Maple St, Smalltown, USA","phone_number":"555-2222","email_address":"jason@cozycoffeehouse.com","username":"jkim","password":""},{"name":"Maria Rodriguez","address":"321 Maple St, Smalltown, USA","phone_number":"555-3333","email_address":"maria@cozycoffeehouse.com","username":"mrodriguez","password":""}],"product_name":"Latte Art Class","intro_paragraph":["Join us for a fun and educational Latte Art Class at Cozy Coffee House!","Learn the art of creating beautiful designs on your coffee, and impress your friends with your newfound skills. Our experienced baristas will guide you through the process, and all supplies are provided."]} +{"business_name":"Green Energy Solutions","business_motto":"Powering your life, sustainably","business_address":"42 Main Street, Glasgow G1 1AA","domain":"greenenergysolutions.co.uk","office_telephone":"+44 141 123 4567","office_email":"info@greenenergysolutions.co.uk","industry":"Renewable Energy","manager":{"name":"James Robertson","address":"42 Main Street, Glasgow G1 1AA","phone_number":"+44 141 123 4567 ext 100","email_address":"j.robertson@greenenergysolutions.co.uk","username":"robertson_j","password":""},"employees":[{"name":"Lucy Brown","address":"Office A, 42 Main Street, Glasgow G1 1AA","phone_number":"+44 141 123 4567 ext 101","email_address":"l.brown@greenenergysolutions.co.uk","username":"brown_l","password":""},{"name":"David Campbell","address":"Office B, 42 Main Street, Glasgow G1 1AA","phone_number":"+44 141 123 4567 ext 103","email_address":"d.campbell@greenenergysolutions.co.uk","username":"campbell_d","password":""},{"name":"Samantha Patel","address":"Office B, 42 Main Street, Glasgow G1 1AA","phone_number":"+44 141 123 4567 ext 110","email_address":"s.patel@greenenergysolutions.co.uk","username":"patel_s","password":""}],"product_name":"Solar Panel Installation","intro_paragraph":["At Green Energy Solutions, we're passionate about providing sustainable energy solutions for our customers.","Our solar panel installations are a cost-effective way to generate clean energy for your home or business, while reducing your carbon footprint and energy bills.","Contact us today to schedule a consultation and learn more about how we can help you harness the power of the sun to power your life."]} +{"business_name":"Green Valley Farms","business_motto":"Fresh and organic produce for a healthy lifestyle","business_address":"123 Main St, Anytown, USA","domain":"greenvalleyfarms.com","office_telephone":"555-1234","office_email":"info@greenvalleyfarms.com","industry":"Agriculture","manager":{"name":"Sarah Johnson","address":"456 Elm St, Anytown, USA","phone_number":"555-5678","email_address":"sarah@greenvalleyfarms.com","username":"sjohnson","password":""},"employees":[{"name":"John Smith","address":"123 Main St, Anytown, USA","phone_number":"555-1111","email_address":"john@greenvalleyfarms.com","username":"jsmith","password":""},{"name":"Jane Doe","address":"123 Main St, Anytown, USA","phone_number":"555-2222","email_address":"jane@greenvalleyfarms.com","username":"jdoe","password":""},{"name":"Mike Williams","address":"123 Main St, Anytown, USA","phone_number":"555-3333","email_address":"mike@greenvalleyfarms.com","username":"mwilliams","password":""}],"product_name":"Organic Vegetables Box","intro_paragraph":["Our Organic Vegetables Box is the perfect way to get fresh, healthy produce delivered right to your door.","Each box is packed with a variety of seasonal vegetables grown right here on our farm, and everything is completely organic and free of pesticides and other harmful chemicals."]} +{"business_name":"Leeds Fitness Hub","business_motto":"Your fitness journey starts here!","business_address":"15 Briggate, Leeds LS1 6EY","domain":"leedsfitnesshub.com","office_telephone":"0113 123 4567","office_email":"info@leedsfitnesshub.com","industry":"Health and Fitness","manager":{"name":"Sarah Thompson","address":"12 Park Row, Leeds LS1 5HD","phone_number":"0113 123 4567 ext 100","email_address":"sarah@leedsfitnesshub.com","username":"sthompson","password":"abc123"},"employees":[{"name":"Tom Jackson","address":"15 Briggate, Leeds LS1 6EY","phone_number":"0113 123 4567 ext 101","email_address":"tom@leedsfitnesshub.com","username":"tjackson","password":"def456"},{"name":"Emily Smith","address":"15 Briggate, Leeds LS1 6EY","phone_number":"0113 123 4567 ext 102","email_address":"emily@leedsfitnesshub.com","username":"esmith","password":"ghi789"},{"name":"James Wilson","address":"15 Briggate, Leeds LS1 6EY","phone_number":"0113 123 4567 ext 103","email_address":"james@leedsfitnesshub.com","username":"jwilson","password":"jkl012"}],"product_name":"Personal Training","intro_paragraph":["Get in shape with our personalized fitness training at Leeds Fitness Hub!","Our experienced personal trainers will create a customized workout plan based on your fitness level and goals. We'll help you stay motivated and accountable, and provide ongoing support to help you reach your full potential."]} +{"business_name":"Greenway Organic Foods","business_motto":"Healthy food for a healthy life.","business_address":"223 Main Street, Leeds LS1 4AD","domain":"greenwayorganicfoods.co.uk","office_telephone":"0113 123 4567","office_email":"info@greenwayorganicfoods.co.uk","industry":"Organic Foods","manager":{"name":"Emma Patel","address":"23A Park Avenue, Leeds LS6 3AW","phone_number":"0113 123 4567 ext 100","email_address":"e.patel@greenwayorganicfoods.co.uk","username":"patel_e","password":""},"employees":[{"name":"Adam Khan","address":"Office A, 223 Main Street, Leeds LS1 4AD","phone_number":"0113 123 4567 ext 101","email_address":"a.khan@greenwayorganicfoods.co.uk","username":"khan_a","password":""},{"name":"Sophie Lee","address":"Office B, 223 Main Street, Leeds LS1 4AD","phone_number":"0113 123 4567 ext 103","email_address":"s.lee@greenwayorganicfoods.co.uk","username":"lee_s","password":""},{"name":"Mark Thompson","address":"Office B, 223 Main Street, Leeds LS1 4AD","phone_number":"0113 123 4567 ext 110","email_address":"m.thompson@greenwayorganicfoods.co.uk","username":"thompson_m","password":""}],"product_name":"Organic Fruit Box","intro_paragraph":["Our Organic Fruit Box is packed with seasonal, fresh fruits straight from our local farms.","We take pride in delivering the best quality organic produce straight to your doorstep. All of our fruits are free from any chemicals and additives to ensure you get the healthiest and tastiest experience. Order now and taste the difference!"]} +{"business_name":"Green Valley Agriculture","business_motto":"Providing healthy and sustainable food for everyone.","business_address":"23B Hilltop Lane, Sheffield S6 5BR","domain":"greenvalleyagriculture.com","office_telephone":"0114 123 4567","office_email":"info@greenvalleyagriculture.com","industry":"Agriculture","manager":{"name":"Oliver Johnson","address":"23B Hilltop Lane, Sheffield S6 5BR","phone_number":"0114 123 4567 ext 101","email_address":"o.johnson@greenvalleyagriculture.com","username":"johnson_o","password":""},"employees":[{"name":"Maria Rodriguez","address":"Office A, 23B Hilltop Lane, Sheffield S6 5BR","phone_number":"0114 123 4567 ext 102","email_address":"m.rodriguez@greenvalleyagriculture.com","username":"rodriguez_m","password":""},{"name":"William Lee","address":"Office B, 23B Hilltop Lane, Sheffield S6 5BR","phone_number":"0114 123 4567 ext 103","email_address":"w.lee@greenvalleyagriculture.com","username":"lee_w","password":""},{"name":"Samantha Patel","address":"Office C, 23B Hilltop Lane, Sheffield S6 5BR","phone_number":"0114 123 4567 ext 104","email_address":"s.patel@greenvalleyagriculture.com","username":"patel_s","password":""}],"product_name":"Organic Produce","intro_paragraph":["Our organic produce is grown using sustainable and environmentally friendly practices.","We take great care in selecting only the best seeds and using natural fertilizers to ensure that our produce is of the highest quality. By choosing our organic produce, you're not only doing your body a favour but also contributing to a healthier planet."]} +{"business_name":"The Cheesecake Factory","business_motto":"We put the cheese in cheesecake.","business_address":"123 Sweet Street, Sugarland, TX 77478","domain":"cheesecakefactorytx.com","office_telephone":"832-555-5555","office_email":"info@cheesecakefactorytx.com","industry":"Desserts","manager":{"name":"Cheesy McCheesecake","address":"456 Creamy Way, Sugarland, TX 77478","phone_number":"832-555-5556","email_address":"cheesy@cheesecakefactorytx.com","username":"cheesymccheesecake","password":""},"employees":[{"name":"Cheddar Cheese","address":"123 Sweet Street, Sugarland, TX 77478","phone_number":"832-555-5557","email_address":"cheddar@cheesecakefactorytx.com","username":"cheddar","password":""},{"name":"Brie Baker","address":"123 Sweet Street, Sugarland, TX 77478","phone_number":"832-555-5558","email_address":"brie@cheesecakefactorytx.com","username":"brie","password":""},{"name":"Mozzarella Melt","address":"123 Sweet Street, Sugarland, TX 77478","phone_number":"832-555-5559","email_address":"mozzarella@cheesecakefactorytx.com","username":"mozzarella","password":""}],"product_name":"Cheesecake Sampler","intro_paragraph":["Our cheesecake sampler is the perfect way to get a taste of our cheesy goodness.","With four delicious flavors to choose from, you'll be in cheesecake heaven in no time. Don't forget to top it off with our signature whipped cream!"]} +{"business_name":"Green Solutions Landscaping","business_motto":"Making your outdoor space beautiful and sustainable","business_address":"456 Oak Street, Manchester M1 2AB","domain":"greensolutionslandscaping.co.uk","office_telephone":"+44 161 123 4567","office_email":"info@greensolutionslandscaping.co.uk","industry":"Landscaping Services","manager":{"name":"David Nguyen","address":"456 Oak Street, Manchester M1 2AB","phone_number":"+44 161 123 4567 ext 100","email_address":"d.nguyen@greensolutionslandscaping.co.uk","username":"nguyen_d","password":""},"employees":[{"name":"Jessica Patel","address":"Office A, 456 Oak Street, Manchester M1 2AB","phone_number":"+44 161 123 4567 ext 101","email_address":"j.patel@greensolutionslandscaping.co.uk","username":"patel_j","password":""},{"name":"Mark Thompson","address":"Office B, 456 Oak Street, Manchester M1 2AB","phone_number":"+44 161 123 4567 ext 103","email_address":"m.thompson@greensolutionslandscaping.co.uk","username":"thompson_m","password":""},{"name":"Sophie Lee","address":"Office B, 456 Oak Street, Manchester M1 2AB","phone_number":"+44 161 123 4567 ext 110","email_address":"s.lee@greensolutionslandscaping.co.uk","username":"lee_s","password":""}],"product_name":"Sustainable Garden Design","intro_paragraph":["At Green Solutions Landscaping, we believe that a beautiful outdoor space doesn't have to come at the expense of the environment. That's why we offer sustainable garden design services that prioritize eco-friendly practices and materials.","Our team of experts will work with you to create a garden that's both visually stunning and environmentally responsible. From native plants to rainwater harvesting, we'll incorporate the latest sustainable techniques into your garden design.","Transform your outdoor space into a haven for both you and the planet. Contact us today to learn more about our sustainable garden design services!"]} +{"business_name":"Green Acres Nursery","business_motto":"Where plants thrive and gardeners blossom","business_address":"123 Main Street, Springfield, IL 62704","domain":"greenacresnursery.com","office_telephone":"(217) 555-1234","office_email":"info@greenacresnursery.com","industry":"Horticulture","manager":{"name":"David Greene","address":"123 Main Street, Springfield, IL 62704","phone_number":"(217) 555-1234 ext 100","email_address":"d.greene@greenacresnursery.com","username":"greene_d","password":""},"employees":[{"name":"Sarah Johnson","address":"Office A, 123 Main Street, Springfield, IL 62704","phone_number":"(217) 555-1234 ext 101","email_address":"s.johnson@greenacresnursery.com","username":"johnson_s","password":""},{"name":"Juan Rodriguez","address":"Office B, 123 Main Street, Springfield, IL 62704","phone_number":"(217) 555-1234 ext 103","email_address":"j.rodriguez@greenacresnursery.com","username":"rodriguez_j","password":""},{"name":"Emily Nguyen","address":"Office B, 123 Main Street, Springfield, IL 62704","phone_number":"(217) 555-1234 ext 110","email_address":"e.nguyen@greenacresnursery.com","username":"nguyen_e","password":""}],"product_name":"Garden Design","intro_paragraph":["At Green Acres Nursery, we offer expert garden design services to help you transform your outdoor space into a beautiful and functional oasis.","Our team of experienced horticulturists and designers will work with you to create a customized garden design that meets your needs and fits your style. From plant selection and placement to hardscape design and installation, we'll guide you through every step of the process.","Whether you're looking to create a peaceful retreat, a thriving vegetable garden, or a stunning landscape for your home or business, we have the expertise and passion to make it happen. Contact us today to learn more about our garden design services!"]} +{"business_name":"Medicheck Solutions","business_motto":"Your health is our priority","business_address":"42 Elm Grove, London, SE13 7PT","domain":"medichecksolutions.co.uk","office_telephone":"020 123 4567","office_email":"info@medichecksolutions.co.uk","industry":"Medical Services","manager":{"name":"Sarah Thompson","address":"32 High Street, London, SE1 1TD","phone_number":"020 123 4567 ext 100","email_address":"s.thompson@medichecksolutions.co.uk","username":"thompson_s","password":""},"employees":[{"name":"Andrew Green","address":"Office A, 42 Elm Grove, London, SE13 7PT","phone_number":"020 123 4567 ext 101","email_address":"a.green@medichecksolutions.co.uk","username":"green_a","password":""},{"name":"Olivia Patel","address":"Office B, 42 Elm Grove, London, SE13 7PT","phone_number":"020 123 4567 ext 103","email_address":"o.patel@medichecksolutions.co.uk","username":"patel_o","password":""},{"name":"Tom Edwards","address":"Office B, 42 Elm Grove, London, SE13 7PT","phone_number":"020 123 4567 ext 110","email_address":"t.edwards@medichecksolutions.co.uk","username":"edwards_t","password":""}],"product_name":"Health Assessment","intro_paragraph":["A health assessment is a comprehensive check-up designed to provide an in-depth analysis of your current health status and identify potential future health risks.","At Medicheck Solutions, we use our medical expertise to provide you with personalized recommendations to help you optimize your health and well-being.","Book your health assessment today and take the first step towards a healthier future."]} +{"business_name":"Galactic Fast Food","business_motto":"We'll feed your hunger in less than 12 parsecs!","business_address":"123 Mos Eisley St, Tatooine","domain":"galacticfastfood.com","office_telephone":"+1-555-555-5555","office_email":"info@galacticfastfood.com","industry":"Fast Food","manager":{"name":"Darth Burger","address":"501 Death Star, Outer Rim","phone_number":"+1-555-555-5555","email_address":"darthburger@galacticfastfood.com","username":"darthburger","password":""},"employees":[{"name":"Jedi Frywalker","address":"123 Mos Eisley St, Tatooine","phone_number":"+1-555-555-5555","email_address":"jedifrywalker@galacticfastfood.com","username":"jedifrywalker","password":""},{"name":"Hamburg Solo","address":"321 Millennium Falcon, Corellia","phone_number":"+1-555-555-5555","email_address":"hamburgsolo@galacticfastfood.com","username":"hamburgsolo","password":""},{"name":"Princess Lettuce","address":"789 Alderaan St, Alderaan","phone_number":"+1-555-555-5555","email_address":"princesslettuce@galacticfastfood.com","username":"princesslettuce","password":""}],"product_name":"The Galactic Burger","intro_paragraph":["The Galactic Burger is out of this world! Made with the finest ingredients from across the galaxy, our burger will satisfy even the hungriest of Jedi knights.","Whether you're a fan of the dark side or the light, the Galactic Burger is the perfect meal for any occasion. Come to Galactic Fast Food and try it for yourself!"]} +{"business_name":"Jabba's Joke Emporium","business_motto":"Bringing laughter to the galaxy, one joke at a time!","business_address":"123 Mos Eisley Spaceport, Tatooine","domain":"jabbasjokeemporium.com","office_telephone":"555-5555","office_email":"info@jabbasjokeemporium.com","industry":"Comedy Services","manager":{"name":"Jabba the Hutt","address":"Jabba's Palace, Dune Sea, Tatooine","phone_number":"555-1234","email_address":"jabba@jabbasjokeemporium.com","username":"jabbathehutt","password":""},"employees":[{"name":"Max Rebo","address":"Jabba's Palace, Dune Sea, Tatooine","phone_number":"555-2345","email_address":"maxrebo@jabbasjokeemporium.com","username":"maxrebo","password":""},{"name":"Salacious B. Crumb","address":"Jabba's Palace, Dune Sea, Tatooine","phone_number":"555-3456","email_address":"salacious@jabbasjokeemporium.com","username":"salaciousbcrumb","password":""},{"name":"Bib Fortuna","address":"Jabba's Palace, Dune Sea, Tatooine","phone_number":"555-4567","email_address":"bibfortuna@jabbasjokeemporium.com","username":"bibfortuna","password":""}],"product_name":"Jabba's Joke of the Day","intro_paragraph":["Welcome to Jabba's Joke Emporium, the funniest business in the galaxy!","We offer a wide range of jokes and gags to make you laugh and forget about the stresses of the galaxy.","Sign up for Jabba's Joke of the Day and receive a daily dose of laughter, delivered straight to your inbox!"]} +{"business_name":"Jabba's Snack Emporium","business_motto":"We'll feed you like a Hutt!","business_address":"Tatooine, Mos Eisley Cantina, Booth #3","domain":"jabbassnackemporium.com","office_telephone":"555-555-1234","office_email":"info@jabbassnackemporium.com","industry":"Food Services","manager":{"name":"Jabba the Hutt","address":"Tatooine, Dune Sea Palace, Jabba's Private Chamber","phone_number":"555-555-4321","email_address":"jabba@jabbassnackemporium.com","username":"jabba","password":"pass123"},"employees":[{"name":"Salacious B. Crumb","address":"Tatooine, Mos Eisley Cantina, Booth #4","phone_number":"555-555-0001","email_address":"salacious@jabbassnackemporium.com","username":"salacious","password":"pass123"},{"name":"Max Rebo","address":"Tatooine, Mos Eisley Cantina, Booth #5","phone_number":"555-555-0002","email_address":"max@jabbassnackemporium.com","username":"max","password":"pass123"},{"name":"Droopy McCool","address":"Tatooine, Mos Eisley Cantina, Booth #6","phone_number":"555-555-0003","email_address":"droopy@jabbassnackemporium.com","username":"droopy","password":"pass123"}],"product_name":"Jabba's Snack Pack","intro_paragraph":["Feeling hungry? Come to Jabba's Snack Emporium and satisfy your cravings!","Our famous Jabba's Snack Pack includes a delicious array of Hutt-approved treats, including Bantha Chips, Rancor Rinds, and Wampa Sticks. Wash it down with our signature Blue Milk Shake and you'll be ready to take on the galaxy."]} +{"business_name":"Pickle Palace","business_motto":"We've got the pickles to satisfy even the most outrageous cravings!","business_address":"42 Dimension C-137, Citadel of Ricks","domain":"picklepalace.com","office_telephone":"555-555-5555","office_email":"info@picklepalace.com","industry":"Food and Beverage","manager":{"name":"Rick Sanchez","address":"1313 Mockingbird Lane, Citadel of Ricks","phone_number":"555-555-5555 ext 100","email_address":"rick@picklepalace.com","username":"ricksanchez","password":""},"employees":[{"name":"Morty Smith","address":"42 Dimension C-137, Citadel of Ricks","phone_number":"555-555-5555 ext 101","email_address":"morty@picklepalace.com","username":"mortysmith","password":""},{"name":"Summer Smith","address":"42 Dimension C-137, Citadel of Ricks","phone_number":"555-555-5555 ext 103","email_address":"summer@picklepalace.com","username":"summersmith","password":""},{"name":"Jerry Smith","address":"42 Dimension C-137, Citadel of Ricks","phone_number":"555-555-5555 ext 110","email_address":"jerry@picklepalace.com","username":"jerrysmith","password":""}],"product_name":"Pickle Pack","intro_paragraph":["At Pickle Palace, we've got pickles to satisfy every palate in the multiverse.","Our Pickle Pack includes a variety of pickled delights from across the multiverse, hand-selected by Rick Sanchez himself. From the briny goodness of Earth cucumbers to the exotic flavors of alien vegetables, there's a pickle for everyone in our Pickle Pack."]} +{"business_name":"Paws & Claws Pet Grooming","business_motto":"Making your pets look and feel their best","business_address":"123 Main Street, London NW1 1AA","domain":"pawsandclawspetgrooming.co.uk","office_telephone":"+44 20 123 4567","office_email":"info@pawsandclawspetgrooming.co.uk","industry":"Pet Services","manager":{"name":"Sarah Patel","address":"123 Main Street, London NW1 1AA","phone_number":"+44 20 123 4567 ext 100","email_address":"s.patel@pawsandclawspetgrooming.co.uk","username":"patel_s","password":""},"employees":[{"name":"Rachel Chen","address":"Office A, 123 Main Street, London NW1 1AA","phone_number":"+44 20 123 4567 ext 101","email_address":"r.chen@pawsandclawspetgrooming.co.uk","username":"chen_r","password":""},{"name":"Michael Davis","address":"Office B, 123 Main Street, London NW1 1AA","phone_number":"+44 20 123 4567 ext 103","email_address":"m.davis@pawsandclawspetgrooming.co.uk","username":"davis_m","password":""},{"name":"Natalie Jones","address":"Office B, 123 Main Street, London NW1 1AA","phone_number":"+44 20 123 4567 ext 110","email_address":"n.jones@pawsandclawspetgrooming.co.uk","username":"jones_n","password":""}],"product_name":"Full Grooming Package","intro_paragraph":["At Paws & Claws Pet Grooming, we understand that your pets are like family, which is why we offer top-notch grooming services to keep them looking and feeling their best.","Our full grooming package includes a bath, haircut, nail trim, and ear cleaning, all done with gentle care and attention to detail.","Trust us to pamper your furry friends and bring out their natural beauty. Contact us today to schedule an appointment!"]} diff --git a/lib/resources/structured_content/organisations/lbu_forensics_security.json b/lib/resources/structured_content/organisations/lbu_forensics_security.json deleted file mode 100644 index d276565d4..000000000 --- a/lib/resources/structured_content/organisations/lbu_forensics_security.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "business_name": "Leeds Beckett- Cyber Security and Digital Forensics", - "business_motto": "", - "business_address": "43 Church Wood Ave, Leeds LS16 5LF", - "domain": "leedsbeckett.ac.uk", - "office_telephone": "0113 81 23000", - "office_email": "study@leedsbeckett.ac.uk", - "industry": "Higher Education", - "manager": { - "name": "Dr. Pip Trevorrow", - "address": "102, Caedmon Hall, Headingley Campus", - "phone_number": "0113 81 25169", - "email_address": "P.Trevorrow@leedsbeckett.ac.uk", - "username": "ptrevorrow", - "password": "" - }, - "employees": [ - { - "name": "Dr. Z. Cliffe Schreuders", - "address": "105, Caedmon Hall, Headingley Campus", - "phone_number": "0113 81 28608", - "email_address": "C.Schreuders@leedsbeckett.ac.uk", - "username": "zschreuders", - "password": "" - }, - { - "name": "Tom Shaw", - "address": "117, Caedmon, Headingley Campus", - "phone_number": "0113 81 27429", - "email_address": "T.Shaw@leedsbeckett.ac.uk", - "username": "tshaw", - "password": "" - }, - { - "name": "Dr. Thalita Vergilio", - "address": "105, Caedmon, Headingley Campus", - "phone_number": "0113 81 26424", - "email_address": "T.Vergilio@leedsbeckett.ac.uk", - "username": "tvergilio", - "password": "" - } - ], - "product_name": "University Education", - "intro_paragraph": [ - "Computer forensics involves the analysis of digital devices such as hard drives to identify and investigate their contents. Computer security involves using knowledge of computer systems and networks to protect businesses and users from malicious attacks.", - "This course combines these two fields of national importance and will teach you practical investigative and 'hacking' techniques. You will develop the skills to undertake rigorous forensic analysis and implement robust security mechanisms.", - "This is a hands-on course where you will learn through doing, gaining an in-depth knowledge of how to hack a computer to be able to protect it. You will learn where a computer hides data and how to recover information from a device." - ] -} diff --git a/lib/resources/structured_content/organisations/lbu_law.json b/lib/resources/structured_content/organisations/lbu_law.json deleted file mode 100644 index 6584f7769..000000000 --- a/lib/resources/structured_content/organisations/lbu_law.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "business_name": "Leeds Beckett- Leeds Law School", - "business_motto": "", - "business_address": "City Campus, Leeds LS1 3HE", - "domain": "leedsbeckett.ac.uk", - "office_telephone": "0113 81 23000", - "office_email": "study@leedsbeckett.ac.uk", - "industry": "Higher Education", - "manager": { - "name": "Deveral Capps", - "address": "306, Portland Building, City Campus", - "phone_number": "0113 81 26085", - "email_address": "d.capps@leedsbeckett.ac.uk", - "username": "d_capps", - "password": "" - }, - "employees": [ - { - "name": "Dr. Simon Hale-Ross", - "address": "306, Portland Building, City Campus", - "phone_number": "0113 8129526", - "email_address": "S.Haleross@leedsbeckett.ac.uk", - "username": "s_haleross", - "password": "" - }, - { - "name": "Professor Simon Gardiner", - "address": "204, Rose Bowl, City Campus", - "phone_number": "0113 81 26414", - "email_address": "S.Gardiner@leedsbeckett.ac.uk", - "username": "s_gardiner", - "password": "" - }, - { - "name": "Dr. Jessica Guth", - "address": "306, Portland Building, City Campus", - "phone_number": "0113 81 26403", - "email_address": "J.Guth@leedsbeckett.ac.uk", - "username": "j_guth", - "password": "" - } - ], - "product_name": "University Education", - "intro_paragraph": [ - "Our Law School sits in the heart of the great city of Leeds, the most important legal centre outside London and home to over 180 law firms employing in excess of 8,000 professionals. It is perfectly placed to ensure all our undergraduate, postgraduate, full and part-time students are able to mine the wealth of practical experience and employment opportunities available on our doorstep.", - "With state-of-the-art facilities, mentoring and career development opportunities, placements and a courtroom, students who choose Leeds Law School can expect a successful career founded on high calibre, practical teaching. We offer a broad variety of courses including our LLB, LLM Legal Practice (incorporating the LPC), LLM Qualifying Law Degree (incorporating the GDL) and LLM International Business Law, and each aims to give our graduates the enthusiasm, sharpness of mind and practical tools to thrive in competitive and fast-paced professional environments." - ] -} \ No newline at end of file diff --git a/lib/resources/structured_content/organisations/lbu_music.json b/lib/resources/structured_content/organisations/lbu_music.json deleted file mode 100644 index 093247038..000000000 --- a/lib/resources/structured_content/organisations/lbu_music.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "business_name": "Leeds Beckett- Music and Performing Arts", - "business_motto": "", - "business_address": "43 Church Wood Ave, Leeds LS16 5LF", - "domain": "leedsbeckett.ac.uk", - "office_telephone": "0113 81 23000", - "office_email": "study@leedsbeckett.ac.uk", - "industry": "Higher Education", - "manager": { - "name": "Dr Richard Stevens", - "address": "209, Caedmon, Headingley Campus", - "phone_number": "0113 81 23690", - "email_address": "R.C.Stevens@leedsbeckett.ac.uk", - "username": "r_stevens", - "password": "" - }, - "employees": [ - { - "name": "Dr. Laura Griffiths", - "address": "Reception, Priestley Hall, Headingley Campus", - "phone_number": "n/a", - "email_address": "Laura.Griffiths@leedsbeckett.ac.uk", - "username": "l_griffiths", - "password": "" - }, - { - "name": "Carl Flattery", - "address": "104, Caedmon, Headingley Campus", - "phone_number": "0113 81 27372", - "email_address": "C.Flattery@leedsbeckett.ac.uk", - "username": "c_flattery", - "password": "" - }, - { - "name": "Sam Nicholls", - "address": "212, Caedmon, Headingley Campus", - "phone_number": "0113 81 23726", - "email_address": "S.Nicholls@leedsbeckett.ac.uk", - "username": "s_nicholls", - "password": "" - } - ], - "product_name": "University Education", - "intro_paragraph": [ - "The School of Film, Music & Performing Arts fosters a culture of creation and participation. We are proud shapers of, and contributors to, the cultural life of this great Northern city – a city that is the original birthplace of film. We nurture the arts pioneers of the future: influencers who will not just reflect the outside world, but impact upon it." - ] -} \ No newline at end of file diff --git a/lib/resources/structured_content/organisations/medical2.json b/lib/resources/structured_content/organisations/medical2.json new file mode 100644 index 000000000..c2636b37e --- /dev/null +++ b/lib/resources/structured_content/organisations/medical2.json @@ -0,0 +1,49 @@ +{ + "business_name":"Medicheck Solutions", + "business_motto":"Your health is our priority", + "business_address":"42 Elm Grove, London, SE13 7PT", + "domain":"medichecksolutions.co.uk", + "office_telephone":"020 123 4567", + "office_email":"info@medichecksolutions.co.uk", + "industry":"Medical Services", + "manager":{ + "name":"Sarah Thompson", + "address":"32 High Street, London, SE1 1TD", + "phone_number":"020 123 4567 ext 100", + "email_address":"s.thompson@medichecksolutions.co.uk", + "username":"thompson_s", + "password":"" + }, + "employees":[ + { + "name":"Andrew Green", + "address":"Office A, 42 Elm Grove, London, SE13 7PT", + "phone_number":"020 123 4567 ext 101", + "email_address":"a.green@medichecksolutions.co.uk", + "username":"green_a", + "password":"" + }, + { + "name":"Olivia Patel", + "address":"Office B, 42 Elm Grove, London, SE13 7PT", + "phone_number":"020 123 4567 ext 103", + "email_address":"o.patel@medichecksolutions.co.uk", + "username":"patel_o", + "password":"" + }, + { + "name":"Tom Edwards", + "address":"Office B, 42 Elm Grove, London, SE13 7PT", + "phone_number":"020 123 4567 ext 110", + "email_address":"t.edwards@medichecksolutions.co.uk", + "username":"edwards_t", + "password":"" + } + ], + "product_name":"Health Assessment", + "intro_paragraph":[ + "A health assessment is a comprehensive check-up designed to provide an in-depth analysis of your current health status and identify potential future health risks.", + "At Medicheck Solutions, we use our medical expertise to provide you with personalized recommendations to help you optimize your health and well-being.", + "Book your health assessment today and take the first step towards a healthier future." + ] +} diff --git a/lib/resources/structured_content/organisations/parody1.json b/lib/resources/structured_content/organisations/parody1.json new file mode 100644 index 000000000..b5a97c912 --- /dev/null +++ b/lib/resources/structured_content/organisations/parody1.json @@ -0,0 +1,48 @@ +{ + "business_name":"Galactic Fast Food", + "business_motto":"We'll feed your hunger in less than 12 parsecs!", + "business_address":"123 Mos Eisley St, Tatooine", + "domain":"galacticfastfood.com", + "office_telephone":"+1-555-555-5555", + "office_email":"info@galacticfastfood.com", + "industry":"Fast Food", + "manager":{ + "name":"Darth Burger", + "address":"501 Death Star, Outer Rim", + "phone_number":"+1-555-555-5555", + "email_address":"darthburger@galacticfastfood.com", + "username":"darthburger", + "password":"" + }, + "employees":[ + { + "name":"Jedi Frywalker", + "address":"123 Mos Eisley St, Tatooine", + "phone_number":"+1-555-555-5555", + "email_address":"jedifrywalker@galacticfastfood.com", + "username":"jedifrywalker", + "password":"" + }, + { + "name":"Hamburg Solo", + "address":"321 Millennium Falcon, Corellia", + "phone_number":"+1-555-555-5555", + "email_address":"hamburgsolo@galacticfastfood.com", + "username":"hamburgsolo", + "password":"" + }, + { + "name":"Princess Lettuce", + "address":"789 Alderaan St, Alderaan", + "phone_number":"+1-555-555-5555", + "email_address":"princesslettuce@galacticfastfood.com", + "username":"princesslettuce", + "password":"" + } + ], + "product_name":"The Galactic Burger", + "intro_paragraph":[ + "The Galactic Burger is out of this world! Made with the finest ingredients from across the galaxy, our burger will satisfy even the hungriest of Jedi knights.", + "Whether you're a fan of the dark side or the light, the Galactic Burger is the perfect meal for any occasion. Come to Galactic Fast Food and try it for yourself!" + ] +} diff --git a/lib/resources/structured_content/organisations/parody2.json b/lib/resources/structured_content/organisations/parody2.json new file mode 100644 index 000000000..58b9ac230 --- /dev/null +++ b/lib/resources/structured_content/organisations/parody2.json @@ -0,0 +1,49 @@ +{ + "business_name": "Jabba's Joke Emporium", + "business_motto": "Bringing laughter to the galaxy, one joke at a time!", + "business_address": "123 Mos Eisley Spaceport, Tatooine", + "domain": "jabbasjokeemporium.com", + "office_telephone": "555-5555", + "office_email": "info@jabbasjokeemporium.com", + "industry": "Comedy Services", + "manager": { + "name": "Jabba the Hutt", + "address": "Jabba's Palace, Dune Sea, Tatooine", + "phone_number": "555-1234", + "email_address": "jabba@jabbasjokeemporium.com", + "username": "jabbathehutt", + "password": "" + }, + "employees": [ + { + "name": "Max Rebo", + "address": "Jabba's Palace, Dune Sea, Tatooine", + "phone_number": "555-2345", + "email_address": "maxrebo@jabbasjokeemporium.com", + "username": "maxrebo", + "password": "" + }, + { + "name": "Salacious B. Crumb", + "address": "Jabba's Palace, Dune Sea, Tatooine", + "phone_number": "555-3456", + "email_address": "salacious@jabbasjokeemporium.com", + "username": "salaciousbcrumb", + "password": "" + }, + { + "name": "Bib Fortuna", + "address": "Jabba's Palace, Dune Sea, Tatooine", + "phone_number": "555-4567", + "email_address": "bibfortuna@jabbasjokeemporium.com", + "username": "bibfortuna", + "password": "" + } + ], + "product_name": "Jabba's Joke of the Day", + "intro_paragraph": [ + "Welcome to Jabba's Joke Emporium, the funniest business in the galaxy!", + "We offer a wide range of jokes and gags to make you laugh and forget about the stresses of the galaxy.", + "Sign up for Jabba's Joke of the Day and receive a daily dose of laughter, delivered straight to your inbox!" + ] +} diff --git a/lib/resources/structured_content/organisations/parody3.json b/lib/resources/structured_content/organisations/parody3.json new file mode 100644 index 000000000..9a91a0fb4 --- /dev/null +++ b/lib/resources/structured_content/organisations/parody3.json @@ -0,0 +1,48 @@ +{ + "business_name":"Jabba's Snack Emporium", + "business_motto":"We'll feed you like a Hutt!", + "business_address":"Tatooine, Mos Eisley Cantina, Booth #3", + "domain":"jabbassnackemporium.com", + "office_telephone":"555-555-1234", + "office_email":"info@jabbassnackemporium.com", + "industry":"Food Services", + "manager":{ + "name":"Jabba the Hutt", + "address":"Tatooine, Dune Sea Palace, Jabba's Private Chamber", + "phone_number":"555-555-4321", + "email_address":"jabba@jabbassnackemporium.com", + "username":"jabba", + "password":"pass123" + }, + "employees":[ + { + "name":"Salacious B. Crumb", + "address":"Tatooine, Mos Eisley Cantina, Booth #4", + "phone_number":"555-555-0001", + "email_address":"salacious@jabbassnackemporium.com", + "username":"salacious", + "password":"pass123" + }, + { + "name":"Max Rebo", + "address":"Tatooine, Mos Eisley Cantina, Booth #5", + "phone_number":"555-555-0002", + "email_address":"max@jabbassnackemporium.com", + "username":"max", + "password":"pass123" + }, + { + "name":"Droopy McCool", + "address":"Tatooine, Mos Eisley Cantina, Booth #6", + "phone_number":"555-555-0003", + "email_address":"droopy@jabbassnackemporium.com", + "username":"droopy", + "password":"pass123" + } + ], + "product_name":"Jabba's Snack Pack", + "intro_paragraph":[ + "Feeling hungry? Come to Jabba's Snack Emporium and satisfy your cravings!", + "Our famous Jabba's Snack Pack includes a delicious array of Hutt-approved treats, including Bantha Chips, Rancor Rinds, and Wampa Sticks. Wash it down with our signature Blue Milk Shake and you'll be ready to take on the galaxy." + ] +} diff --git a/lib/resources/structured_content/organisations/parody4.json b/lib/resources/structured_content/organisations/parody4.json new file mode 100644 index 000000000..915cad22b --- /dev/null +++ b/lib/resources/structured_content/organisations/parody4.json @@ -0,0 +1,48 @@ +{ + "business_name": "Pickle Palace", + "business_motto": "We've got the pickles to satisfy even the most outrageous cravings!", + "business_address": "42 Dimension C-137, Citadel of Ricks", + "domain": "picklepalace.com", + "office_telephone": "555-555-5555", + "office_email": "info@picklepalace.com", + "industry": "Food and Beverage", + "manager": { + "name": "Rick Sanchez", + "address": "1313 Mockingbird Lane, Citadel of Ricks", + "phone_number": "555-555-5555 ext 100", + "email_address": "rick@picklepalace.com", + "username": "ricksanchez", + "password": "" + }, + "employees": [ + { + "name": "Morty Smith", + "address": "42 Dimension C-137, Citadel of Ricks", + "phone_number": "555-555-5555 ext 101", + "email_address": "morty@picklepalace.com", + "username": "mortysmith", + "password": "" + }, + { + "name": "Summer Smith", + "address": "42 Dimension C-137, Citadel of Ricks", + "phone_number": "555-555-5555 ext 103", + "email_address": "summer@picklepalace.com", + "username": "summersmith", + "password": "" + }, + { + "name": "Jerry Smith", + "address": "42 Dimension C-137, Citadel of Ricks", + "phone_number": "555-555-5555 ext 110", + "email_address": "jerry@picklepalace.com", + "username": "jerrysmith", + "password": "" + } + ], + "product_name": "Pickle Pack", + "intro_paragraph": [ + "At Pickle Palace, we've got pickles to satisfy every palate in the multiverse.", + "Our Pickle Pack includes a variety of pickled delights from across the multiverse, hand-selected by Rick Sanchez himself. From the briny goodness of Earth cucumbers to the exotic flavors of alien vegetables, there's a pickle for everyone in our Pickle Pack." + ] +} diff --git a/lib/resources/structured_content/organisations/pet_grooming.json b/lib/resources/structured_content/organisations/pet_grooming.json new file mode 100644 index 000000000..08a6ea13e --- /dev/null +++ b/lib/resources/structured_content/organisations/pet_grooming.json @@ -0,0 +1,49 @@ +{ + "business_name":"Paws & Claws Pet Grooming", + "business_motto":"Making your pets look and feel their best", + "business_address":"123 Main Street, London NW1 1AA", + "domain":"pawsandclawspetgrooming.co.uk", + "office_telephone":"+44 20 123 4567", + "office_email":"info@pawsandclawspetgrooming.co.uk", + "industry":"Pet Services", + "manager":{ + "name":"Sarah Patel", + "address":"123 Main Street, London NW1 1AA", + "phone_number":"+44 20 123 4567 ext 100", + "email_address":"s.patel@pawsandclawspetgrooming.co.uk", + "username":"patel_s", + "password":"" + }, + "employees":[ + { + "name":"Rachel Chen", + "address":"Office A, 123 Main Street, London NW1 1AA", + "phone_number":"+44 20 123 4567 ext 101", + "email_address":"r.chen@pawsandclawspetgrooming.co.uk", + "username":"chen_r", + "password":"" + }, + { + "name":"Michael Davis", + "address":"Office B, 123 Main Street, London NW1 1AA", + "phone_number":"+44 20 123 4567 ext 103", + "email_address":"m.davis@pawsandclawspetgrooming.co.uk", + "username":"davis_m", + "password":"" + }, + { + "name":"Natalie Jones", + "address":"Office B, 123 Main Street, London NW1 1AA", + "phone_number":"+44 20 123 4567 ext 110", + "email_address":"n.jones@pawsandclawspetgrooming.co.uk", + "username":"jones_n", + "password":"" + } + ], + "product_name":"Full Grooming Package", + "intro_paragraph":[ + "At Paws & Claws Pet Grooming, we understand that your pets are like family, which is why we offer top-notch grooming services to keep them looking and feeling their best.", + "Our full grooming package includes a bath, haircut, nail trim, and ear cleaning, all done with gentle care and attention to detail.", + "Trust us to pamper your furry friends and bring out their natural beauty. Contact us today to schedule an appointment!" + ] +} diff --git a/modules/build/unix/cleanup/manifests/init.pp b/modules/build/unix/cleanup/manifests/init.pp index 1eea22367..1b464635f 100644 --- a/modules/build/unix/cleanup/manifests/init.pp +++ b/modules/build/unix/cleanup/manifests/init.pp @@ -24,6 +24,10 @@ class cleanup::init { ensure => present, password => pw_hash($root_password, 'SHA-512', 'mysalt'), } + ::accounts::user { 'vagrant': + ensure => present, + password => pw_hash($root_password, 'SHA-512', 'mysalt'), + } } # if kali_msf we have a default kali sudoer account by default, so change the kali user password too. diff --git a/modules/vulnerabilities/unix/access_control_misconfigurations/suid_root_man/manifests/config.pp b/modules/vulnerabilities/unix/access_control_misconfigurations/suid_root_man/manifests/config.pp deleted file mode 100644 index 5a423eb49..000000000 --- a/modules/vulnerabilities/unix/access_control_misconfigurations/suid_root_man/manifests/config.pp +++ /dev/null @@ -1,20 +0,0 @@ -class suid_root_man::config { - $secgen_parameters = secgen_functions::get_parameters($::base64_inputs_file) - $leaked_filenames = $secgen_parameters['leaked_filenames'] - $strings_to_leak = $secgen_parameters['strings_to_leak'] - - file { '/usr/bin/man': - mode => "4755", - owner => "root", - } - - ::secgen_functions::leak_files { 'setuid-root-man-flag-leak': - storage_directory => '/root', - leaked_filenames => $leaked_filenames, - strings_to_leak => $strings_to_leak, - owner => 'root', - mode => '0600', - leaked_from => 'setuid-root-man-flag-leak', - } - -} diff --git a/modules/vulnerabilities/unix/access_control_misconfigurations/suid_root_man/manifests/install.pp b/modules/vulnerabilities/unix/access_control_misconfigurations/suid_root_man/manifests/install.pp deleted file mode 100644 index 811918c26..000000000 --- a/modules/vulnerabilities/unix/access_control_misconfigurations/suid_root_man/manifests/install.pp +++ /dev/null @@ -1,3 +0,0 @@ -class suid_root_man::install { - ensure_packages('man') -} diff --git a/modules/vulnerabilities/unix/access_control_misconfigurations/suid_root_man/secgen_metadata.xml b/modules/vulnerabilities/unix/access_control_misconfigurations/suid_root_man/secgen_metadata.xml deleted file mode 100644 index 66dcea604..000000000 --- a/modules/vulnerabilities/unix/access_control_misconfigurations/suid_root_man/secgen_metadata.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - Access Control SUID root man - Z. Cliffe Schreuders - Apache v2 - Mis-configure man file permissions to run with root privileges - - access_control_misconfiguration - suid_root_editor - root_rw - local - unix - - strings_to_leak - leaked_filenames - - - - - - - - - - - Man page permission misconfiguration - Man running as root user - - access control - Elevated privileges - Vulnerabilities and attacks on access control misconfigurations - - - Access controls and operating systems - Linux security model - Attacks against SUID - - - diff --git a/modules/vulnerabilities/unix/access_control_misconfigurations/suid_root_man/secgen_test/suid_root_nano.rb b/modules/vulnerabilities/unix/access_control_misconfigurations/suid_root_man/secgen_test/suid_root_nano.rb deleted file mode 100644 index b19af05dc..000000000 --- a/modules/vulnerabilities/unix/access_control_misconfigurations/suid_root_man/secgen_test/suid_root_nano.rb +++ /dev/null @@ -1,19 +0,0 @@ -require_relative '../../../../../lib/post_provision_test' - - -class SUIDNanoTest < PostProvisionTest - def initialize - self.module_name = 'suid_root_man' - self.module_path = get_module_path(__FILE__) - super - end - - def test_module - super - test_local_command('man suid bit set?','sudo ls -la /usr/bin/man', '-rwsrwxrwx') - test_local_command('man runs?','/usr/bin/man --version', 'GNU nano') - end - -end - -SUIDNanoTest.new.run diff --git a/modules/vulnerabilities/unix/access_control_misconfigurations/suid_root_man/suid_root_man.pp b/modules/vulnerabilities/unix/access_control_misconfigurations/suid_root_man/suid_root_man.pp deleted file mode 100644 index d7b705d0c..000000000 --- a/modules/vulnerabilities/unix/access_control_misconfigurations/suid_root_man/suid_root_man.pp +++ /dev/null @@ -1,2 +0,0 @@ -include suid_root_man::install -include suid_root_man::config diff --git a/modules/vulnerabilities/unix/ctf/misc/hidden_file/secgen_metadata.xml b/modules/vulnerabilities/unix/ctf/misc/hidden_file/secgen_metadata.xml index 1c4ad2226..6c83c2393 100644 --- a/modules/vulnerabilities/unix/ctf/misc/hidden_file/secgen_metadata.xml +++ b/modules/vulnerabilities/unix/ctf/misc/hidden_file/secgen_metadata.xml @@ -10,7 +10,7 @@ ctf_challenge - none + info_leak local linux diff --git a/modules/vulnerabilities/unix/ctf/pwn/bash_path_env_suid/secgen_metadata.xml b/modules/vulnerabilities/unix/ctf/pwn/bash_path_env_suid/secgen_metadata.xml index b7034a19b..46cac9cb8 100644 --- a/modules/vulnerabilities/unix/ctf/pwn/bash_path_env_suid/secgen_metadata.xml +++ b/modules/vulnerabilities/unix/ctf/pwn/bash_path_env_suid/secgen_metadata.xml @@ -11,7 +11,7 @@ system ctf_challenge - none + info_leak local linux diff --git a/modules/vulnerabilities/unix/ctf/pwn/relative_path_suid_hardlinks/secgen_metadata.xml b/modules/vulnerabilities/unix/ctf/pwn/relative_path_suid_hardlinks/secgen_metadata.xml index ff4074edb..dd81da115 100644 --- a/modules/vulnerabilities/unix/ctf/pwn/relative_path_suid_hardlinks/secgen_metadata.xml +++ b/modules/vulnerabilities/unix/ctf/pwn/relative_path_suid_hardlinks/secgen_metadata.xml @@ -12,7 +12,7 @@ system ctf_challenge - none + info_leak local linux diff --git a/modules/vulnerabilities/unix/ctf/pwn/symlinks/secgen_metadata.xml b/modules/vulnerabilities/unix/ctf/pwn/symlinks/secgen_metadata.xml index 5d9fba39a..4ae118658 100644 --- a/modules/vulnerabilities/unix/ctf/pwn/symlinks/secgen_metadata.xml +++ b/modules/vulnerabilities/unix/ctf/pwn/symlinks/secgen_metadata.xml @@ -10,7 +10,7 @@ exploits symlink to shadow, weak password so users can crack the hash system - none + info_leak local linux @@ -56,5 +56,5 @@ Access controls and operating systems Linux security model - + diff --git a/modules/vulnerabilities/unix/ctf/reverse/java/java_decompile/secgen_metadata.xml b/modules/vulnerabilities/unix/ctf/reverse/java/java_decompile/secgen_metadata.xml index e7a9f1a16..00434b149 100644 --- a/modules/vulnerabilities/unix/ctf/reverse/java/java_decompile/secgen_metadata.xml +++ b/modules/vulnerabilities/unix/ctf/reverse/java/java_decompile/secgen_metadata.xml @@ -11,7 +11,7 @@ ctf_challenge reverse_engineering - none + info_leak local linux diff --git a/modules/vulnerabilities/unix/ctf/zip_file/secgen_metadata.xml b/modules/vulnerabilities/unix/ctf/zip_file/secgen_metadata.xml index 202663b36..b0e908645 100644 --- a/modules/vulnerabilities/unix/ctf/zip_file/secgen_metadata.xml +++ b/modules/vulnerabilities/unix/ctf/zip_file/secgen_metadata.xml @@ -12,7 +12,7 @@ zip_file system - none + info_leak local linux diff --git a/modules/vulnerabilities/unix/http/jenkins_cli/files/jenkins.war.partaa b/modules/vulnerabilities/unix/http/jenkins_cli/files/jenkins.war.partaa new file mode 100644 index 000000000..5e7b3ea0f Binary files /dev/null and b/modules/vulnerabilities/unix/http/jenkins_cli/files/jenkins.war.partaa differ diff --git a/modules/vulnerabilities/unix/http/jenkins_cli/files/jenkins.war.partab b/modules/vulnerabilities/unix/http/jenkins_cli/files/jenkins.war.partab new file mode 100644 index 000000000..ba5ffe793 Binary files /dev/null and b/modules/vulnerabilities/unix/http/jenkins_cli/files/jenkins.war.partab differ diff --git a/modules/vulnerabilities/unix/http/jenkins_cli/files/stretch.list b/modules/vulnerabilities/unix/http/jenkins_cli/files/stretch.list new file mode 100644 index 000000000..927ab7e90 --- /dev/null +++ b/modules/vulnerabilities/unix/http/jenkins_cli/files/stretch.list @@ -0,0 +1,2 @@ +deb http://deb.debian.org/debian/ stretch main +deb-src http://deb.debian.org/debian stretch main \ No newline at end of file diff --git a/modules/vulnerabilities/unix/http/jenkins_cli/jenkins_cli.pp b/modules/vulnerabilities/unix/http/jenkins_cli/jenkins_cli.pp new file mode 100644 index 000000000..06b7e7c01 --- /dev/null +++ b/modules/vulnerabilities/unix/http/jenkins_cli/jenkins_cli.pp @@ -0,0 +1,4 @@ +contain jenkins_cli::install +contain jenkins_cli::configure +Class['jenkins_cli::install'] +-> Class['jenkins_cli::configure'] diff --git a/modules/vulnerabilities/unix/http/jenkins_cli/manifests/configure.pp b/modules/vulnerabilities/unix/http/jenkins_cli/manifests/configure.pp new file mode 100644 index 000000000..beacf3786 --- /dev/null +++ b/modules/vulnerabilities/unix/http/jenkins_cli/manifests/configure.pp @@ -0,0 +1,29 @@ +# Class: jenkins_cli::configure +# Configuration and extras for Jenkins cli +# +class jenkins_cli::configure { + $secgen_parameters = secgen_functions::get_parameters($::base64_inputs_file) + $leaked_filenames = $secgen_parameters['leaked_filenames'] + $strings_to_leak = $secgen_parameters['strings_to_leak'] + + Exec { path => ['/bin', '/usr/bin', '/usr/local/bin', '/sbin', '/usr/sbin'] } + + $user = $secgen_parameters['leaked_username'][0] + $user_home = "/home/${user}" + + # Create user + user { $user: + ensure => present, + home => $user_home, + managehome => true, + } + + ::secgen_functions::leak_files { 'jenkins-flag-leak': + storage_directory => $user_home, + leaked_filenames => $leaked_filenames, + strings_to_leak => $strings_to_leak, + owner => $user, + mode => '0644', + leaked_from => 'jenkins_cli', + } +} diff --git a/modules/vulnerabilities/unix/http/jenkins_cli/manifests/install.pp b/modules/vulnerabilities/unix/http/jenkins_cli/manifests/install.pp new file mode 100644 index 000000000..ea6cbd2b9 --- /dev/null +++ b/modules/vulnerabilities/unix/http/jenkins_cli/manifests/install.pp @@ -0,0 +1,49 @@ +# Class: jenkins_cli +# Install process for Jenkins cli +# https://github.com/rapid7/metasploit-framework/blob/master/documentation/modules/exploit/linux/http/jenkins_cli_deserialization.md +class jenkins_cli::install { + Exec { path => [ '/bin/', '/sbin/' , '/usr/bin/', '/usr/sbin/' ] } + + $secgen_parameters = secgen_functions::get_parameters($::base64_inputs_file) + $user = $secgen_parameters['leaked_username'][0] + $port = $secgen_parameters['port'][0] + + $modulename = 'jenkins_cli' + $releasename = 'jenkins.war' + $splits = ["${releasename}.partaa", + "${releasename}.partab"] + + $splits.each |String $split| { + file { "/tmp/${split}": + ensure => file, + source => "puppet:///modules/${modulename}/${split}", + } + } + + # This generates a repo file so we can get packages from debian stretch + file { '/etc/apt/sources.list.d/stretch.list': + ensure => file, + source => 'puppet:///modules/jenkins_cli/stretch.list' + } + -> exec { 'update-packages': + command => 'apt update' + } + -> package { 'install-jdk8': + ensure => installed, + name => 'openjdk-8-jdk', + } + + exec { 'rebuild-archive': + cwd => '/tmp/', + command => "cat ${releasename}.parta* >/usr/local/bin/${releasename}", + } + -> file { '/etc/systemd/system/jenkins.service': + content => template("${modulename}/jenkins.service.erb"), + owner => 'root', + mode => '0755', + } + -> service { 'jenkins': + ensure => running, + enable => true, + } +} diff --git a/modules/vulnerabilities/unix/http/jenkins_cli/secgen_metadata.xml b/modules/vulnerabilities/unix/http/jenkins_cli/secgen_metadata.xml new file mode 100644 index 000000000..8d5e8f1b6 --- /dev/null +++ b/modules/vulnerabilities/unix/http/jenkins_cli/secgen_metadata.xml @@ -0,0 +1,73 @@ + + + + Jenkins CLI Deserialization - Unauthenticated RCE - v2.56 and below + James Davis + MIT + An unauthenticated Java object deserialization vulnerability exists + in the CLI component for Jenkins versions `v2.56` and below. + The `readFrom` method within the `Command` class in the Jenkins + CLI remoting component deserializes objects received from clients without + first checking / sanitizing the data. Because of this, a malicious serialized + object contained within a serialized `SignedObject` can be sent to the Jenkins + endpoint to achieve code execution on the target. + + http + bruteforceable + in_the_wild + user_rwx + remote + linux + low + + port + strings_to_leak + leaked_filenames + + + + + + + + + + + + + + + + + + + CVE-2017-1000353 + 9.8 + AV:N/AC:L/Au:N/C:C/I:C/A:C + + https://github.com/rapid7/metasploit-framework/blob/master/modules/exploits/linux/http/jenkins_cli_deserialization.rb + + https://github.com/rapid7/metasploit-framework/blob/master/documentation/modules/exploit/linux/http/jenkins_cli_deserialization.md + Jenkins + MIT + + + EXPLOITATION + EXPLOITATION FRAMEWORKS + + + CVEs and CWEs + + + PENETRATION TESTING - SOFTWARE TOOLS + PENETRATION TESTING - ACTIVE PENETRATION + + + server-side misconfiguration and vulnerable components + Serialized objects + + + diff --git a/modules/vulnerabilities/unix/http/jenkins_cli/templates/jenkins.service.erb b/modules/vulnerabilities/unix/http/jenkins_cli/templates/jenkins.service.erb new file mode 100644 index 000000000..4cce9cbd7 --- /dev/null +++ b/modules/vulnerabilities/unix/http/jenkins_cli/templates/jenkins.service.erb @@ -0,0 +1,13 @@ +[Unit] +Description=Jenkins Service +After=network.target + +[Service] +Type=simple +User=<%= @leaked_username %> +ExecStart=/bin/sh -c "java -Djenkins.install.runSetupWizard=false -jar /usr/local/bin/jenkins.war --httpPort=<% @port %>" +Restart=on-abort +RestartSec=1 + +[Install] +WantedBy=multi-user.target \ No newline at end of file diff --git a/modules/vulnerabilities/unix/http/linuxki_rce/files/linuxki_6.0-1_all.deb b/modules/vulnerabilities/unix/http/linuxki_rce/files/linuxki_6.0-1_all.deb new file mode 100644 index 000000000..52adc24de Binary files /dev/null and b/modules/vulnerabilities/unix/http/linuxki_rce/files/linuxki_6.0-1_all.deb differ diff --git a/modules/vulnerabilities/unix/http/linuxki_rce/linuxki_rce.pp b/modules/vulnerabilities/unix/http/linuxki_rce/linuxki_rce.pp new file mode 100644 index 000000000..16037f28d --- /dev/null +++ b/modules/vulnerabilities/unix/http/linuxki_rce/linuxki_rce.pp @@ -0,0 +1,6 @@ +contain linuxki_rce::install +contain linuxki_rce::apache +contain linuxki_rce::configure +Class['linuxki_rce::install'] +-> Class['linuxki_rce::apache'] +-> Class['linuxki_rce::configure'] diff --git a/modules/vulnerabilities/unix/http/linuxki_rce/manifests/apache.pp b/modules/vulnerabilities/unix/http/linuxki_rce/manifests/apache.pp new file mode 100644 index 000000000..c05978088 --- /dev/null +++ b/modules/vulnerabilities/unix/http/linuxki_rce/manifests/apache.pp @@ -0,0 +1,58 @@ +# Class: linuxki::apache +# Apache configuration for linuxki +# +class linuxki_rce::apache { + Exec { path => ['/bin', '/usr/bin', '/usr/local/bin', '/sbin', '/usr/sbin'] } + + $secgen_parameters = secgen_functions::get_parameters($::base64_inputs_file) + $port = $secgen_parameters['port'][0] + + file { '/etc/apache2/sites-enabled/000-default.conf': + ensure => absent, + } + + class { '::apache': + default_vhost => false, + default_mods => ['rewrite'], # php5 via separate module + overwrite_ports => false, + mpm_module => 'prefork', + } + -> ::apache::vhost { 'linuxki': + port => $port, + options => 'FollowSymLinks', + override => 'All', + docroot => '/opt/', + directories => [{ + path => '/opt/', + allow => 'from all', + },{ + path => '/opt/linuxki/', + allow => 'from all', + }], + } + + $dirmatch = ' + Options Indexes FollowSymLinks + AllowOverride None + Require all granted + + + + Options Indexes FollowSymLinks + AllowOverride None + Require all granted + ' + + # ugly way to append to the file... clean up potentially? + exec { 'append-directories': + command => "grep -qE '|' /etc/apache2/apache2.conf && echo '' || echo \"${dirmatch}\" | sudo tee -a /etc/apache2/apache2.conf", + } + # restart apache + -> exec { 'restart-apache-linuxki': + command => 'service apache2 restart', + logoutput => true + } + -> exec { 'wait-apache-linuxki': + command => 'sleep 4', + } +} diff --git a/modules/vulnerabilities/unix/http/linuxki_rce/manifests/configure.pp b/modules/vulnerabilities/unix/http/linuxki_rce/manifests/configure.pp new file mode 100644 index 000000000..c360ae0ff --- /dev/null +++ b/modules/vulnerabilities/unix/http/linuxki_rce/manifests/configure.pp @@ -0,0 +1,29 @@ +# Class: linuxki_rce::configure +# LinuxKI configuration +# +class linuxki_rce::configure { + $secgen_parameters = secgen_functions::get_parameters($::base64_inputs_file) + $leaked_filenames = $secgen_parameters['leaked_filenames'] + $strings_to_leak = $secgen_parameters['strings_to_leak'] + + $user = $secgen_parameters['leaked_username'][0] + $user_home = "/home/${user}" + + Exec { path => ['/bin', '/usr/bin', '/usr/local/bin', '/sbin', '/usr/sbin'] } + + # Create user + user { $user: + ensure => present, + home => $user_home, + managehome => true, + } + + ::secgen_functions::leak_files { 'linuxki-flag-leak': + storage_directory => $user_home, + leaked_filenames => $leaked_filenames, + strings_to_leak => $strings_to_leak, + owner => $user, + mode => '0644', + leaked_from => 'linuxki_rce', + } +} diff --git a/modules/vulnerabilities/unix/http/linuxki_rce/manifests/install.pp b/modules/vulnerabilities/unix/http/linuxki_rce/manifests/install.pp new file mode 100644 index 000000000..49b080c34 --- /dev/null +++ b/modules/vulnerabilities/unix/http/linuxki_rce/manifests/install.pp @@ -0,0 +1,19 @@ +# Class: linuxki_rce::install +# Install process for linuxKI toolkit +# +class linuxki_rce::install { + Exec { path => [ '/bin/', '/sbin/' , '/usr/bin/', '/usr/sbin/' ] } + + # Maybe automate linux-headers to use uname -r? + ensure_packages(['make', 'elfutils', 'php', 'linux-headers-4.19.0-21-amd64']) + + file { '/tmp/linuxki_6.0-1_all.deb': + ensure => file, + source => 'puppet:///modules/linuxki_rce/linuxki_6.0-1_all.deb', + } + -> package { 'linuxki': + ensure => installed, + provider => dpkg, + source => '/tmp/linuxki_6.0-1_all.deb' + } +} diff --git a/modules/vulnerabilities/unix/http/linuxki_rce/secgen_metadata.xml b/modules/vulnerabilities/unix/http/linuxki_rce/secgen_metadata.xml new file mode 100644 index 000000000..ce6a67291 --- /dev/null +++ b/modules/vulnerabilities/unix/http/linuxki_rce/secgen_metadata.xml @@ -0,0 +1,79 @@ + + + + LinuxKI Toolset 6.01 Remote Command Execution + James Davis + MIT + + This module exploits a vulnerability in LinuxKI Toolset 6.01 and below which allows + remote code execution. + The kivis.php pid parameter received from the user is sent to the shell_exec function, + resulting in security vulnerability. + + + web + in_the_wild + user_rwx + remote + linux + low + + port + strings_to_leak + leaked_filenames + + + + + + + + + + + + + + + + + + + + CVE-2020-7209 + 9.8 + AV:N/AC:L/Au:N/C:C/I:C/A:C + + https://github.com/rapid7/metasploit-framework/blob/master/modules/exploits/linux/http/linuxki_rce.rb + https://github.com/HewlettPackard/LinuxKI/releases/tag/v6.0-1 + LinuxKI + GNU GPLv2 + + + update + + + + .*apache.*compatible.* + + + + EXPLOITATION + EXPLOITATION FRAMEWORKS + + + CVEs and CWEs + + + PENETRATION TESTING - SOFTWARE TOOLS + PENETRATION TESTING - ACTIVE PENETRATION + + + server-side misconfiguration and vulnerable components + Command injection + + + diff --git a/modules/vulnerabilities/unix/http/lucee_rce/files/lucee-express-5.3.7.43.zip.partaa b/modules/vulnerabilities/unix/http/lucee_rce/files/lucee-express-5.3.7.43.zip.partaa new file mode 100644 index 000000000..6c16eef3a Binary files /dev/null and b/modules/vulnerabilities/unix/http/lucee_rce/files/lucee-express-5.3.7.43.zip.partaa differ diff --git a/modules/vulnerabilities/unix/http/lucee_rce/files/lucee-express-5.3.7.43.zip.partab b/modules/vulnerabilities/unix/http/lucee_rce/files/lucee-express-5.3.7.43.zip.partab new file mode 100644 index 000000000..2e747ac2d Binary files /dev/null and b/modules/vulnerabilities/unix/http/lucee_rce/files/lucee-express-5.3.7.43.zip.partab differ diff --git a/modules/vulnerabilities/unix/http/lucee_rce/lucee_rce.pp b/modules/vulnerabilities/unix/http/lucee_rce/lucee_rce.pp new file mode 100644 index 000000000..47b1485cd --- /dev/null +++ b/modules/vulnerabilities/unix/http/lucee_rce/lucee_rce.pp @@ -0,0 +1,6 @@ +contain lucee_rce::install +contain lucee_rce::service +contain lucee_rce::configure +Class['lucee_rce::install'] +-> Class['lucee_rce::configure'] +-> Class['lucee_rce::service'] diff --git a/modules/vulnerabilities/unix/http/lucee_rce/manifests/configure.pp b/modules/vulnerabilities/unix/http/lucee_rce/manifests/configure.pp new file mode 100644 index 000000000..16621a806 --- /dev/null +++ b/modules/vulnerabilities/unix/http/lucee_rce/manifests/configure.pp @@ -0,0 +1,25 @@ +# Class: lucee_rce::configure +# Configuration for lucee with secgen +# +class lucee_rce::configure { + $secgen_parameters = secgen_functions::get_parameters($::base64_inputs_file) + $leaked_filenames = $secgen_parameters['leaked_filenames'] + $strings_to_leak = $secgen_parameters['strings_to_leak'] + $user = $secgen_parameters['leaked_username'][0] + $user_home = "/home/${user}" + + Exec { path => ['/bin', '/usr/bin', '/usr/local/bin', '/sbin', '/usr/sbin'] } + + file { '/usr/local/src/lucee-express-5.3.7.43.zip': + ensure => absent + } + + ::secgen_functions::leak_files { 'lucee-flag-leak': + storage_directory => $user_home, + leaked_filenames => $leaked_filenames, + strings_to_leak => $strings_to_leak, + owner => $user, + mode => '0644', + leaked_from => 'lucee_rce', + } +} diff --git a/modules/vulnerabilities/unix/http/lucee_rce/manifests/install.pp b/modules/vulnerabilities/unix/http/lucee_rce/manifests/install.pp new file mode 100644 index 000000000..702259225 --- /dev/null +++ b/modules/vulnerabilities/unix/http/lucee_rce/manifests/install.pp @@ -0,0 +1,52 @@ +# Class: lucee_rce::install +# Install process for lucee can be found at: +# https://docs.lucee.org/guides/installing-lucee/download-and-install.html +class lucee_rce::install { + Exec { path => [ '/bin/', '/sbin/' , '/usr/bin/', '/usr/sbin/' ] } + $modulename = 'lucee_rce' + $releasename = 'lucee-express-5.3.7.43.zip' + $splits = ["${releasename}.partaa", + "${releasename}.partab"] + + $secgen_parameters = secgen_functions::get_parameters($::base64_inputs_file) + $port = $secgen_parameters['port'][0] + $user = $secgen_parameters['leaked_username'][0] + $user_home = "/home/${user}" + + ensure_packages(['openjdk-11-jdk'], { ensure => 'installed'}) + + $splits.each |String $split| { + file { "/tmp/${split}": + ensure => file, + source => "puppet:///modules/${modulename}/${split}", + } + } + + # Create user + user { $user: + ensure => present, + home => $user_home, + managehome => true, + } + + exec { 'rebuild-archive': + cwd => '/tmp/', + command => "cat ${releasename}.parta* >/usr/local/src/${releasename}", + } + -> exec { 'unpack-lucee': + cwd => '/usr/local/src/', + command => 'unzip -n lucee-express-5.3.7.43.zip', + } + -> file { '/usr/local/src/logs/': + ensure => directory, + } + -> exec { 'giveperms-lucee': + command => 'chmod -R 777 /usr/local/src/bin/', + } + -> exec { 'chmod-lucee': + command => "chown -R ${user} /usr/local/src/", + } + -> exec { 'set-port': + command => "sed -i 's/8888/${port}/' /usr/local/src/conf/server.xml" + } +} diff --git a/modules/vulnerabilities/unix/http/lucee_rce/manifests/service.pp b/modules/vulnerabilities/unix/http/lucee_rce/manifests/service.pp new file mode 100644 index 000000000..30defc5f1 --- /dev/null +++ b/modules/vulnerabilities/unix/http/lucee_rce/manifests/service.pp @@ -0,0 +1,18 @@ +# Class: lucee_rce::service +# Service behaviour +# +class lucee_rce::service { + $secgen_parameters = secgen_functions::get_parameters($::base64_inputs_file) + $user = $secgen_parameters['leaked_username'][0] + + file { '/etc/systemd/system/lucee.service': + content => template('lucee_rce/lucee.service.erb'), + owner => 'root', + mode => '0777', + } + + service { 'lucee': + ensure => 'running', + enable => 'true', + } +} diff --git a/modules/vulnerabilities/unix/http/lucee_rce/secgen_metadata.xml b/modules/vulnerabilities/unix/http/lucee_rce/secgen_metadata.xml new file mode 100644 index 000000000..6c8201941 --- /dev/null +++ b/modules/vulnerabilities/unix/http/lucee_rce/secgen_metadata.xml @@ -0,0 +1,74 @@ + + + + Lucee Administrator imgProcess.cfm Arbitrary File Write + James Davis + MIT + + This module exploits an arbitrary file write in Lucee Administrator's + imgProcess.cfm file to execute commands as the Tomcat user. + + + http + in_the_wild + + root_rwx + remote + linux + low + + port + strings_to_leak + leaked_filenames + + + + + + + + + + + + + + + + + + + + CVE-2021-21307 + 9.8 + AV:N/AC:L/Au:N/C:C/I:C/A:C + https://github.com/httpvoid/writeups/blob/main/Apple-RCE.md + + https://github.com/rapid7/metasploit-framework/blob/master/modules/exploits/linux/http/lucee_admin_imgprocess_file_write.rb + Lucee Server + Apache/LGPL + + + update + + + + EXPLOITATION + EXPLOITATION FRAMEWORKS + + + CVEs and CWEs + + + PENETRATION TESTING - SOFTWARE TOOLS + PENETRATION TESTING - ACTIVE PENETRATION + + + server-side misconfiguration and vulnerable components + Arbitrary file write + + + diff --git a/modules/vulnerabilities/unix/http/lucee_rce/templates/lucee.service.erb b/modules/vulnerabilities/unix/http/lucee_rce/templates/lucee.service.erb new file mode 100644 index 000000000..eebe87467 --- /dev/null +++ b/modules/vulnerabilities/unix/http/lucee_rce/templates/lucee.service.erb @@ -0,0 +1,15 @@ +[Unit] +Description=Lucee +[Service] +Type=forking +User=<%= @user %> +ExecStart=/usr/local/src/bin/startup.sh +ExecStop=/usr/local/src/bin/shutdown.sh +TimeoutStopSec=5 +# The exit code of the tomcat java process when terminated via shutdown.sh is 143. +# Don't treat that non-zero exit code as a failure. +SuccessExitStatus=143 +Restart=always +RestartSec=5 +[Install] +WantedBy=multi-user.target \ No newline at end of file diff --git a/modules/vulnerabilities/unix/web_training/dvwa/secgen_metadata.xml b/modules/vulnerabilities/unix/web_training/dvwa/secgen_metadata.xml index 8ca9172f7..ea1b6fdcc 100644 --- a/modules/vulnerabilities/unix/web_training/dvwa/secgen_metadata.xml +++ b/modules/vulnerabilities/unix/web_training/dvwa/secgen_metadata.xml @@ -11,7 +11,7 @@ web_training_platform webapp info_leak - remote + physical linux port diff --git a/modules/vulnerabilities/unix/web_training/webgoat/secgen_metadata.xml b/modules/vulnerabilities/unix/web_training/webgoat/secgen_metadata.xml index 1eed23a68..0bcf4025e 100644 --- a/modules/vulnerabilities/unix/web_training/webgoat/secgen_metadata.xml +++ b/modules/vulnerabilities/unix/web_training/webgoat/secgen_metadata.xml @@ -13,7 +13,7 @@ This program is a demonstration of common server-side application flaws. The exe web_training_platform webapp info_leak - remote + physical linux port @@ -36,7 +36,7 @@ This program is a demonstration of common server-side application flaws. The exe .*/webwolf - + web PKI and HTTPS diff --git a/modules/vulnerabilities/unix/web_training/webwolf/secgen_metadata.xml b/modules/vulnerabilities/unix/web_training/webwolf/secgen_metadata.xml index 85d107109..73016ca2c 100644 --- a/modules/vulnerabilities/unix/web_training/webwolf/secgen_metadata.xml +++ b/modules/vulnerabilities/unix/web_training/webwolf/secgen_metadata.xml @@ -11,7 +11,7 @@ web_training_platform webapp info_leak - remote + physical linux port diff --git a/scenarios/ctf/agent_zero.xml b/scenarios/ctf/agent_zero.xml new file mode 100644 index 000000000..697944c24 --- /dev/null +++ b/scenarios/ctf/agent_zero.xml @@ -0,0 +1,285 @@ + + + + + Agent Zero: Licence to Hack + Z. Cliffe Schreuders + In this scenario, as a secret agent analyst specializing in cyber security, you are authorized to conduct offensive operations against those who threaten the digital safety and security of your country. + +You have been tasked with conducting a cyber attack and to investigate the operations of 'The Organization' in order to discover their evil plans. As the exercise progresses, you will uncover more and more evidence of the organization's evil plans. We beleive they are using aliases, and cover businesses. The only reliable intel we have is that there is an operative that goes by the alias 'viper'. + +You will need to use a variety of tools and techniques to perform an attack: network scanning and exploitation to gain a foothold, escalate privileges as necessary, and gather and analyze data data to collect evidence. + +Submit the flags you find to track your progress. + +This challenge will be different each time, and can be taken again and again to hone your skills and experience different attacks. + +Remember, this is a training scenario and any hacking / cyber security practices should always be conducted legally and with the proper permissions and authorization. + + + + ctf + attack-ctf + pwn-ctf + medium + + + + authentication + passwords and alternatives + + + user authentication + BRUTEFORCE + + + server-side misconfiguration and vulnerable components + FILE UPLOAD VULNERABILITY + + + EXPLOITATION + EXPLOITATION FRAMEWORKS + + + CVEs and CWEs + + + PENETRATION TESTING - SOFTWARE TOOLS + PENETRATION TESTING - ACTIVE PENETRATION + + + + + access control + Elevated privileges + Vulnerabilities and attacks on access control misconfigurations + + + Access controls and operating systems + Linux security model + Attacks against SUDO + + + + kill chains + + + cyber kill chain + + + + + symmetric encryption and authentication + + + BRUTEFORCE + + + + + + + attack_vm + + + + + + 172.16.0.2 + + 172.16.0.3 + + + + + {"username":"root","password":"toor","super_user":"","strings_to_leak":[],"leaked_filenames":[]} + + + false + + + + + + + + + IP_addresses + + + + + + evil_server + + + + + + lib/resources/structured_content/organisations/json_organisations + + + + + + + + + + wordlist + + + 6 + + + + + viper + + + + + + + + + username + + + password + + + false + + + flag + + + + + secrets + + + + + + + + + + + + + + + + organisation + + + username + + + password + + + + username + + + + + + + + + + + + + + + + + + organisation + + + username + + + password + + + username + + + + + + + + + + + + + + + + + organisation + + + username + + + password + + + + + + + + + + + + + + + password + + + + + Congratulations you have cracked our protected zip file. Here is a flag for your troubles, plus something more. + + + + + + + + + + + + protected.zip + + + /root/ + + + + + + + IP_addresses + + + + + diff --git a/scenarios/examples/vulnerability_examples/jenkins_cli.xml b/scenarios/examples/vulnerability_examples/jenkins_cli.xml new file mode 100644 index 000000000..69c346041 --- /dev/null +++ b/scenarios/examples/vulnerability_examples/jenkins_cli.xml @@ -0,0 +1,16 @@ + + + + + + jenkins_cli + + + + + + + + \ No newline at end of file diff --git a/scenarios/examples/vulnerability_examples/linuxki_rce.xml b/scenarios/examples/vulnerability_examples/linuxki_rce.xml new file mode 100644 index 000000000..75df73078 --- /dev/null +++ b/scenarios/examples/vulnerability_examples/linuxki_rce.xml @@ -0,0 +1,16 @@ + + + + + + linuxki + + + + + + + + \ No newline at end of file diff --git a/scenarios/examples/vulnerability_examples/lucee_rce.xml b/scenarios/examples/vulnerability_examples/lucee_rce.xml new file mode 100644 index 000000000..d27e05a2d --- /dev/null +++ b/scenarios/examples/vulnerability_examples/lucee_rce.xml @@ -0,0 +1,16 @@ + + + + + + lucee + + + + + + + + \ No newline at end of file diff --git a/scenarios/labs/cyber_security_landscape/3_phishing.xml b/scenarios/labs/cyber_security_landscape/3_phishing.xml index 0943cee0d..7fb4587ab 100644 --- a/scenarios/labs/cyber_security_landscape/3_phishing.xml +++ b/scenarios/labs/cyber_security_landscape/3_phishing.xml @@ -4,7 +4,7 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.github/cliffe/SecGen/scenario"> - Let's go phishing + Let's Go Phishing Z. Cliffe Schreuders # Introduction @@ -15,7 +15,20 @@ Humans play a crucial role in the cyber security of systems and information. Man lab-sheet easy - + + latent usability failures in systems-of-systems + + + SOCIAL ENGINEERING + MALICIOUS ACTIVITIES BY MALICIOUS ATTACHMENTS + + + EXPLOITATION FRAMEWORKS + MALCODE/MALWARE - SOCIAL ENGINEERING - BAITING + MALCODE/MALWARE - SOCIAL ENGINEERING - PRETEXTING + MALCODE/MALWARE - VIRUSES - COUNTERMEASUMALCODE/MALWARE - VIRUSES - MACRO VIRUSES + MALCODE/MALWARE - SPAM . . . . .MALCODE/MALWARE - SPOOFING + victim_server diff --git a/scenarios/labs/cyber_security_landscape/4_encoding_encryption.xml b/scenarios/labs/cyber_security_landscape/4_encoding_encryption.xml index 42e00bf24..6cb28c5e8 100644 --- a/scenarios/labs/cyber_security_landscape/4_encoding_encryption.xml +++ b/scenarios/labs/cyber_security_landscape/4_encoding_encryption.xml @@ -4,7 +4,7 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.github/cliffe/SecGen/scenario"> - Encoding and encryption lab + Encoding and Encryption Lab Z. Cliffe Schreuders Decode the files in your home directory. @@ -15,8 +15,16 @@ lab-sheet intermediate - - + + Encoding vs Cryptography + Caesar cipher + Vigenere cipher + SYMMETRIC CRYPTOGRAPHY - AES (ADVANCED ENCRYPTION STANDARD) + + + Encoding and alternative data formats + + desktop diff --git a/scenarios/labs/lab_environments/labtainers.xml b/scenarios/labs/lab_environments/labtainers.xml index b84de797c..dc36838ab 100644 --- a/scenarios/labs/lab_environments/labtainers.xml +++ b/scenarios/labs/lab_environments/labtainers.xml @@ -108,7 +108,7 @@ + + + + + + spoiler_admin_pass + + @@ -362,6 +372,11 @@ A Hackerbot lab. Work through the lab instructions, then when prompted interact IP_addresses + + + spoiler_admin_pass + + @@ -377,7 +392,7 @@ A Hackerbot lab. Work through the lab instructions, then when prompted interact - + user_accounts_desktop @@ -400,7 +415,7 @@ A Hackerbot lab. Work through the lab instructions, then when prompted interact - + spoiler_admin_pass diff --git a/scenarios/labs/systems_security/2_pam.xml b/scenarios/labs/systems_security/2_pam.xml index d3a3ca2d5..1a7dd284e 100644 --- a/scenarios/labs/systems_security/2_pam.xml +++ b/scenarios/labs/systems_security/2_pam.xml @@ -309,6 +309,16 @@ A short lab this week, exploring PAM. Work through the labsheet, then when promp IP_addresses + + + + + + + + spoiler_admin_pass + + @@ -384,6 +394,11 @@ A short lab this week, exploring PAM. Work through the labsheet, then when promp IP_addresses + + + spoiler_admin_pass + + @@ -399,7 +414,7 @@ A short lab this week, exploring PAM. Work through the labsheet, then when promp - + user_accounts_desktop @@ -422,7 +437,7 @@ A short lab this week, exploring PAM. Work through the labsheet, then when promp - + spoiler_admin_pass diff --git a/scenarios/labs/systems_security/3_ss_conf.xml b/scenarios/labs/systems_security/3_ss_conf.xml index bd65d8018..f5d9dc074 100644 --- a/scenarios/labs/systems_security/3_ss_conf.xml +++ b/scenarios/labs/systems_security/3_ss_conf.xml @@ -285,7 +285,7 @@ - + user_accounts diff --git a/scenarios/labs/systems_security/4_access_controls.xml b/scenarios/labs/systems_security/4_access_controls.xml index efe358082..43a516531 100644 --- a/scenarios/labs/systems_security/4_access_controls.xml +++ b/scenarios/labs/systems_security/4_access_controls.xml @@ -378,7 +378,7 @@ A Hackerbot lab. Work through the labsheet, then when prompted interact with Hac - + user_accounts_desktop diff --git a/scenarios/labs/systems_security/5_suid.xml b/scenarios/labs/systems_security/5_suid.xml index 67410fad7..bca85a1e2 100644 --- a/scenarios/labs/systems_security/5_suid.xml +++ b/scenarios/labs/systems_security/5_suid.xml @@ -358,7 +358,7 @@ int main() - + user_accounts_desktop diff --git a/scenarios/labs/systems_security/6_facls.xml b/scenarios/labs/systems_security/6_facls.xml index 6bc3db4ce..d07f54d6d 100644 --- a/scenarios/labs/systems_security/6_facls.xml +++ b/scenarios/labs/systems_security/6_facls.xml @@ -374,7 +374,7 @@ A Hackerbot lab. Work through the labsheet, then when prompted interact with Hac - + user_accounts_desktop diff --git a/scenarios/labs/systems_security/7_containers.xml b/scenarios/labs/systems_security/7_containers.xml index b5d4aee19..d20f58502 100644 --- a/scenarios/labs/systems_security/7_containers.xml +++ b/scenarios/labs/systems_security/7_containers.xml @@ -241,7 +241,7 @@ A Hackerbot lab. Work through the labsheet, then when prompted interact with Hac - + accounts diff --git a/scenarios/labs/systems_security/8_apparmor.xml b/scenarios/labs/systems_security/8_apparmor.xml index 1fa5da143..682af16ec 100644 --- a/scenarios/labs/systems_security/8_apparmor.xml +++ b/scenarios/labs/systems_security/8_apparmor.xml @@ -228,7 +228,7 @@ A Hackerbot lab. Work through the labsheet, then when prompted interact with Hac - + accounts diff --git a/scenarios/labs/workshops/lab_workshop.xml b/scenarios/labs/workshops/lab_workshop.xml index 3f7b94fec..fd27fba19 100644 --- a/scenarios/labs/workshops/lab_workshop.xml +++ b/scenarios/labs/workshops/lab_workshop.xml @@ -239,7 +239,7 @@ - + diff --git a/secgen.rb b/secgen.rb index aabb20638..be60ba23c 100644 --- a/secgen.rb +++ b/secgen.rb @@ -2,7 +2,7 @@ require 'getoptlong' require 'fileutils' require 'nori' require 'open3' -# require 'nokogiri/class_resolver' +require 'nokogiri/class_resolver' require 'nokogiri' require_relative 'lib/helpers/constants.rb'