Configuration
The automation configuration panel is where you set what happens when a test case runs. It consists of:
- The test case command
- Variables
- Execution artifacts
- Optional cleanup commands
To open the configuration panel, click the "Configuration" button under Red Team Details:
Command¶
The command section has a text box where you can enter the commands you want to run. It also has a drop down menu letting you select how you want the commands to run.
Executor | Example | Notes |
---|---|---|
CMD | cmd.exe /c dir | Newlines in the text box are used to separate commands. Each command will be run consecutively with cmd.exe /c. |
PowerShell | Powershell.exe -File "Testcase Name.ps1" | The commands in the command text box will be written to a PowerShell file on disk and then run. |
Inline PowerShell | Powershell.exe -Command "cd C:\; ls" | The commands in the command text box will be passed inline to PowerShell. |
Bash | ls | Newlines in the text box are used to separate commands. Each command will be run consecutively using Bash. |
sh | ls | Used for compatibility with Atomic Red executors. Same as Bash under the hood. |
The command preview updates in real time and will show you exactly what will be run when the test case executes.
Variables¶
The variables section lets you set input variables for test cases. This helps you manage repeating or frequently changing data in the commands, such as usernames. You can add a new variable with the "+" button and then set its name and value in the corresponding text boxes. Then in the command text box, use variables with the format #{name}. Any variables will be replaced with the values set in the variables table. You can see how the variables will be inserted by viewing the command preview.
Command | Variable Name | Variable Value | Resulting Command |
---|---|---|---|
dir #{path} | path | C:\ | cmd.exe /c dir C:\ |
Local variables only apply to the currently selected test case. Global variables apply to every test case in the test environment, which allows you to change a variable value across many test cases at once. If a local and global variable exist for a test case with the same name, the local variable takes precedence. This allows you to override a shared variable when needed.
Execution Artifacts¶
Execution artifacts let you upload files that will be dropped to disk when the test case runs and can be used by commands. More information can be found in the Execution Artifacts section.
Cleanup Commands¶
Cleanup commands are used to undo any changes the test case made to the target system. They run after the test case command finishes and while the results are logged, they are not used to update any of the Red Team information when logs are uploaded. They otherwise function identically to test case commands.