Files
SecGen/scenarios/ctf/ff_in_the_wild.xml
Z. Cliffe Schreuders 30b55a42f1 Update CyBOK metadata
2024-04-08 14:41:49 +01:00

157 lines
5.2 KiB
XML

<?xml version="1.0"?>
<scenario xmlns="http://www.github/cliffe/SecGen/scenario"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.github/cliffe/SecGen/scenario">
<name>Flawed Fortress</name>
<author>Z. Cliffe Schreuders</author>
<author>Thomas Shaw</author>
<description>Hack the server. Find / decode the flags.
</description>
<type>ctf</type>
<type>attack-ctf</type>
<type>pwn-ctf</type>
<difficulty>intermediate</difficulty>
<CyBOK KA="AC" topic="Symmetric Cryptography">
<keyword>symmetric encryption and authentication</keyword>
</CyBOK>
<CyBOK KA="F" topic="Artifact Analysis">
<keyword>cryptographic hashing</keyword>
<keyword>Encoding and alternative data formats</keyword>
</CyBOK>
<CyBOK KA="MAT" topic="Attacks and exploitation">
<keyword>EXPLOITATION</keyword>
<keyword>EXPLOITATION FRAMEWORKS</keyword>
</CyBOK>
<CyBOK KA="SOIM" topic="PENETRATION TESTING">
<keyword>PENETRATION TESTING - SOFTWARE TOOLS</keyword>
<keyword>PENETRATION TESTING - ACTIVE PENETRATION</keyword>
<keyword>PENETRATION TESTING - NETWORK MAPPING - RECONNAISSANCE</keyword>
</CyBOK>
<CyBOK KA="NS" topic="PENETRATION TESTING">
<keyword>PENETRATION TESTING - NETWORK MAPPING - FINGERPRINTING</keyword>
<keyword>PENETRATION TESTING - NETWORK MAPPING - NMAP</keyword>
</CyBOK>
<system>
<system_name>attack_vm</system_name>
<base distro="Kali" name="MSF"/>
<input into_datastore="IP_addresses">
<value>172.16.0.2</value>
<value>172.16.0.3</value>
</input>
<utility module_path=".*/parameterised_accounts">
<input into="accounts">
<value>{"username":"kali","password":"kali","super_user":"true","strings_to_leak":[],"leaked_filenames":[]}</value>
</input>
</utility>
<utility module_path=".*/iceweasel">
<input into="accounts">
<value>{"username":"kali","password":"kali","super_user":"true","strings_to_leak":[],"leaked_filenames":[]}</value>
</input>
<input into="autostart">
<value>false</value>
</input>
</utility>
<utility module_path=".*/kali_top10"/>
<utility module_path=".*/kali_web"/>
<network type="private_network">
<input into="IP_address">
<datastore access="0">IP_addresses</datastore>
</input>
</network>
<input into_datastore="spoiler_admin_pass">
<generator type="strong_password_generator"/>
</input>
<build type="cleanup">
<input into="root_password">
<datastore>spoiler_admin_pass</datastore>
</input>
</build>
</system>
<!--a few vulnerabilities that are in the wild, with some flags that need decoding, some red herring services to keep things interesting-->
<system>
<system_name>in_the_wild</system_name>
<base distro="Debian 10" type="desktop" name="KDE"/>
<utility module_path=".*/after_login_message">
<input into="strings_to_leak">
<encoder type="string_format_encoder">
<input into="strings_to_encode">
<value>Hackme</value>
</input>
</encoder>
<generator type="ascii_art_generator"/>
<value>Well done! You hacked this server. There's a few ways of hacking this server and some extra flags for you to decode.</value>
</input>
</utility>
<vulnerability read_fact="strings_to_leak" access="remote" privilege="user_rw.*">
<input into="strings_to_leak">
<generator type="flag_generator" />
<encoder type="ascii_reversible">
<input into="strings_to_encode">
<generator type="flag_generator" />
</input>
</encoder>
</input>
</vulnerability>
<!--double encoded-->
<vulnerability read_fact="strings_to_leak" access="remote" privilege="user_rw.*">
<input into="strings_to_leak">
<generator type="flag_generator" />
<encoder type="ascii_reversible">
<input into="strings_to_encode">
<encoder type="ascii_reversible">
<input into="strings_to_encode">
<generator type="flag_generator" />
</input>
</encoder>
</input>
</encoder>
</input>
</vulnerability>
<!-- vulnerability which can leak images, leak 2 image challenges and a random red-herring image -->
<vulnerability read_fact="images_to_leak" access="remote" privilege="user_rw.*">
<input into="images_to_leak">
<generator read_fact="strings_to_leak" type="image_generator" >
<input into="strings_to_leak">
<generator type="flag_generator" />
</input>
</generator>
<generator type="image_generator"/>
<generator read_fact="strings_to_leak" type="image_generator" >
<input into="strings_to_leak">
<generator type="flag_generator" />
</input>
</generator>
</input>
</vulnerability>
<network type="private_network">
<input into="IP_address">
<datastore access="1">IP_addresses</datastore>
</input>
</network>
<build type="cleanup">
<input into="root_password">
<datastore>spoiler_admin_pass</datastore>
</input>
</build>
</system>
</scenario>