IMPORTANT!!! Initial state of this project, that means it is still not usable.
PenTesting laboratory deployed as IaC with Terraform on AWS. It deploys a Kali Linux instance accessible via ssh & wireguard VPN. Vulnerable WIN AD instances in a private subnet.
NOTE:
- Ids only defined for region "eu-west-1"
- [2021-03-10] Use new Kali version 2021.1
- Kali 2021.1 instance (private key is saved into kali.pem)
- Wireguard VPN service: client file client_vpn.wg
- Accessible via ssh/scp
- Public Subnet 10.0.0.5/24
- Vulnerable AD Server (servers?)
- Private subnet 10.0.1.?/24
- https://github.com/tonyprawiro/aws-msad-terraform
- Requirements:
- Terraform CLI install guide
- AWS CLI install guide
- $PATH configured for AWS CLI & Terraform
- AWS account and configure credentials via aws cli:
aws configure
- Kali Linux Subscription in AWS Marketplace (version 2020.04)
- Metasploitable3 AMI image previously built (public AMI available for eu-west-1 region) see
- Enable/disable vulnerable instances to be deployed setting
0
or1
invariables.tf
:
variable "deploment-control" {
type = map
default = {
#"instance" = 0 or 1, to disable or enable
"metasploitable3" = 1
"dvca" = 0
}
description = "Control which EC2 instances are deployed, 0 for none or 1"
}
- Use terraform for deploy infraestructure
terraform init
terraform plan
terraform apply -auto-approve
Either connect to Kali via ssh or wireguard:
- SSH: (Only command line) Use autogenerated private key (see terraform output)
KALI_IP=<KALI_IP> # configure kali public ip
ssh -i kali.pem -o StrictHostKeyChecking=no -o IdentitiesOnly=yes kali@${KALI_IP}
- Wireguard: Connect your local kali instance via wireguard (see client_vpn.wg generated file)
KALI_IP=<KALI_IP> # configure kali public ip
scp -i kali.pem -o StrictHostKeyChecking=no IdentitiesOnly=yes kali@${KALI_IP}:/home/kali/client_vpn.wg .
terraform destroy -auto-approve