deploy_scenario
Deploy fresh cyber range scenarios for security testing with optional SIEM integration, customization, or randomization. Generates configurations automatically without file uploads.
Instructions
Deploy a scenario with optional SIEM integration and customization.
IMPORTANT: This tool generates a FRESH configuration for each call. Each deployment builds a new scenario from scratch - no state is reused.
NO FILE UPLOAD REQUIRED: This tool automatically generates the configuration from the scenario parameters. You do NOT need to provide a config file or manual configuration.
CUSTOMIZATION AND RANDOMIZATION:
Use customize=True with custom parameters to deploy a customized scenario
Use randomize=True to deploy a randomized version with varied users/vulnerabilities
All customization parameters are optional - defaults used if not specified
Recommended Workflow:
Use preview_scenario() first to verify what will be deployed
(Optional) Abort any existing deployment: abort_range_deployment()
(Optional) Delete existing range: delete_range(confirm=True)
Deploy the scenario: deploy_scenario(scenario_key='redteam-lab-lite')
Monitor progress: monitor_deployment() or quick_status()
Internal Workflow:
Generates fresh scenario configuration based on parameters
Applies customizations or randomization if requested
Sets the configuration in Ludus (via PUT /range/config)
Verifies the configuration was set correctly
Starts deployment (via POST /range/deploy)
Generates comprehensive walkthrough
Returns deployment status, VM details, and walkthrough
Available scenarios:
redteam-lab-lite: 5 VMs (DC, 2 workstations, file server, Kali)
redteam-lab-intermediate: 10 VMs (DMZ, internal network, multiple servers)
redteam-lab-advanced: 21 VMs (2 forests with trust, DMZ, secure zone)
blueteam-lab-lite: 6 VMs (SOC with SIEM, detection)
blueteam-lab-intermediate: 11 VMs (SOC with EDR, IDS)
blueteam-lab-advanced: 21 VMs (Enterprise SOC, full stack)
purpleteam-lab-lite: 6 VMs (Red/Blue collaborative)
purpleteam-lab-intermediate: 10 VMs (Purple team with EDR)
purpleteam-lab-advanced: 13 VMs (Full SOC + adversary emulation)
malware-re-lab-lite: 3 VMs (Basic malware analysis)
malware-re-lab-intermediate: 7 VMs (Pro malware lab)
malware-re-lab-advanced: 18 VMs (Enterprise malware research)
wireless-lab: 2 VMs (WiFi pentesting)
Args: scenario_key: Scenario identifier (e.g., 'redteam-lab-lite') user_id: Optional user ID (admin only) ensure_roles: Ensure required Ansible roles are installed siem_type: SIEM type to include (wazuh, splunk, elastic, security-onion, none) resource_profile: Resource allocation profile (minimal, recommended, maximum) customize: Enable customization mode (use provided customizations) randomize: Enable randomization mode (generate random customizations) custom_users: List of custom user dicts with keys: username, password, display_name, groups (list), department (optional), title (optional), etc. vulnerability_config: Dict with keys like esc1_enabled, esc2_enabled, open_shares, etc. network_customizations: Dict with vlan_changes, additional_rules, remove_rules, etc. vm_customizations: Dict with vm_count_overrides, additional_vms, remove_vms, etc.
Returns: Deployment result with scenario details, VM list, deployment status, and walkthrough
Examples: # Simple deployment (default) deploy_scenario(scenario_key='redteam-lab-lite', siem_type='none')
Natural Language Translation:
"Make a custom range using redteam-lab-lite" → customize=True
"Randomize redteam-lab-lite" → randomize=True
"Deploy with different users" → customize=True, custom_users=[...]
Note: For automated deployments with validation and monitoring, consider using smart_deploy() instead, which handles the full workflow.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| scenario_key | Yes | ||
| user_id | No | ||
| ensure_roles | No | ||
| siem_type | No | wazuh | |
| resource_profile | No | recommended | |
| customize | No | ||
| randomize | No | ||
| custom_users | No | ||
| vulnerability_config | No | ||
| network_customizations | No | ||
| vm_customizations | No |