Variables

Variables may be assigned to by a statement of the form of key-values. Once assigned, they can be used as placeholders in command-settings. It is unnecessary to begin variable names with a $-sign when defined in the vars-section. However, when variables are placed in the commands section, they always must start with a $-sign. If the same variable name with the prefix “ATTACKMATE_” exists as an environment variable it will overwrite the playbook variable value. i.e. the playbookvariabel $FOO will be overwritten be environment variabel $ATTACKMATE_FOO.

###
vars:
  $SERVER_ADDRESS: 192.42.0.254
  # the $-sign is not necessary here:
  $NMAP: /usr/bin/nmap

commands:
  - type: shell
    # the $-sign is required when using the variable:
    cmd: $NMAP $SERVER_ADDRESS

Note

For more information about using the variables see string.Template

Note

variables in cmd settings of a loop command will be substituted on every iteration of the loop, see loop

Builtin Variables

The following variables are set by the system:

RESULT_STDOUT is set after every command execution (except for debug, regex and setvar commands) and stores the result output.

RESULT_CODE is set after every command execution and stores the returncode.

LAST_MSF_SESSION is set every time after a new metasploit session was created and contains the session number.

LAST_SLIVER_IMPLANT is set every time after a new sliver implant was created and contains the path to the implant file.

LAST_FATHER_PATH is set every time when a father-rootkit was generated.

REGEX_MATCHES_LIST is set every time a regex command yields matches and it contains a list of all matches. Note that if sub or split does not have a match the input string is returned.