./HAVOC ECS Resources

Details about AWS Elastic Container Service resources created in a ./HAVOC deployment

When creating a new ./HAVOC deployment, several Elastic Container Service resources are created in your AWS account. Below is a list of the Elastic Container Service resources that are created.

The Terraform configuration file that is used to create the Elastic Container Service resources is available here: https://github.com/havocsh/havoc/blob/main/havoc_deploy/aws/terraform/ecs.tf

ECS Clusters

Task Cluster

  • Cluster Name: ${var.deployment_name}-task-cluster

This ECS cluster is used to run container tasks.

Playbook Operator Cluster

  • Cluster Name: ${var.deployment_name}-playbook-operator-cluster

This ECS cluster is used to run playbook operator tasks.

ECS Task Definitions

Amazon ECS task definitions are used to describe the containers that should be run as part of a task.

Nmap Task Definition

  • Family: ${var.deployment_name}-nmap
  • Execution Role: ${var.deployment_name}-execution-role
  • Task Role: ${var.deployment_name}-task-role
  • Network Mode: awsvpc
  • Requires Compatibility: FARGATE
  • CPU: 512
  • Memory: 1024

This task definition defines a container for running Nmap tasks.

Metasploit Task Definition

  • Family: ${var.deployment_name}-metasploit
  • Execution Role: ${var.deployment_name}-execution-role
  • Task Role: ${var.deployment_name}-task-role
  • Network Mode: awsvpc
  • Requires Compatibility: FARGATE
  • CPU: 2048
  • Memory: 8192

This task definition defines a container for running Metasploit tasks.

PowerShell Empire Task Definition

  • Family: ${var.deployment_name}-powershell_empire
  • Execution Role: ${var.deployment_name}-execution-role
  • Task Role: ${var.deployment_name}-task-role
  • Network Mode: awsvpc
  • Requires Compatibility: FARGATE
  • CPU: 1024
  • Memory: 4096

This task definition defines a container for running PowerShell Empire tasks.

HTTP Server Task Definition

  • Family: ${var.deployment_name}-http_server
  • Execution Role: ${var.deployment_name}-execution-role
  • Task Role: ${var.deployment_name}-task-role
  • Network Mode: awsvpc
  • Requires Compatibility: FARGATE
  • CPU: 1024
  • Memory: 4096

This task definition defines a container for running an HTTP server.

Trainman Task Definition

  • Family: ${var.deployment_name}-trainman
  • Execution Role: ${var.deployment_name}-execution-role
  • Task Role: ${var.deployment_name}-task-role
  • Network Mode: awsvpc
  • Requires Compatibility: FARGATE
  • CPU: 1024
  • Memory: 4096

This task definition defines a container for running Trainman tasks.

Exfilkit Task Definition

  • Family: ${var.deployment_name}-exfilkit
  • Execution Role: ${var.deployment_name}-execution-role
  • Task Role: ${var.deployment_name}-task-role
  • Network Mode: awsvpc
  • Requires Compatibility: FARGATE
  • CPU: 1024
  • Memory: 4096

This task definition defines a container for running Exfilkit tasks.

Playbook Operator Task Definition

  • Family: ${var.deployment_name}-playbook_operator
  • Execution Role: ${var.deployment_name}-playbook-operator-execution-role
  • Task Role: ${var.deployment_name}-playbook-operator-role
  • Network Mode: awsvpc
  • Requires Compatibility: FARGATE
  • CPU: 1024
  • Memory: 4096

This task definition defines a container for running playbook operator tasks.

These ECS task definitions specify the containers, their configurations, and the resources they require to run various components of the ./HAVOC deployment.