Repository navigation
01. Quick Start
Home > Quick Start
Abbreviated path for returning operators. If this is your first deploy, work through Prerequisites → Deploy → Verify instead.
| At a glance | |
|---|---|
| Time to ready | ~30 min on a fresh AWS account, ~15 min if you've deployed before |
| What you deploy | 7 EC2 instances (Mythic / Sliver / Havoc / Redirector / Guacamole / Windows op / Kali op) across 2 peered VPCs |
| Cost | ~$0.21/hr compute, ~$5-9/mo at 5-10 hrs/wk with terraform destroy between sessions |
| Default mode | Open environment (public domain + Let's Encrypt). For HTB/VL/PG: see Deployment Modes |
Assumes you've done this before, IAM is set up, aws configure is done, the SSH key pair exists in AWS, and you've accepted the Kali Marketplace EULA.
git clone -b v0.3-dev https://github.com/BaddKharma/redStack.git
cd redStack
cp terraform.tfvars.example terraform.tfvars
# edit terraform.tfvars: set localPub_ip, ssh_key_name, ssh_private_key_path, redirector_domain
terraform init
terraform apply -auto-approve
terraform output deployment_info > ../deployment_info.txtWait ~15 minutes for cloud-init to finish on all instances. Point your domain's A record at the redirector's Elastic IP (printed in deployment_info).
SSL cert (open mode):
ssh -J admin@<GUAC_PUBLIC_IP> admin@redirector
sudo certbot --apache -d yourdomain.tldOpen the portal: https://<GUAC_PUBLIC_IP>/guacamole. Login guacadmin / lab password from deployment_info. All connections are pre-registered.
Each C2 has its own walkthrough for first beacon:
-
Mythic, UI-driven, HTTPS profile pre-installed. Web UI at
https://mythic:7443from the Windows operator. -
Sliver, CLI-driven. SSH into the Sliver host and
sliver-client. -
Havoc, Qt GUI client over Guacamole VNC. First deploy only: SSH to Havoc and run
~/build_havoc.sh(~20 min compile).
Or work from Kali for AD enumeration:
-
Kali, Headless by default.
sudo install-kali-toolsafter first SSH login pulls the curated 21-package AD/enum lineup.
Skip the domain step and the Certbot step. In terraform.tfvars:
redirector_domain = ""
enable_external_vpn = true
enable_redirector_htaccess_filtering = falseThen follow External Targets for the OpenVPN + WireGuard routing setup.
terraform destroy -auto-approveReleases EIPs, terminates instances, removes VPCs. ~5 min. State is gone, for stop-vs-destroy tradeoffs see Cost Management.
- Prerequisites, full first-time setup (IAM, CLI, SSH key, Marketplace)
-
Deploy, annotated walkthrough of
terraform apply - Verify, confirm Guacamole, Windows, internal connectivity
- Troubleshooting, when something doesn't come up cleanly
“Slow is smooth, smooth is fast.”
Naval Special Warfare adage