Técnica 2: EC2 Instance Connect

Investigacion y creditos a https://unit42.paloaltonetworks.com/

¿Crees tener lo que se necesita para ser un experto en Pentesting contra AWS? Si nuestro libro te abrió los ojos a las posibilidades de la ciberseguridad ofensiva o si ya cuentas con habilidades en este campo, es momento de subir de nivel. Te retamos a certificarte en el CPNA - Curso Profesional de Pentesting Contra AWS. No será fácil: te enfrentarás a un examen riguroso de 12 horas donde deberás hackear una infraestructura completa alojada en AWS. ¿Listo para el desafío? Acepta el reto y demuestra tu verdadero potencial.

Para los equipos de Red Team que operan en AWS, la gestión estratégica de claves SSH mediante EC2 Instance Connect ofrece una vía de simulación de ataques que involucra el uso de credenciales IAM comprometidas. Este enfoque subraya la necesidad de supervisar las modificaciones en las reglas de los grupos de seguridad y la gestión de accesos.

En un entorno controlado, el Red Team podría, teóricamente, usar la API AuthorizeSecurityGroupIngress para modificar las reglas de un grupo de seguridad y añadir una regla de ingreso SSH. Esto permitiría a las instancias previamente protegidas ser accesibles desde direcciones IP específicas, incluso las controladas por el Red Team.

Una vez modificadas las reglas del grupo de seguridad, permitiendo el movimiento lateral en la red, las potentes credenciales IAM proporcionarían la capacidad de utilizar el servicio EC2 Instance Connect. Este servicio administra las claves SSH en las instancias y permite la inyección temporal de una clave pública SSH utilizando la API SendSSHPublicKey.

El uso de esta técnica faculta al Red Team para conectar con una instancia EC2 y acceder a sus datos, simulando lo que un atacante podría hacer. Esto destaca cómo los proveedores de nube, como AWS, tienen mecanismos propios que permiten el acceso a instancias de cómputo, complementando las tecnologías nativas de autenticación y autorización del sistema operativo.

A pesar de que existen barreras entre los servicios en la nube y las instancias de cómputo que operan dentro de ella, dichas barreras están diseñadas para ser permeables, posibilitando el movimiento entre diferentes sistemas de autenticación y autorización. Esto demuestra cómo las credenciales IAM pueden otorgar acceso a instancias de cómputo, contenedores y bases de datos RDS, por ejemplo, incluso cuando estas tecnologías no nativas de la nube podrían tener sus propios métodos de autenticación funcionando de manera independiente.

En un ejercicio controlado, el Red Team podría identificar y utilizar credenciales almacenadas en texto claro dentro de la instancia EC2, como una clave SSH privada o tokens de acceso de AWS, para simular el pivotaje a otras instancias EC2, empleando tanto técnicas tradicionales como específicas de la nube para el movimiento lateral. La adopción de estas estrategias conduce a un mayor entendimiento de los vectores de ataque y a la mejora de las prácticas de seguridad.

aws ec2-instance-connect send-ssh-public-key --instance-id INSTANCE_ID --instance-os-user USERNAME --ssh-public-key SSH_PUBLIC_KEY

En este comando, INSTANCE_ID sería el identificador de la instancia EC2 a la que el Red Team desea acceder, USERNAME es el nombre de usuario dentro de la instancia que recibirá la clave pública SSH y SSH_PUBLIC_KEY es la clave pública SSH que el Red Team desea inyectar temporalmente en la instancia para obtener acceso. Este comando es una demostración de cómo se puede gestionar el acceso a una instancia sin modificar las claves SSH preexistentes, lo que es fundamental para mantener la integridad del entorno simulado de ataque.

Última actualización