diff --git a/README-CyBOK-Scenarios-Indexed.md b/README-CyBOK-Scenarios-Indexed.md index 0bb419016..2519ff707 100644 --- a/README-CyBOK-Scenarios-Indexed.md +++ b/README-CyBOK-Scenarios-Indexed.md @@ -167,560 +167,2606 @@ Fitting the Task to the Human | [labs/labtainers/ssl.xml](#labslabtainerssslxml) ## examples/cybok_example.xml + + ### Details + +| Key | Data | +| --- | --- | +|Name | A CyBOK tagged lab with VMs | +|Description |
Example description of the lab. Includes one reading and one video.
| +|Type | ctf-lab; hackerbot-lab; lab-sheet | +|Author | Thomas Shaw | +|Linked videos| www.example.com; www.example2.com| +|VM names| example_system | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | AAA | Authorisation | access control; ACCESS CONTROL - DAC (DISCRETIONARY ACCESS CONTROL); Unix File Permissions || C | Cryptography | stream ciphers; substitution ciphers | +Command to start scenario: + +```ruby secgen.rb -s scenario/examples/cybok_example.xml run``` + +[View source](scenarios/examples/cybok_example.xml) + + ## examples/cybok_example_no_systems.xml + + ### Details + +| Key | Data | +| --- | --- | +|Name | A CyBOK tagged lab without VMs | +|Description |
Example description of the lab. Includes one reading and one video.
| +|Type | no-systems | +|Author | Thomas Shaw | +|Linked videos| www.example.com; www.example2.com| +|VM names| | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | AAA | Authorisation | access control; ACCESS CONTROL - DAC (DISCRETIONARY ACCESS CONTROL); Unix File Permissions || C | Cryptography | stream ciphers; substitution ciphers | +Command to start scenario: + +```ruby secgen.rb -s scenario/examples/cybok_example_no_systems.xml run``` + +[View source](scenarios/examples/cybok_example_no_systems.xml) + + ## labs/authentication_and_access_controls/ads_1_authentication.xml + + ### Details + +| 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.
| +|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| +|VM names| desktop; server; hackerbot_server; kali_cracker | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | AAA | Authentication | identity management; user authentication; facets of authentication; Cryptography and authentication (hashes and attacks against authentication schemes / passwords) || OSVS | Primitives for Isolation and Mediation | authentication and identification; Linux authentication; Types of user accounts | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/authentication_and_access_controls/ads_1_authentication.xml run``` + +[View source](scenarios/labs/authentication_and_access_controls/ads_1_authentication.xml) + + ## labs/authentication_and_access_controls/ads_2_pam.xml + + ### Details + +| Key | Data | +| --- | --- | +|Name | Pluggable Authentication Modules lab | +|Description |
Lecture
[Watch authentication part 3](https://leedsbeckettreplay.cloud.panopto.eu/Panopto/Pages/Viewer.aspx?id=879609dc-e537-4b56-9743-a9f300a5581d)

[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.
| +|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| +|VM names| desktop; server; hackerbot_server | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | AAA | Authentication | identity management; user authentication; facets of authentication || OSVS | Primitives for Isolation and Mediation | authentication and identification; Linux authentication; Authentication frameworks (PAM) | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/authentication_and_access_controls/ads_2_pam.xml run``` + +[View source](scenarios/labs/authentication_and_access_controls/ads_2_pam.xml) + + ## labs/authentication_and_access_controls/ads_3_access_controls.xml + + ### Details + +| Key | Data | +| --- | --- | +|Name | Access Controls lab | +|Description |
Lecture
[Watch access controls part 1](https://leedsbeckettreplay.cloud.panopto.eu/Panopto/Pages/Viewer.aspx?id=218b5bf8-3550-4f1c-8951-a9f300ab58da)

[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.
| +|Type | ctf-lab; hackerbot-lab; lab-sheet | +|Author | Z. Cliffe Schreuders | +|Linked videos| https://youtu.be/yWJyZEFbchQ; https://youtu.be/i0kO_3ExJv4| +|VM names| shared_desktop; server; hackerbot_server | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | AAA | Authorisation | access control; enforcing access control; ACCESS CONTROL - DAC (DISCRETIONARY ACCESS CONTROL); Vulnerabilities and attacks on access control misconfigurations || OSVS | Primitives for Isolation and Mediation | Access controls and operating systems; Linux security model; Unix File Permissions; filesystems; inodes; and commands; umask || OSVS | Role of Operating Systems | mediation | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/authentication_and_access_controls/ads_3_access_controls.xml run``` + +[View source](scenarios/labs/authentication_and_access_controls/ads_3_access_controls.xml) + + ## labs/authentication_and_access_controls/ads_4_suid.xml + + ### Details + +| Key | Data | +| --- | --- | +|Name | Set User ID lab | +|Description |
Lecture
[Watch access controls part 2](https://leedsbeckettreplay.cloud.panopto.eu/Panopto/Pages/Viewer.aspx?id=f2bfa504-b21b-48ec-8ff2-a9fa00a51146)

[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.
| +|Type | ctf-lab; hackerbot-lab; lab-sheet | +|Author | Z. Cliffe Schreuders | +|Linked videos| https://youtu.be/viSkkNB777k; https://youtu.be/PGHsb3bg_h4| +|VM names| shared_desktop; server; hackerbot_server | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | AAA | Authorisation | access control; Elevated privileges; Real and effective identity; Vulnerabilities and attacks on access control misconfigurations || OSVS | Primitives for Isolation and Mediation | Access controls and operating systems; Linux security model; Unix File Permissions; setuid/setgid; Hardlink protections | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/authentication_and_access_controls/ads_4_suid.xml run``` + +[View source](scenarios/labs/authentication_and_access_controls/ads_4_suid.xml) + + ## labs/authentication_and_access_controls/ads_5_facls.xml + + ### Details + +| Key | Data | +| --- | --- | +|Name | Access Control Lists (ACLs) lab | +|Description |
Lecture
[Watch access controls part 3](https://leedsbeckettreplay.cloud.panopto.eu/Panopto/Pages/Viewer.aspx?id=22ddead9-8475-459d-ac88-aa0100a65022)

[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.

| +|Type | ctf-lab; hackerbot-lab; lab-sheet | +|Author | Z. Cliffe Schreuders | +|Linked videos| https://youtu.be/Bn3NJhgmdLk; https://youtu.be/OT7ifs8PkHI| +|VM names| shared_desktop; server; hackerbot_server | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | AAA | Authorisation | access control; ACCESS CONTROL LIST (ACL); Vulnerabilities and attacks on access control misconfigurations || OSVS | Primitives for Isolation and Mediation | Access controls and operating systems; Linux security model; Linux Extended Access Control Lists (facl) | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/authentication_and_access_controls/ads_5_facls.xml run``` + +[View source](scenarios/labs/authentication_and_access_controls/ads_5_facls.xml) + + ## labs/authentication_and_access_controls/ads_6_containers.xml + + ### Details + +| Key | Data | +| --- | --- | +|Name | Containers lab | +|Description |
Lecture
[Sandboxing](https://leedsbeckettreplay.cloud.panopto.eu/Panopto/Pages/Viewer.aspx?id=836b7804-9c5c-4ddb-a938-aa0800a7bd14)

[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.
| +|Type | ctf-lab; hackerbot-lab; lab-sheet | +|Author | Z. Cliffe Schreuders | +|Linked videos| https://youtu.be/f4yBcKkb12g| +|VM names| desktop; hackerbot_server; chroot_esc_server; docker_esc_server | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | AAA | Authorisation | SANDBOX; Application-based access controls: user-based access controls insufficiently limit privileges || OSVS | Primitives for Isolation and Mediation | capabilities; Container-based sandboxes: chroot; Docker; Rule-based controls: Course grained: Linux capabilities; Vulnerabilities and attacks on sandboxing misconfigurations || OSVS | Role of Operating Systems | isolation; CONTAINERS || WMS | Fundamental Concepts and Approaches | sandboxing | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/authentication_and_access_controls/ads_6_containers.xml run``` + +[View source](scenarios/labs/authentication_and_access_controls/ads_6_containers.xml) + + ## labs/authentication_and_access_controls/ads_7_apparmor.xml + + ### Details + +| Key | Data | +| --- | --- | +|Name | AppArmor lab | +|Description |
Lecture
[Rule-based sandboxes](https://leedsbeckettreplay.cloud.panopto.eu/Panopto/Pages/Viewer.aspx?id=2a445fb9-14ac-43ea-be92-aa0f00a8fd74)

[Mobile device sandboxes](https://leedsbeckettreplay.cloud.panopto.eu/Panopto/Pages/Viewer.aspx?id=e4ad9a5b-0dc1-413f-89fa-aa1600a66a15)

[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.
| +|Type | ctf-lab; hackerbot-lab; lab-sheet | +|Author | Z. Cliffe Schreuders | +|Linked videos| https://youtu.be/Xgs5akM6ayc| +|VM names| desktop; hackerbot_server | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | AAA | Authorisation | ACCESS CONTROL - MAC (MANDATORY ACCESS CONTROL); ACCESS CONTROL - NDAC (NON-DISCRETIONARY ACCESS CONTROL); Application-based access controls: user-based access controls insufficiently limit privileges; Rule-based sandboxes || OSVS | Primitives for Isolation and Mediation | Rule-based controls: Fine grained: AppArmor; Vulnerabilities and attacks on sandboxing misconfigurations || SS | Mitigating Exploitation | limiting privileges | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/authentication_and_access_controls/ads_7_apparmor.xml run``` + +[View source](scenarios/labs/authentication_and_access_controls/ads_7_apparmor.xml) + + ## labs/introducing_attacks/1_intro_linux.xml + + ### Details + +| Key | Data | +| --- | --- | +|Name | Introduction to Linux and Security lab | +|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
[Lab sheet here](https://docs.google.com/document/d/1vA_Ev_GPqPg3cGZblgVclWmTU-sUEEBqwYpFH09mQjg/edit?usp=sharing).
| +|Type | ctf-lab; lab-sheet | +|Author | Z. Cliffe Schreuders | +|Linked videos| | +|VM names| desktop; kali | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | NS | Network Protocols and Vulnerability | common network attacks || SOIM | PENETRATION TESTING | PENETRATION TESTING - SOFTWARE TOOLS | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/introducing_attacks/1_intro_linux.xml run``` + +[View source](scenarios/labs/introducing_attacks/1_intro_linux.xml) + + ## labs/introducing_attacks/2_malware_msf_payloads.xml + + ### Details + +| 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).
| +|Type | lab-sheet | +|Author | Z. Cliffe Schreuders | +|Linked videos| | +|VM names| windows_victim; kali | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | MAT | Malware Taxonomy | dimensions; kinds || MAT | Malware Analysis | anti-analysis and evasion techniques || MAT | Attacks and exploitation | EXPLOITATION FRAMEWORKS || SOIM | PENETRATION TESTING | PENETRATION TESTING - SOFTWARE TOOLS; PENETRATION TESTING - ACTIVE PENETRATION | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/introducing_attacks/2_malware_msf_payloads.xml run``` + +[View source](scenarios/labs/introducing_attacks/2_malware_msf_payloads.xml) + + ## labs/introducing_attacks/3_vulnerabilities.xml + + ### Details + +| 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).
| +|Type | ctf-lab; lab-sheet | +|Author | Z. Cliffe Schreuders | +|Linked videos| | +|VM names| windows_victim; linux_victim_server; kali | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | MAT | Attacks and exploitation | EXPLOITATION; EXPLOITATION FRAMEWORKS || SOIM | PENETRATION TESTING | PENETRATION TESTING - SOFTWARE TOOLS; PENETRATION TESTING - ACTIVE PENETRATION | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/introducing_attacks/3_vulnerabilities.xml run``` + +[View source](scenarios/labs/introducing_attacks/3_vulnerabilities.xml) + + ## labs/introducing_attacks/4_dns_footprinting.xml + + ### Details + +| 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).
| +|Type | lab-sheet | +|Author | Z. Cliffe Schreuders | +|Linked videos| | +|VM names| kali | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | NS | PENETRATION TESTING | PENETRATION TESTING - DNS ZONE TRANSFER; EXPLOITATION FRAMEWORKS || SOIM | PENETRATION TESTING | PENETRATION TESTING - NETWORK MAPPING - RECONNAISSANCE; PENETRATION TESTING - SOFTWARE TOOLS | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/introducing_attacks/4_dns_footprinting.xml run``` + +[View source](scenarios/labs/introducing_attacks/4_dns_footprinting.xml) + + ## labs/introducing_attacks/5_scanning.xml + + ### Details + +| 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).
| +|Type | ctf-lab; lab-sheet | +|Author | Z. Cliffe Schreuders | +|Linked videos| | +|VM names| linux_victim_server; kali | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | MAT | Malicious Activities by Malware | cyber kill chain || NS | PENETRATION TESTING | PENETRATION TESTING - NETWORK MAPPING - FINGERPRINTING; PENETRATION TESTING - NETWORK MAPPING - NMAP; PENETRATION TESTING - NETWORK MAPPING - PING || SOIM | PENETRATION TESTING | PENETRATION TESTING - NETWORK MAPPING - RECONNAISSANCE; PENETRATION TESTING - SOFTWARE TOOLS | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/introducing_attacks/5_scanning.xml run``` + +[View source](scenarios/labs/introducing_attacks/5_scanning.xml) + + ## labs/introducing_attacks/6_exploitation.xml + + ### Details + +| 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).
| +|Type | ctf-lab; lab-sheet | +|Author | Z. Cliffe Schreuders | +|Linked videos| | +|VM names| windows_server; linux_server; kali | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | MAT | Malicious Activities by Malware | cyber kill chain || SS | Categories of Vulnerabilities | CVEs and CWEs || MAT | Attacks and exploitation | EXPLOITATION; EXPLOITATION FRAMEWORKS || SOIM | PENETRATION TESTING | PENETRATION TESTING - SOFTWARE TOOLS; PENETRATION TESTING - ACTIVE PENETRATION | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/introducing_attacks/6_exploitation.xml run``` + +[View source](scenarios/labs/introducing_attacks/6_exploitation.xml) + + ## labs/introducing_attacks/7_post-exploitation.xml + + ### Details + +| 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 expliot has been successful.

Suggested reading
[An excellent resource is Metaploit 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).
| +|Type | ctf-lab; lab-sheet | +|Author | Z. Cliffe Schreuders | +|Linked videos| | +|VM names| windows_server; linux_server; kali | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | MAT | Malicious Activities by Malware | cyber kill chain; attack on confidentiality; integrity; availability || MAT | Attacks and exploitation | Post-exploitation: pivoting attacks; information gathering || SOIM | PENETRATION TESTING | PENETRATION TESTING - SOFTWARE TOOLS; PENETRATION TESTING - ACTIVE PENETRATION | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/introducing_attacks/7_post-exploitation.xml run``` + +[View source](scenarios/labs/introducing_attacks/7_post-exploitation.xml) + + ## labs/introducing_attacks/8_vulnerability_analysis.xml + + ### Details + +| 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).
| +|Type | ctf-lab; lab-sheet | +|Author | Z. Cliffe Schreuders | +|Linked videos| | +|VM names| linux_server; kali | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | SOIM | PENETRATION TESTING | VULNERABILITY ANALYSIS / VULNERABILITY SCANNING; AUDIT APPROACH; PENETRATION TESTING - SOFTWARE TOOLS; PENETRATION TESTING - ACTIVE PENETRATION || MAT | Attacks and exploitation | EXPLOITATION | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/introducing_attacks/8_vulnerability_analysis.xml run``` + +[View source](scenarios/labs/introducing_attacks/8_vulnerability_analysis.xml) + + ## labs/labtainers/acl-hackerbot-flags.xml + + ### Details + +| Key | Data | +| --- | --- | +|Name | Labtainers lab: acl | +|Description | A Labtainers lab.| +|Type | ctf-lab; lab-sheet | +|Author | Z. Cliffe Schreuders | +|Linked videos| | +|VM names| desktop; hackerbot_server | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | AAA | Authorisation | access control; enforcing access control; ACCESS CONTROL - DAC (DISCRETIONARY ACCESS CONTROL); Vulnerabilities and attacks on access control misconfigurations || MAT | MALCODE/MALWARE | trojan; backdoor; TROJANS - BACKDOOR || OSVS | Primitives for Isolation and Mediation | Access controls and operating systems; Linux security model; Unix File Permissions; filesystems; inodes; and commands; umask || OSVS | Primitives for Isolation and Mediation | Access controls and operating systems; Linux security model; Linux Extended Access Control Lists (facl) || OSVS | Role of Operating Systems | mediation | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/labtainers/acl-hackerbot-flags.xml run``` + +[View source](scenarios/labs/labtainers/acl-hackerbot-flags.xml) + + ## labs/labtainers/acl.xml + + ### Details + +| Key | Data | +| --- | --- | +|Name | Labtainers lab: acl | +|Description | A Labtainers lab.| +|Type | ctf-lab; lab-sheet | +|Author | Z. Cliffe Schreuders | +|Linked videos| | +|VM names| desktop | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | AAA | Authorisation | access control; enforcing access control; ACCESS CONTROL - DAC (DISCRETIONARY ACCESS CONTROL); Vulnerabilities and attacks on access control misconfigurations || MAT | MALCODE/MALWARE | trojan; backdoor; TROJANS - BACKDOOR || OSVS | Primitives for Isolation and Mediation | Access controls and operating systems; Linux security model; Unix File Permissions; filesystems; inodes; and commands; umask || OSVS | Primitives for Isolation and Mediation | Access controls and operating systems; Linux security model; Linux Extended Access Control Lists (facl) || OSVS | Role of Operating Systems | mediation | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/labtainers/acl.xml run``` + +[View source](scenarios/labs/labtainers/acl.xml) + + ## labs/labtainers/arp-spoof.xml + + ### Details + +| Key | Data | +| --- | --- | +|Name | Labtainers lab: arp-spoof | +|Description | A Labtainers lab.| +|Type | ctf-lab; lab-sheet | +|Author | Z. Cliffe Schreuders | +|Linked videos| | +|VM names| desktop | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | NS | Network Protocols and Vulnerability | ADDRESS RESOLUTION PROTOCOL(ARP); ARP (ADDRESS RESOLUTION PROTOCOL); ARP SPOOFING; MITM (MAN-IN-THE-MIDDLE ATTACK); MAN-IN-THE-MIDDLE ATTACK (MITM); ATTACK(S) - ARP || SOIM | Monitor: Data Sources | network traffic | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/labtainers/arp-spoof.xml run``` + +[View source](scenarios/labs/labtainers/arp-spoof.xml) + + ## labs/labtainers/backups.xml + + ### Details + +| Key | Data | +| --- | --- | +|Name | Labtainers lab: backups | +|Description | A Labtainers lab.| +|Type | ctf-lab; lab-sheet | +|Author | Z. Cliffe Schreuders | +|Linked videos| | +|VM names| desktop | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | SOIM | Execute: Mitigation and Countermeasures | Recover data and services after an incident; BACKUP - DIFFERENTIAL; BACKUP - INFERENTIAL || SOIM | INCIDENT RESPONSE | RECOVERY - BACKUPS; RECOVERY; BACKUPS | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/labtainers/backups.xml run``` + +[View source](scenarios/labs/labtainers/backups.xml) + + ## labs/labtainers/backups2.xml + + ### Details + +| Key | Data | +| --- | --- | +|Name | Labtainers lab: backups2 | +|Description | A Labtainers lab.| +|Type | ctf-lab; lab-sheet | +|Author | Z. Cliffe Schreuders | +|Linked videos| | +|VM names| desktop | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | SOIM | Execute: Mitigation and Countermeasures | Recover data and services after an incident; BACKUP - DIFFERENTIAL; BACKUP - INFERENTIAL || SOIM | INCIDENT RESPONSE | RECOVERY - BACKUPS; RECOVERY; BACKUPS | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/labtainers/backups2.xml run``` + +[View source](scenarios/labs/labtainers/backups2.xml) + + ## labs/labtainers/bufoverflow.xml + + ### Details + +| Key | Data | +| --- | --- | +|Name | Labtainers lab: bufoverflow | +|Description | A Labtainers lab.| +|Type | ctf-lab; lab-sheet | +|Author | Z. Cliffe Schreuders | +|Linked videos| | +|VM names| desktop | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | SS | Categories of Vulnerabilities | memory management vulnerabilities; Stack smashing buffer overflows || MAT | Attacks and exploitation | EXPLOITATION; EXPLOITATION FRAMEWORKS; Exploit development; Metasploit Framework development || SS | Mitigating Exploitation | ASLR (ADDRESS SPACE LAYOUT RANDOMIZATION); NON-EXECUTABLE MEMORY | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/labtainers/bufoverflow.xml run``` + +[View source](scenarios/labs/labtainers/bufoverflow.xml) + + ## labs/labtainers/capabilities.xml + + ### Details + +| Key | Data | +| --- | --- | +|Name | Labtainers lab: capabilities | +|Description | A Labtainers lab.| +|Type | ctf-lab; lab-sheet | +|Author | Z. Cliffe Schreuders | +|Linked videos| | +|VM names| desktop | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | OSVS | Primitives for Isolation and Mediation | capabilities; Rule-based controls: Course grained: Linux capabilities || SOIM | Monitor: Data Sources | network traffic | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/labtainers/capabilities.xml run``` + +[View source](scenarios/labs/labtainers/capabilities.xml) + + ## labs/labtainers/centos-log.xml + + ### Details + +| Key | Data | +| --- | --- | +|Name | Labtainers lab: centos-log | +|Description | A Labtainers lab.| +|Type | ctf-lab; lab-sheet | +|Author | Z. Cliffe Schreuders | +|Linked videos| | +|VM names| desktop | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | SOIM | Monitor: Data Sources | application logs: web server logs and files; system and kernel logs; Syslog | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/labtainers/centos-log.xml run``` + +[View source](scenarios/labs/labtainers/centos-log.xml) + + ## labs/labtainers/centos-log2.xml + + ### Details + +| Key | Data | +| --- | --- | +|Name | Labtainers lab: centos-log2 | +|Description | A Labtainers lab.| +|Type | ctf-lab; lab-sheet | +|Author | Z. Cliffe Schreuders | +|Linked videos| | +|VM names| desktop | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | SOIM | Monitor: Data Sources | application logs: web server logs and files; system and kernel logs; Syslog | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/labtainers/centos-log2.xml run``` + +[View source](scenarios/labs/labtainers/centos-log2.xml) + + ## labs/labtainers/cyberciege.xml + + ### Details + +| Key | Data | +| --- | --- | +|Name | Labtainers lab: cyberciege | +|Description | A Labtainers lab.| +|Type | ctf-lab; lab-sheet | +|Author | Z. Cliffe Schreuders | +|Linked videos| | +|VM names| desktop | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | SOIM | Monitor: Data Sources | application logs: web server logs and files; system and kernel logs; Syslog | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/labtainers/cyberciege.xml run``` + +[View source](scenarios/labs/labtainers/cyberciege.xml) + + ## labs/labtainers/denyhost.xml + + ### Details + +| Key | Data | +| --- | --- | +|Name | Labtainers lab: denyhost | +|Description | A Labtainers lab.| +|Type | ctf-lab; lab-sheet | +|Author | Z. Cliffe Schreuders | +|Linked videos| | +|VM names| desktop | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | NS | Network Defence Tools | packet filters; intrusion detection systems; intrusion prevention systems || SOIM | Execute: Mitigation and Countermeasures | intrusion prevention systems || SOIM | CM (CONFIGURATION MANAGEMENT) | SSH (SECURE SHELL) | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/labtainers/denyhost.xml run``` + +[View source](scenarios/labs/labtainers/denyhost.xml) + + ## labs/labtainers/dmz-example.xml + + ### Details + +| Key | Data | +| --- | --- | +|Name | Labtainers lab: dmz-example | +|Description | A Labtainers lab.| +|Type | ctf-lab; lab-sheet | +|Author | Z. Cliffe Schreuders | +|Linked videos| | +|VM names| desktop | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | NS | Network Defence Tools | DEMILITARISED ZONE (DMZ) | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/labtainers/dmz-example.xml run``` + +[View source](scenarios/labs/labtainers/dmz-example.xml) + + ## labs/labtainers/dmz-lab.xml + + ### Details + +| Key | Data | +| --- | --- | +|Name | Labtainers lab: dmz-lab | +|Description | A Labtainers lab.| +|Type | ctf-lab; lab-sheet | +|Author | Z. Cliffe Schreuders | +|Linked videos| | +|VM names| desktop | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | NS | Network Defence Tools | DEMILITARISED ZONE (DMZ) | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/labtainers/dmz-lab.xml run``` + +[View source](scenarios/labs/labtainers/dmz-lab.xml) + + ## labs/labtainers/file-deletion.xml + + ### Details + +| Key | Data | +| --- | --- | +|Name | Labtainers lab: file-deletion | +|Description | A Labtainers lab.| +|Type | ctf-lab; lab-sheet | +|Author | Z. Cliffe Schreuders | +|Linked videos| | +|VM names| desktop | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | F | Operating System Analysis | storage forensics; data recovery and file content carving | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/labtainers/file-deletion.xml run``` + +[View source](scenarios/labs/labtainers/file-deletion.xml) + + ## labs/labtainers/file-integrity.xml + + ### Details + +| Key | Data | +| --- | --- | +|Name | Labtainers lab: file-integrity | +|Description | A Labtainers lab.| +|Type | ctf-lab; lab-sheet | +|Author | Z. Cliffe Schreuders | +|Linked videos| | +|VM names| desktop | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | AAA | Authentication | access control; Protecting integrity || F | Operating System Analysis | cryptographic hashing; storage forensics; data recovery and file content carving || SOIM | Monitor: Data Sources | MONITORING - FILE INTEGRITY CHECKERS | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/labtainers/file-integrity.xml run``` + +[View source](scenarios/labs/labtainers/file-integrity.xml) + + ## labs/labtainers/formatstring.xml + + ### Details + +| Key | Data | +| --- | --- | +|Name | Labtainers lab: formatstring | +|Description | A Labtainers lab.| +|Type | ctf-lab; lab-sheet | +|Author | Z. Cliffe Schreuders | +|Linked videos| | +|VM names| desktop | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | MAT | Attacks and exploitation | EXPLOITATION; Exploit development; Mitigation bypass: ASLR || SS | Categories of Vulnerabilities | memory management vulnerabilities; Format string attacks | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/labtainers/formatstring.xml run``` + +[View source](scenarios/labs/labtainers/formatstring.xml) + + ## labs/labtainers/gdblesson.xml + + ### Details + +| Key | Data | +| --- | --- | +|Name | Labtainers lab: gdblesson | +|Description | A Labtainers lab.| +|Type | ctf-lab; lab-sheet | +|Author | Z. Cliffe Schreuders | +|Linked videos| | +|VM names| desktop | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | MAT | Malware Analysis | analysis techniques; analysis environments; STATIC ANALYSIS | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/labtainers/gdblesson.xml run``` + +[View source](scenarios/labs/labtainers/gdblesson.xml) + + ## labs/labtainers/ida.xml + + ### Details + +| Key | Data | +| --- | --- | +|Name | Labtainers lab: ida | +|Description | A Labtainers lab.| +|Type | ctf-lab; lab-sheet | +|Author | Z. Cliffe Schreuders | +|Linked videos| | +|VM names| desktop | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | MAT | Malware Analysis | analysis techniques; analysis environments; STATIC ANALYSIS | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/labtainers/ida.xml run``` + +[View source](scenarios/labs/labtainers/ida.xml) + + ## labs/labtainers/iptables-ics.xml + + ### Details + +| Key | Data | +| --- | --- | +|Name | Labtainers lab: iptables-ics | +|Description | A Labtainers lab.| +|Type | ctf-lab; lab-sheet | +|Author | Z. Cliffe Schreuders | +|Linked videos| | +|VM names| desktop | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | CPS | Cyber-Physical Systems Domains | industrial control systems || CPS | Cyber-Physical Systems | security and privacy concerns || NS | Network Defence Tools | FIREWALLS; IPTables || NS | Internet Architecture | network layer security || WAM | FIREWALLS | FIREWALLS | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/labtainers/iptables-ics.xml run``` + +[View source](scenarios/labs/labtainers/iptables-ics.xml) + + ## labs/labtainers/iptables.xml + + ### Details + +| Key | Data | +| --- | --- | +|Name | Labtainers lab: iptables | +|Description | A Labtainers lab.| +|Type | ctf-lab; lab-sheet | +|Author | Z. Cliffe Schreuders | +|Linked videos| | +|VM names| desktop | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | NS | Network Defence Tools | FIREWALLS; IPTables || NS | Internet Architecture | network layer security || WAM | FIREWALLS | FIREWALLS | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/labtainers/iptables.xml run``` + +[View source](scenarios/labs/labtainers/iptables.xml) + + ## labs/labtainers/iptables2.xml + + ### Details + +| Key | Data | +| --- | --- | +|Name | Labtainers lab: iptables2 | +|Description | A Labtainers lab.| +|Type | ctf-lab; lab-sheet | +|Author | Z. Cliffe Schreuders | +|Linked videos| | +|VM names| desktop | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | NS | Network Defence Tools | FIREWALLS; IPTables || NS | Internet Architecture | network layer security || WAM | FIREWALLS | FIREWALLS | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/labtainers/iptables2.xml run``` + +[View source](scenarios/labs/labtainers/iptables2.xml) + + ## labs/labtainers/ldap.xml + + ### Details + +| Key | Data | +| --- | --- | +|Name | Labtainers lab: ldap | +|Description | A Labtainers lab.| +|Type | ctf-lab; lab-sheet | +|Author | Z. Cliffe Schreuders | +|Linked videos| | +|VM names| desktop | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | AAA | Authentication | identity management; user authentication; facets of authentication; authentication in distributed systems || AAA | Authorisation | AUTHORIZATION - LDAP (LIGHTWEIGHT DIRECTORY ACCESS PROTOCOL) || SOIM | Monitor: Data Sources | network traffic | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/labtainers/ldap.xml run``` + +[View source](scenarios/labs/labtainers/ldap.xml) + + ## labs/labtainers/local-dns.xml + + ### Details + +| Key | Data | +| --- | --- | +|Name | Labtainers lab: local-dns | +|Description | A Labtainers lab.| +|Type | ctf-lab; lab-sheet | +|Author | Z. Cliffe Schreuders | +|Linked videos| | +|VM names| desktop | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | NS | Network Protocols and Vulnerability | ADDRESS RESOLUTION PROTOCOL(ARP); ARP (ADDRESS RESOLUTION PROTOCOL); ARP SPOOFING; DNS ATTACKS | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/labtainers/local-dns.xml run``` + +[View source](scenarios/labs/labtainers/local-dns.xml) + + ## labs/labtainers/macs-hash.xml + + ### Details + +| Key | Data | +| --- | --- | +|Name | Labtainers lab: macs-hash | +|Description | A Labtainers lab.| +|Type | ctf-lab; lab-sheet | +|Author | Z. Cliffe Schreuders | +|Linked videos| | +|VM names| desktop | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | AAA | Authentication | user authentication; Cryptography and authentication (hashes and attacks against authentication schemes / passwords) || C | Public-Key Cryptography | symmetric encryption and authentication; MESSAGE AUTHENTICATION CODE (MAC); HASHED MESSAGE AUTHENTICATION CODE (HMAC) || F | Artifact Analysis | cryptographic hashing | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/labtainers/macs-hash.xml run``` + +[View source](scenarios/labs/labtainers/macs-hash.xml) + + ## labs/labtainers/metasploit.xml + + ### Details + +| Key | Data | +| --- | --- | +|Name | Labtainers lab: metasploit | +|Description | A Labtainers lab.| +|Type | ctf-lab; lab-sheet | +|Author | Z. Cliffe Schreuders | +|Linked videos| | +|VM names| desktop | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | MAT | Malicious Activities by Malware | cyber kill chain || MAT | Attacks and exploitation | EXPLOITATION; EXPLOITATION FRAMEWORKS || SOIM | PENETRATION TESTING | PENETRATION TESTING - SOFTWARE TOOLS; PENETRATION TESTING - ACTIVE PENETRATION | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/labtainers/metasploit.xml run``` + +[View source](scenarios/labs/labtainers/metasploit.xml) + + ## labs/labtainers/nix-commands.xml + + ### Details + +| Key | Data | +| --- | --- | +|Name | Labtainers lab: nix-commands | +|Description | A Labtainers lab.| +|Type | ctf-lab; lab-sheet | +|Author | Z. Cliffe Schreuders | +|Linked videos| | +|VM names| desktop | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | AAA | Authorisation | access control || NS | PENETRATION TESTING | PENETRATION TESTING - NETWORK MAPPING - PING | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/labtainers/nix-commands.xml run``` + +[View source](scenarios/labs/labtainers/nix-commands.xml) + + ## labs/labtainers/nmap-discovery.xml + + ### Details + +| Key | Data | +| --- | --- | +|Name | Labtainers lab: nmap-discovery | +|Description | A Labtainers lab.| +|Type | ctf-lab; lab-sheet | +|Author | Z. Cliffe Schreuders | +|Linked videos| | +|VM names| desktop | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | NS | PENETRATION TESTING | PENETRATION TESTING - NETWORK MAPPING - FINGERPRINTING; PENETRATION TESTING - NETWORK MAPPING - NMAP | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/labtainers/nmap-discovery.xml run``` + +[View source](scenarios/labs/labtainers/nmap-discovery.xml) + + ## labs/labtainers/nmap-ssh.xml + + ### Details + +| Key | Data | +| --- | --- | +|Name | Labtainers lab: nmap-ssh | +|Description | A Labtainers lab.| +|Type | ctf-lab; lab-sheet | +|Author | Z. Cliffe Schreuders | +|Linked videos| | +|VM names| desktop | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | NS | PENETRATION TESTING | PENETRATION TESTING - NETWORK MAPPING - FINGERPRINTING; PENETRATION TESTING - NETWORK MAPPING - NMAP || SOIM | CM (CONFIGURATION MANAGEMENT) | SSH (SECURE SHELL) | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/labtainers/nmap-ssh.xml run``` + +[View source](scenarios/labs/labtainers/nmap-ssh.xml) + + ## labs/labtainers/onewayhash.xml + + ### Details + +| Key | Data | +| --- | --- | +|Name | Labtainers lab: onewayhash | +|Description | A Labtainers lab.| +|Type | ctf-lab; lab-sheet | +|Author | Z. Cliffe Schreuders | +|Linked videos| | +|VM names| desktop | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | AAA | Authentication | user authentication; Cryptography and authentication (hashes and attacks against authentication schemes / passwords) || C | Public-Key Cryptography | symmetric encryption and authentication; MESSAGE AUTHENTICATION CODE (MAC) || F | Artifact Analysis | cryptographic hashing | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/labtainers/onewayhash.xml run``` + +[View source](scenarios/labs/labtainers/onewayhash.xml) + + ## labs/labtainers/packet-introspection.xml + + ### Details + +| Key | Data | +| --- | --- | +|Name | Labtainers lab: packet-introspection | +|Description | A Labtainers lab.| +|Type | ctf-lab; lab-sheet | +|Author | Z. Cliffe Schreuders | +|Linked videos| | +|VM names| desktop | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | F | Main Memory Forensics | network connections; data recovery and file content carving || SOIM | Monitor: Data Sources | network traffic | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/labtainers/packet-introspection.xml run``` + +[View source](scenarios/labs/labtainers/packet-introspection.xml) + + ## labs/labtainers/pass-crack.xml + + ### Details + +| Key | Data | +| --- | --- | +|Name | Labtainers lab: pass-crack | +|Description | A Labtainers lab.| +|Type | ctf-lab; lab-sheet | +|Author | Z. Cliffe Schreuders | +|Linked videos| | +|VM names| desktop | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | F | Artifact Analysis | cryptographic hashing || SS | Authentication | user authentication; Cryptography and authentication (hashes and attacks against authentication schemes / passwords) | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/labtainers/pass-crack.xml run``` + +[View source](scenarios/labs/labtainers/pass-crack.xml) + + ## labs/labtainers/pcapanalysis.xml + + ### Details + +| Key | Data | +| --- | --- | +|Name | Labtainers lab: pcapanalysis | +|Description | A Labtainers lab.| +|Type | ctf-lab; lab-sheet | +|Author | Z. Cliffe Schreuders | +|Linked videos| | +|VM names| desktop | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | F | Main Memory Forensics | network connections || NS | OSI (OPEN SYSTEM INTERCONNECT) MODEL | APPLICATION LAYER; DATA LINK LAYER; NETWORK LAYER || SOIM | Monitor: Data Sources | network traffic | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/labtainers/pcapanalysis.xml run``` + +[View source](scenarios/labs/labtainers/pcapanalysis.xml) + + ## labs/labtainers/plc-app.xml + + ### Details + +| Key | Data | +| --- | --- | +|Name | Labtainers lab: plc-app | +|Description | A Labtainers lab.| +|Type | ctf-lab; lab-sheet | +|Author | Z. Cliffe Schreuders | +|Linked videos| | +|VM names| desktop | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | CPS | Cyber-Physical Systems | characteristics; security and privacy concerns || CPS | Cyber-Physical Systems Domains | industrial control systems | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/labtainers/plc-app.xml run``` + +[View source](scenarios/labs/labtainers/plc-app.xml) + + ## labs/labtainers/plc-forensics-adv.xml + + ### Details + +| Key | Data | +| --- | --- | +|Name | Labtainers lab: plc-forensics-adv | +|Description | A Labtainers lab.| +|Type | ctf-lab; lab-sheet | +|Author | Z. Cliffe Schreuders | +|Linked videos| | +|VM names| desktop | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | CPS | Cyber-Physical Systems | characteristics; security and privacy concerns || CPS | Cyber-Physical Systems Domains | industrial control systems | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/labtainers/plc-forensics-adv.xml run``` + +[View source](scenarios/labs/labtainers/plc-forensics-adv.xml) + + ## labs/labtainers/plc-forensics.xml + + ### Details + +| Key | Data | +| --- | --- | +|Name | Labtainers lab: plc-forensics | +|Description | A Labtainers lab.| +|Type | ctf-lab; lab-sheet | +|Author | Z. Cliffe Schreuders | +|Linked videos| | +|VM names| desktop | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | CPS | Cyber-Physical Systems | characteristics; security and privacy concerns || CPS | Cyber-Physical Systems Domains | industrial control systems | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/labtainers/plc-forensics.xml run``` + +[View source](scenarios/labs/labtainers/plc-forensics.xml) + + ## labs/labtainers/plc.xml + + ### Details + +| Key | Data | +| --- | --- | +|Name | Labtainers lab: plc | +|Description | A Labtainers lab.| +|Type | ctf-lab; lab-sheet | +|Author | Z. Cliffe Schreuders | +|Linked videos| | +|VM names| desktop | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | CPS | Cyber-Physical Systems | characteristics; security and privacy concerns || CPS | Cyber-Physical Systems Domains | industrial control systems | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/labtainers/plc.xml run``` + +[View source](scenarios/labs/labtainers/plc.xml) + + ## labs/labtainers/pubkey.xml + + ### Details + +| Key | Data | +| --- | --- | +|Name | Labtainers lab: pubkey | +|Description | A Labtainers lab.| +|Type | ctf-lab; lab-sheet | +|Author | Z. Cliffe Schreuders | +|Linked videos| | +|VM names| desktop | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | C | Schemes | TLS || NS | Internet Architecture | transport layer security | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/labtainers/pubkey.xml run``` + +[View source](scenarios/labs/labtainers/pubkey.xml) + + ## labs/labtainers/radius.xml + + ### Details + +| Key | Data | +| --- | --- | +|Name | Labtainers lab: radius | +|Description | A Labtainers lab.| +|Type | ctf-lab; lab-sheet | +|Author | Z. Cliffe Schreuders | +|Linked videos| | +|VM names| desktop | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | AAA | Authentication | identity management; user authentication; facets of authentication; authentication in distributed systems || NS | Internet Architecture | link layer security | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/labtainers/radius.xml run``` + +[View source](scenarios/labs/labtainers/radius.xml) + + ## labs/labtainers/remote-dns.xml + + ### Details + +| Key | Data | +| --- | --- | +|Name | Labtainers lab: remote-dns | +|Description | A Labtainers lab.| +|Type | ctf-lab; lab-sheet | +|Author | Z. Cliffe Schreuders | +|Linked videos| | +|VM names| desktop | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | NS | Network Protocols and Vulnerability | ADDRESS RESOLUTION PROTOCOL(ARP); ARP (ADDRESS RESOLUTION PROTOCOL); ARP SPOOFING; DNS ATTACKS | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/labtainers/remote-dns.xml run``` + +[View source](scenarios/labs/labtainers/remote-dns.xml) + + ## labs/labtainers/retlibc.xml + + ### Details + +| Key | Data | +| --- | --- | +|Name | Labtainers lab: retlibc | +|Description | A Labtainers lab.| +|Type | ctf-lab; lab-sheet | +|Author | Z. Cliffe Schreuders | +|Linked videos| | +|VM names| desktop | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | SS | Categories of Vulnerabilities | memory management vulnerabilities; Stack smashing buffer overflows || SS | Mitigating Exploitation | NON-EXECUTABLE MEMORY || MAT | Attacks and exploitation | EXPLOITATION; EXPLOITATION FRAMEWORKS; Exploit development; Metasploit Framework development; Mitigation bypass: non-executable memory | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/labtainers/retlibc.xml run``` + +[View source](scenarios/labs/labtainers/retlibc.xml) + + ## labs/labtainers/routing-basics.xml + + ### Details + +| Key | Data | +| --- | --- | +|Name | Labtainers lab: routing-basics | +|Description | A Labtainers lab.| +|Type | ctf-lab; lab-sheet | +|Author | Z. Cliffe Schreuders | +|Linked videos| | +|VM names| desktop | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | NS | Internet Architecture | network layer security | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/labtainers/routing-basics.xml run``` + +[View source](scenarios/labs/labtainers/routing-basics.xml) + + ## labs/labtainers/routing-basics2.xml + + ### Details + +| Key | Data | +| --- | --- | +|Name | Labtainers lab: routing-basics2 | +|Description | A Labtainers lab.| +|Type | ctf-lab; lab-sheet | +|Author | Z. Cliffe Schreuders | +|Linked videos| | +|VM names| desktop | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | NS | Internet Architecture | network layer security | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/labtainers/routing-basics2.xml run``` + +[View source](scenarios/labs/labtainers/routing-basics2.xml) + + ## labs/labtainers/setuid-env.xml + + ### Details + +| Key | Data | +| --- | --- | +|Name | Labtainers lab: setuid-env | +|Description | A Labtainers lab.| +|Type | ctf-lab; lab-sheet | +|Author | Z. Cliffe Schreuders | +|Linked videos| | +|VM names| desktop | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | AAA | Authorisation | access control; Elevated privileges; Real and effective identity; Vulnerabilities and attacks on access control misconfigurations || OSVS | Primitives for Isolation and Mediation | Access controls and operating systems; Linux security model; Unix File Permissions; setuid/setgid | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/labtainers/setuid-env.xml run``` + +[View source](scenarios/labs/labtainers/setuid-env.xml) + + ## labs/labtainers/snort.xml + + ### Details + +| Key | Data | +| --- | --- | +|Name | Labtainers lab: snort | +|Description | A Labtainers lab.| +|Type | ctf-lab; lab-sheet | +|Author | Z. Cliffe Schreuders | +|Linked videos| | +|VM names| desktop | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | SOIM | Monitor: Data Sources | network traffic || SOIM | Analyse: Analysis Methods | misuse detection; anomaly detection || SOIM | Execute: Mitigation and Countermeasures | intrusion prevention systems || NS | Network Defence Tools | packet filters; intrusion detection systems; IDS rules creation || MAT | Malware Detection | attack detection | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/labtainers/snort.xml run``` + +[View source](scenarios/labs/labtainers/snort.xml) + + ## labs/labtainers/softplc.xml + + ### Details + +| Key | Data | +| --- | --- | +|Name | Labtainers lab: softplc | +|Description | A Labtainers lab.| +|Type | ctf-lab; lab-sheet | +|Author | Z. Cliffe Schreuders | +|Linked videos| | +|VM names| desktop | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | CPS | Cyber-Physical Systems | characteristics; security and privacy concerns || CPS | Cyber-Physical Systems Domains | industrial control systems | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/labtainers/softplc.xml run``` + +[View source](scenarios/labs/labtainers/softplc.xml) + + ## labs/labtainers/softplc2.xml + + ### Details + +| Key | Data | +| --- | --- | +|Name | Labtainers lab: softplc2 | +|Description | A Labtainers lab.| +|Type | ctf-lab; lab-sheet | +|Author | Z. Cliffe Schreuders | +|Linked videos| | +|VM names| desktop | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | CPS | Cyber-Physical Systems | characteristics; security and privacy concerns || CPS | Cyber-Physical Systems Domains | industrial control systems | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/labtainers/softplc2.xml run``` + +[View source](scenarios/labs/labtainers/softplc2.xml) + + ## labs/labtainers/sql-inject.xml + + ### Details + +| Key | Data | +| --- | --- | +|Name | Labtainers lab: sql-inject | +|Description | A Labtainers lab.| +|Type | ctf-lab; lab-sheet | +|Author | Z. Cliffe Schreuders | +|Linked videos| | +|VM names| desktop | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | SS | Categories of Vulnerabilities | Web vulnerabilities / OWASP Top 10; API vulnerabilities || SS | Prevention of Vulnerabilities | coding practices; Protecting against session management attacks; XSS; SQLi; CSRF; API design || WMS | Server-Side Vulnerabilities and Mitigations | injection vulnerabilities; server-side misconfiguration and vulnerable components; SQL-INJECTION | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/labtainers/sql-inject.xml run``` + +[View source](scenarios/labs/labtainers/sql-inject.xml) + + ## labs/labtainers/ssh-agent.xml + + ### Details + +| Key | Data | +| --- | --- | +|Name | Labtainers lab: ssh-agent | +|Description | A Labtainers lab.| +|Type | ctf-lab; lab-sheet | +|Author | Z. Cliffe Schreuders | +|Linked videos| | +|VM names| desktop | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | C | Public-Key Cryptography | public-key encryption; public-key signatures | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/labtainers/ssh-agent.xml run``` + +[View source](scenarios/labs/labtainers/ssh-agent.xml) + + ## labs/labtainers/sshlab.xml + + ### Details + +| Key | Data | +| --- | --- | +|Name | Labtainers lab: sshlab | +|Description | A Labtainers lab.| +|Type | ctf-lab; lab-sheet | +|Author | Z. Cliffe Schreuders | +|Linked videos| | +|VM names| desktop | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | C | Public-Key Cryptography | public-key encryption; public-key signatures | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/labtainers/sshlab.xml run``` + +[View source](scenarios/labs/labtainers/sshlab.xml) + + ## labs/labtainers/ssl.xml + + ### Details + +| Key | Data | +| --- | --- | +|Name | Labtainers lab: ssl | +|Description | A Labtainers lab.| +|Type | ctf-lab; lab-sheet | +|Author | Z. Cliffe Schreuders | +|Linked videos| | +|VM names| desktop | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | C | Public-Key Cryptography | public-key encryption; public-key signatures || CPS | Cyber-Physical Systems | characteristics; security and privacy concerns || CPS | Cyber-Physical Systems Domains | industrial control systems || HF | Fitting the Task to the Human | device capabilities and limitations | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/labtainers/ssl.xml run``` + +[View source](scenarios/labs/labtainers/ssl.xml) + + ## labs/response_and_investigation/1_integrity_protection.xml + + ### Details + +| 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.| +|Type | ctf-lab; hackerbot-lab; lab-sheet | +|Author | Z. Cliffe Schreuders | +|Linked videos| | +|VM names| desktop; hackerbot_server | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | AAA | Authorisation | access control; Protecting integrity || OSVS | Primitives for Isolation and Mediation | Linux read only protections: ro mounts; file attributes | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/response_and_investigation/1_integrity_protection.xml run``` + +[View source](scenarios/labs/response_and_investigation/1_integrity_protection.xml) + + ## labs/response_and_investigation/2_integrity_detection.xml + + ### Details + +| 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.| +|Type | ctf-lab; hackerbot-lab; lab-sheet | +|Author | Z. Cliffe Schreuders | +|Linked videos| | +|VM names| desktop; hackerbot_server | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | F | Artifact Analysis | cryptographic hashing || SOIM | Monitor: Data Sources | MONITORING - FILE INTEGRITY CHECKERS || OSVS | OS Hardening | code and data integrity checks | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/response_and_investigation/2_integrity_detection.xml run``` + +[View source](scenarios/labs/response_and_investigation/2_integrity_detection.xml) + + ## labs/response_and_investigation/3_backups_and_recovery.xml + + ### Details + +| 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.| +|Type | ctf-lab; hackerbot-lab; lab-sheet | +|Author | Z. Cliffe Schreuders | +|Linked videos| | +|VM names| desktop; backup_server; hackerbot_server | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | SOIM | Execute: Mitigation and Countermeasures | Recover data and services after an incident; BACKUP - DIFFERENTIAL; BACKUP - INFERENTIAL | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/response_and_investigation/3_backups_and_recovery.xml run``` + +[View source](scenarios/labs/response_and_investigation/3_backups_and_recovery.xml) + + ## labs/response_and_investigation/4_ids.xml + + ### Details + +| Key | Data | +| --- | --- | +|Name | IDS lab | +|Description | A Hackerbot lab. Work through the labsheet, then when prompted interact with Hackerbot. | +|Type | ctf-lab; hackerbot-lab; lab-sheet | +|Author | Z. Cliffe Schreuders | +|Linked videos| | +|VM names| desktop; ids_snoop; web_server; hackerbot_server | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | SOIM | Monitor: Data Sources | network traffic || SOIM | Analyse: Analysis Methods | misuse detection; anomaly detection || SOIM | Execute: Mitigation and Countermeasures | intrusion prevention systems || NS | Network Defence Tools | packet filters; intrusion detection systems || MAT | Malware Detection | attack detection | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/response_and_investigation/4_ids.xml run``` + +[View source](scenarios/labs/response_and_investigation/4_ids.xml) + + ## labs/response_and_investigation/5_ids_rules.xml + + ### Details + +| Key | Data | +| --- | --- | +|Name | IDS rules lab | +|Description | A Hackerbot lab. Work through the labsheet, then when prompted interact with Hackerbot. | +|Type | ctf-lab; hackerbot-lab; lab-sheet | +|Author | Z. Cliffe Schreuders | +|Linked videos| | +|VM names| desktop; ids_snoop; web_server; hackerbot_server | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | SOIM | Monitor: Data Sources | network traffic || SOIM | Analyse: Analysis Methods | misuse detection; anomaly detection || NS | Network Defence Tools | packet filters; intrusion detection systems; IDS rules creation || MAT | Malware Detection | attack detection | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/response_and_investigation/5_ids_rules.xml run``` + +[View source](scenarios/labs/response_and_investigation/5_ids_rules.xml) + + ## labs/response_and_investigation/6_exfiltration_detection.xml + + ### Details + +| Key | Data | +| --- | --- | +|Name | Exfiltration detection lab | +|Description | A Hackerbot lab. Work through the labsheet, then when prompted interact with Hackerbot. | +|Type | ctf-lab; hackerbot-lab; lab-sheet | +|Author | Z. Cliffe Schreuders | +|Linked videos| | +|VM names| desktop; ids_snoop; web_server; hackerbot_server | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | F | Artifact Analysis | cryptographic hashing || SOIM | Monitor: Data Sources | network traffic || SOIM | Analyse: Analysis Methods | Exfiltation detection / data loss prevention || NS | Network Defence Tools | packet filters; intrusion detection systems; intrusion prevention systems; IDS rules creation | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/response_and_investigation/6_exfiltration_detection.xml run``` + +[View source](scenarios/labs/response_and_investigation/6_exfiltration_detection.xml) + + ## labs/response_and_investigation/7_live_analysis.xml + + ### Details + +| Key | Data | +| --- | --- | +|Name | Live analysis lab | +|Description | A Hackerbot lab. Work through the labsheet, then when prompted interact with Hackerbot. | +|Type | ctf-lab; hackerbot-lab; lab-sheet | +|Author | Z. Cliffe Schreuders | +|Linked videos| | +|VM names| desktop; compromised_server; hackerbot_server | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | F | Main Memory Forensics | process information; file information; network connections; artifacts and fragments; challenges of live forensics || OSVS | OS Hardening | anomaly detection || AAA | Accountability | The fallibility of digital evidence to tampering || MAT | Malware Detection | identifying the presence of malware | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/response_and_investigation/7_live_analysis.xml run``` + +[View source](scenarios/labs/response_and_investigation/7_live_analysis.xml) + + ## labs/response_and_investigation/8_dead_analysis.xml + + ### Details + +| Key | Data | +| --- | --- | +|Name | Dead analysis lab | +|Description | A Hackerbot lab. Work through the labsheet, then when prompted interact with Hackerbot. | +|Type | ctf-lab; hackerbot-lab; lab-sheet | +|Author | Z. Cliffe Schreuders | +|Linked videos| | +|VM names| desktop; hackerbot_server; kali | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | F | Operating System Analysis | storage forensics; data recovery and file content carving; Timeline analysis || MAT | Malware Detection | identifying the presence of malware || AAA | Accountability | The fallibility of digital evidence to tampering | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/response_and_investigation/8_dead_analysis.xml run``` + +[View source](scenarios/labs/response_and_investigation/8_dead_analysis.xml) + + ## labs/software_and_malware_analysis/1_dynamic_and_static_analysis.xml + + ### Details + +| 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 determing 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).
| +|Type | ctf-lab; lab-sheet | +|Author | Z. Cliffe Schreuders | +|Linked videos| | +|VM names| metactf | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | MAT | Malware Taxonomy | dimensions; kinds || MAT | Malware Analysis | analysis techniques; analysis environments | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/software_and_malware_analysis/1_dynamic_and_static_analysis.xml run``` + +[View source](scenarios/labs/software_and_malware_analysis/1_dynamic_and_static_analysis.xml) + + ## labs/software_and_malware_analysis/3_c_and_asm.xml + + ### Details + +| 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 determing 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).
| +|Type | ctf-lab; lab-sheet | +|Author | Thalita Vergilio | +|Linked videos| | +|VM names| metactf | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | MAT | Malware Analysis | analysis techniques; analysis environments | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/software_and_malware_analysis/3_c_and_asm.xml run``` + +[View source](scenarios/labs/software_and_malware_analysis/3_c_and_asm.xml) + + ## labs/software_and_malware_analysis/4_asm.xml + + ### Details + +| 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 determing 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).
| +|Type | ctf-lab; lab-sheet | +|Author | Thalita Vergilio | +|Linked videos| | +|VM names| metactf | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | MAT | Malware Analysis | analysis techniques; analysis environments; STATIC ANALYSIS | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/software_and_malware_analysis/4_asm.xml run``` + +[View source](scenarios/labs/software_and_malware_analysis/4_asm.xml) + + ## labs/software_and_malware_analysis/5_ghidra.xml + + ### Details + +| 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 determing the password, run the program and enter the password to receive the file.

[Lab sheet here](https://docs.google.com/document/d/1l4tU49JhI65Q85Zv9I1Wm1kaHNENp6iyIwMUhM8j_14/edit?usp=sharing).
| +|Type | ctf-lab; lab-sheet | +|Author | Z. Cliffe Schreuders | +|Linked videos| | +|VM names| metactf | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | MAT | Malware Analysis | analysis techniques; analysis environments; STATIC ANALYSIS | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/software_and_malware_analysis/5_ghidra.xml run``` + +[View source](scenarios/labs/software_and_malware_analysis/5_ghidra.xml) + + ## labs/software_and_malware_analysis/6_ghidra_analysis.xml + + ### Details + +| 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 determing the password, run the program and enter the password to receive the file.

There are two binaries to practice SRE with Ghidra.
| +|Type | ctf-lab; lab-sheet | +|Author | Z. Cliffe Schreuders | +|Linked videos| | +|VM names| metactf | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | MAT | Malware Analysis | analysis techniques; analysis environments; STATIC ANALYSIS | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/software_and_malware_analysis/6_ghidra_analysis.xml run``` + +[View source](scenarios/labs/software_and_malware_analysis/6_ghidra_analysis.xml) + + ## labs/software_and_malware_analysis/6_ghidra_with_live_malware_samples.xml + + ### Details + +| Key | Data | +| --- | --- | +|Name | Ghidra lab with LIVE MALWARE SAMPLES | +|Description | You will find live malware samples in /opt/theZoo.
| +|Type | lab-sheet | +|Author | Z. Cliffe Schreuders | +|Linked videos| | +|VM names| metactf | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | MAT | Malware Analysis | analysis techniques; analysis environments | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/software_and_malware_analysis/6_ghidra_with_live_malware_samples.xml run``` + +[View source](scenarios/labs/software_and_malware_analysis/6_ghidra_with_live_malware_samples.xml) + + ## labs/software_and_malware_analysis/7_dynamic.xml + + ### Details + +| 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 determing the password, run the program and enter the password to receive the file.

There are binaries to perform dynamic SRE.
| +|Type | ctf-lab; lab-sheet | +|Author | Z. Cliffe Schreuders | +|Linked videos| | +|VM names| metactf | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | MAT | Malware Analysis | analysis techniques; analysis environments; DYNAMIC ANALYSIS | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/software_and_malware_analysis/7_dynamic.xml run``` + +[View source](scenarios/labs/software_and_malware_analysis/7_dynamic.xml) + + ## labs/software_and_malware_analysis/8_anti_sre.xml + + ### Details + +| 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 determing the password, run the program and enter the password to receive the file.

There are binaries to perform dynamic SRE.
| +|Type | ctf-lab; lab-sheet | +|Author | Z. Cliffe Schreuders | +|Linked videos| | +|VM names| metactf | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | MAT | Malware Analysis | analysis techniques; analysis environments; anti-analysis and evasion techniques | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/software_and_malware_analysis/8_anti_sre.xml run``` + +[View source](scenarios/labs/software_and_malware_analysis/8_anti_sre.xml) + + ## labs/software_and_malware_analysis/9_malware_behaviour.xml + + ### Details + +| 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 determing the password, run the program and enter the password to receive the file.

There are binaries to perform dynamic SRE.
| +|Type | ctf-lab; lab-sheet | +|Author | Z. Cliffe Schreuders | +|Linked videos| | +|VM names| metactf | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | MAT | Malware Taxonomy | dimensions; kinds || MAT | Malware Analysis | analysis techniques; analysis environments | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/software_and_malware_analysis/9_malware_behaviour.xml run``` + +[View source](scenarios/labs/software_and_malware_analysis/9_malware_behaviour.xml) + + ## labs/software_security_exploitation/1_c_asm_iof.xml + + ### Details + +| 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).
| +|Type | ctf-lab; lab-sheet | +|Author | Z. Cliffe Schreuders | +|Linked videos| | +|VM names| desktop | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | SS | Categories of Vulnerabilities | Integer overflow || SS | Prevention of Vulnerabilities | language design and type systems | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/software_security_exploitation/1_c_asm_iof.xml run``` + +[View source](scenarios/labs/software_security_exploitation/1_c_asm_iof.xml) + + ## labs/software_security_exploitation/2_race_conditions_format_str.xml + + ### Details + +| 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).
| +|Type | ctf-lab; lab-sheet | +|Author | Z. Cliffe Schreuders | +|Linked videos| | +|VM names| desktop | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | SS | Categories of Vulnerabilities | race condition vulnerabilities; structured output generation vulnerabilities; Format string attacks || SS | Prevention of Vulnerabilities | race condition mitigations; structured output generations mitigations | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/software_security_exploitation/2_race_conditions_format_str.xml run``` + +[View source](scenarios/labs/software_security_exploitation/2_race_conditions_format_str.xml) + + ## labs/software_security_exploitation/3_bug_hunting_and_fuzzing.xml + + ### Details + +| Key | Data | +| --- | --- | +|Name | Bug Hunting and Fuzzing | +|Description |
[Lab sheet here](https://docs.google.com/document/d/1tsKUaCetdqwDmey4JK9DYrcO9XDx4EwE2RIvSbP6zQQ/edit?usp=sharing).
| +|Type | ctf-lab; lab-sheet | +|Author | Z. Cliffe Schreuders | +|Linked videos| | +|VM names| windows_victim; kali; desktop | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | SS | Detection of Vulnerabilities | dynamic detection | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/software_security_exploitation/3_bug_hunting_and_fuzzing.xml run``` + +[View source](scenarios/labs/software_security_exploitation/3_bug_hunting_and_fuzzing.xml) + + ## labs/software_security_exploitation/4_exploit_development.xml + + ### Details + +| Key | Data | +| --- | --- | +|Name | Exploit Development | +|Description |
[Lab sheet here](https://docs.google.com/document/d/1tsKUaCetdqwDmey4JK9DYrcO9XDx4EwE2RIvSbP6zQQ/edit?usp=sharing).
| +|Type | ctf-lab; lab-sheet | +|Author | Z. Cliffe Schreuders | +|Linked videos| | +|VM names| windows_victim; kali; windows_victim_server | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | SS | Categories of Vulnerabilities | memory management vulnerabilities; Stack smashing buffer overflows || MAT | Attacks and exploitation | EXPLOITATION; EXPLOITATION FRAMEWORKS; Exploit development; Metasploit Framework development | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/software_security_exploitation/4_exploit_development.xml run``` + +[View source](scenarios/labs/software_security_exploitation/4_exploit_development.xml) + + ## labs/software_security_exploitation/5_linux_bof_format.xml + + ### Details + +| 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).
| +|Type | ctf-lab; lab-sheet | +|Author | Thomas Shaw | +|Linked videos| | +|VM names| metactf_desktop | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | SS | Categories of Vulnerabilities | memory management vulnerabilities; Stack smashing buffer overflows; Format string attacks || MAT | Attacks and exploitation | EXPLOITATION; EXPLOITATION FRAMEWORKS; Exploit development; Metasploit Framework development | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/software_security_exploitation/5_linux_bof_format.xml run``` + +[View source](scenarios/labs/software_security_exploitation/5_linux_bof_format.xml) + + ## labs/software_security_exploitation/6_linux_stack_bof.xml + + ### Details + +| Key | Data | +| --- | --- | +|Name | Writing Exploits: Linux and Stack-smashing Buffer Overflows | +|Description |
[Lab sheet here](https://docs.google.com/document/d/1wgxLYHkdeLknRcbzZY73xZt36TWExuu-lfIJhRuHE-I/).
| +|Type | ctf-lab; lab-sheet | +|Author | Thomas Shaw | +|Linked videos| | +|VM names| metactf_desktop; kali | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | SS | Categories of Vulnerabilities | memory management vulnerabilities; Stack smashing buffer overflows || MAT | Attacks and exploitation | EXPLOITATION; EXPLOITATION FRAMEWORKS; Exploit development; Metasploit Framework development | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/software_security_exploitation/6_linux_stack_bof.xml run``` + +[View source](scenarios/labs/software_security_exploitation/6_linux_stack_bof.xml) + + ## labs/software_security_exploitation/7_linux_nx_bypass.xml + + ### Details + +| 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/).
| +|Type | ctf-lab; lab-sheet | +|Author | Thomas Shaw | +|Linked videos| | +|VM names| metactf_desktop; kali | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | SS | Categories of Vulnerabilities | memory management vulnerabilities; Stack smashing buffer overflows || SS | Mitigating Exploitation | NON-EXECUTABLE MEMORY || MAT | Attacks and exploitation | EXPLOITATION; EXPLOITATION FRAMEWORKS; Exploit development; Metasploit Framework development; Mitigation bypass: non-executable memory | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/software_security_exploitation/7_linux_nx_bypass.xml run``` + +[View source](scenarios/labs/software_security_exploitation/7_linux_nx_bypass.xml) + + ## labs/software_security_exploitation/8_linux_aslr_bypass.xml + + ### Details + +| 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/).
| +|Type | ctf-lab; lab-sheet | +|Author | Thomas Shaw | +|Linked videos| | +|VM names| metactf_desktop; kali | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | SS | Categories of Vulnerabilities | memory management vulnerabilities; Stack smashing buffer overflows || SS | Mitigating Exploitation | ASLR (ADDRESS SPACE LAYOUT RANDOMIZATION) || MAT | Attacks and exploitation | EXPLOITATION; EXPLOITATION FRAMEWORKS; Exploit development; Metasploit Framework development; Mitigation bypass: ASLR | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/software_security_exploitation/8_linux_aslr_bypass.xml run``` + +[View source](scenarios/labs/software_security_exploitation/8_linux_aslr_bypass.xml) + + ## labs/web_security/websec_lab.xml + + ### Details + +| 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. | +|Type | lab-environment; ctf-lab | +|Author | Z. Cliffe Schreuders | +|Linked videos| | +|VM names| kali | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | | WMS | Fundamental Concepts and Approaches | web PKI and HTTPS; authentication; cookies; passwords and alternatives; JAVASCRIPT / HYPERTEXT MARKUP LANGUAGE (HTML) / CASCADING STYLE SHEETS (CSS) / HYPERTEXT TRANSFER PROTOCOL (HTTP)\n\t\tCOOKIES; HYPERTEXT TRANSFER PROTOCOL (HTTP) - PROXYING; Broken Access Control / Insecure Direct Object References; SESSION HIJACKING; REPRESENTATIONAL STATE TRANSFER (REST) || WMS | Client-Side Vulnerabilities and Mitigations | client-side storage; CLIENT-SIDE VALIDATION; clickjacking || WMS | Client-Side Vulnerabilities and Mitigations | client-side storage; CLIENT-SIDE VALIDATION; clickjacking || WMS | Server-Side Vulnerabilities and Mitigations | injection vulnerabilities; server-side misconfiguration and vulnerable components; CROSS-SITE SCRIPTING (XSS); SAME ORIGIN POLICY (SOP); COMMAND INJECTION; SQL-INJECTION; CROSS-SITE REQUEST FORGERY (CSRF); CONFUSED DEPUTY ATTACKS || SS | Categories of Vulnerabilities | Web vulnerabilities / OWASP Top 10; API vulnerabilities || SS | Prevention of Vulnerabilities | coding practices; Protecting against session management attacks; XSS; SQLi; CSRF; API design | +Command to start scenario: + +```ruby secgen.rb -s scenario/labs/web_security/websec_lab.xml run``` + +[View source](scenarios/labs/web_security/websec_lab.xml) + + diff --git a/lib/CyBOK/generate_scenario_index.rb b/lib/CyBOK/generate_scenario_index.rb index f88b6a1a5..319a54993 100644 --- a/lib/CyBOK/generate_scenario_index.rb +++ b/lib/CyBOK/generate_scenario_index.rb @@ -1,9 +1,11 @@ require 'erb' require 'nori' require 'youtube_images' -# if you want to regenerate the indexes you need to install this additional gem: -# gem 'youtube_images' +require 'dig-deep' +# if you want to regenerate the indexes you need to install these additional gems: +# gem 'youtube_images' +# gem 'dig-deep' require_relative '../helpers/print.rb' require_relative '../helpers/constants.rb' @@ -24,6 +26,8 @@ end KA_TOPIC_SCENARIOS_HASH = Hash.new { |h, k| h[k] = h.dup.clear } SCENARIOS_HASH = {} +SCENARIOS_FULL_HASH = {} + KA_TOPIC_VIDEO_HASH = Hash.new { |h, k| h[k] = h.dup.clear } VIDEO_HASH = {} parser = Nori.new() @@ -32,6 +36,7 @@ scenarios.each { |scenario| scenario_hash = parser.parse(File.read("#{scenarios_dir}/#{scenario}")) if scenario_hash && scenario_hash['scenario'] + (SCENARIOS_FULL_HASH[scenario] ||= []) << scenario_hash['scenario'] if (scenario_hash['scenario']['CyBOK'].kind_of?(Array)) scenario_hash['scenario']['CyBOK'].each {|cybok_entry| ka = cybok_entry['@KA'] @@ -40,7 +45,6 @@ scenarios.each { |scenario| (@ka_topic_hash["#{ka} #{topic}"] ||= []) << scenario KA_TOPIC_SCENARIOS_HASH[ka][topic][scenario] = "-" (SCENARIOS_HASH[scenario] ||= []) << cybok_entry - } elsif (scenario_hash['scenario']['CyBOK']) # KA_HASH[scenario] << scenario diff --git a/lib/CyBOK/template_CyBOK_scenarios.md.erb b/lib/CyBOK/template_CyBOK_scenarios.md.erb index c68644a97..03f613a28 100644 --- a/lib/CyBOK/template_CyBOK_scenarios.md.erb +++ b/lib/CyBOK/template_CyBOK_scenarios.md.erb @@ -40,11 +40,34 @@ KA_TOPIC_SCENARIOS_HASH.each{|ka,hash| SCENARIOS_HASH.each{|scenario,array| %> ## <%= scenario %> + + ### Details + +| Key | Data | +| --- | --- | +|Name | <%= SCENARIOS_FULL_HASH[scenario][0]["name"].to_s %> | +|Description | <%= SCENARIOS_FULL_HASH[scenario][0]["description"].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(',',';') %>| +|VM names| <%= +systems = SCENARIOS_FULL_HASH[scenario][0].dig_deep(:system_name).to_s.gsub(/"|\[|\]/, '').gsub(',',';') %> | + + + + ### CyBOK KAs, Topics, and Keywords | KA | Topic | Keywords | --- | --- | --- | <%array.each{|arr| -%> | <%= arr["@KA"] %> | <%= arr["@topic"] %> | <%= arr["keyword"].to_s.gsub(/"|\[|\]/, '').gsub(',',';') %> |<% } %> + +Command to start scenario: + +```ruby secgen.rb -s scenario/<%= scenario %> run``` + +[View source](scenarios/<%= scenario %>) + <% } %>