Investigadores de ciberseguridad han dado a conocer un nuevo tipo de ataque denominado whoAMI, que permite a cualquiera que publique una Amazon Machine Image (AMI) con un nombre específico ejecutar código dentro de una cuenta de Amazon Web Services (AWS).
«Si este ataque se lleva a cabo a gran escala, podría facilitar el acceso a miles de cuentas. Este patrón vulnerable se puede encontrar en numerosos repositorios de código privado y de código abierto», comentó Seth Art, investigador de Datadog Security Labs, en un informe.
En esencia, la técnica se enmarca dentro de un ataque a la cadena de suministro, que consiste en publicar un recurso malicioso y engañar a un software mal configurado para que lo use en lugar del recurso legítimo.
El ataque aprovecha el hecho de que cualquier usuario puede agregar una AMI (imagen de máquina virtual utilizada para iniciar instancias de Elastic Compute Cloud, EC2, en AWS) al catálogo comunitario y el hecho de que los desarrolladores podrían omitir el atributo «–owners» al buscar una a través de la API ec2:DescribeImages.
En términos simples, el ataque de confusión de nombres requiere que se cumplan tres condiciones cuando una víctima obtiene el ID de la AMI mediante la API:
- Uso de un filtro por nombre,
- Omisión de los parámetros owner, owner-alias o owner-id,
- Selección de la imagen más recientemente creada entre las imágenes coincidentes («most_recent=true»).
Este escenario permite que un atacante cree una AMI maliciosa cuyo nombre coincida con los criterios de búsqueda especificados, lo que resulta en la creación de una instancia EC2 utilizando la AMI del atacante.
Esto otorga a los atacantes la capacidad de ejecutar código de manera remota (RCE) en la instancia, habilitándoles para realizar varias acciones posteriores a la explotación.
El único requisito para un atacante es tener una cuenta de AWS para publicar su AMI con puerta trasera en el catálogo público de AMIs de la Comunidad y elegir un nombre que coincida con las AMIs buscadas por sus objetivos.
«Es bastante similar a un ataque de confusión de dependencias, pero en ese caso, el recurso malicioso es una dependencia de software (como un paquete pip), mientras que en el ataque de confusión de nombres whoAMI, el recurso malicioso es una imagen de máquina virtual», explicó Art.
Datadog informó que alrededor del 1% de las organizaciones monitoreadas por la empresa fueron afectadas por el ataque whoAMI y que encontraron ejemplos públicos de código en Python, Go, Java, Terraform, Pulumi y Bash shell que utilizaban los criterios vulnerables.
Tras una divulgación responsable el 16 de septiembre de 2024, Amazon solucionó el problema tres días después. Al ser consultados, AWS comentó que no encontraron pruebas de que esta técnica hubiera sido explotada en la práctica.
«Todos los servicios de AWS están funcionando según lo previsto. Tras un análisis exhaustivo de registros y monitoreo, nuestra investigación confirmó que la técnica descrita en este estudio solo ha sido ejecutada por los investigadores autorizados, sin evidencia de uso por parte de otros», indicó la empresa.
«Esta técnica podría afectar a los clientes que obtienen los ID de Amazon Machine Image (AMI) a través de la API ec2:DescribeImages sin especificar el valor del propietario. En diciembre de 2024, introdujimos los AMIs permitidos, una nueva configuración a nivel de cuenta que permite a los clientes limitar el descubrimiento y uso de AMIs dentro de sus cuentas AWS. Recomendamos a los clientes que evalúen e implementen este nuevo control de seguridad.»
Desde noviembre pasado, HashiCorp Terraform ha comenzado a emitir advertencias cuando se usa «most_recent = true» sin un filtro de propietario en la versión terraform-provider-aws 5.77.0. Esta advertencia se actualizará a un error en la versión 6.0.0.