-
Notifications
You must be signed in to change notification settings - Fork 318
Scenarios
##Table of Contents
Overview
The default scenario
Scenario breakdown
Specifying attributes
Choosing a specific module
Scenarios are an XML representation of a configuration of machine(s) for SecGen to generate. This is where the user specifies which base boxes, networks, services, utilities and vulnerabilities they would like to use. There are many example scenarios availible for use.
The default scenario is run when no other scenario is specified. If a command line argument fails or is not completed properly SecGen will fall-back to using the default scenario.
<?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">
<!-- an example remote storage system, with a remotely exploitable vulnerability that can then be escalated to root -->
<system>
<system_name>storage_server</system_name>
<base platform="linux"/>
<vulnerability privilege="user" access="remote" />
<vulnerability privilege="root" access="local" />
<service/>
<network type="private_network" range="dhcp"/>
</system>
</scenario>
This scenario creates a system called 'storage_server' which uses a linux base with two vulnerabilities, a remote one which gives user privileges and a local vulnerability which gives root privileges, one service and a private network which uses dhcp.
A Scenario can have multiple Systems, each of which can have multiple Modules, which can be of the type Base, Network, Service, Utility or Vulnerability.
SecGen allows for specifying which modules you require with varying degrees of granularity. In the default scenario the two vulnerabilities use the XML attributes to specify the type of vulnerability they would like. SecGen will try and find a module which fits the specified criteria. If multiple modules meet the requirements a valid module will be chosen at random.
Use a specific module by using the type and the module path:
<service module_path="modules/services/unix/http/apache"/>