Casi dos docenas de API de AWS son vulnerables al abuso

Se pueden abusar casi dos docenas de interfaces de programación de aplicaciones (API) en 16 ofertas diferentes de Amazon Web Services para permitir que los atacantes obtengan la lista y la estructura interna de la cuenta en la nube de una organización para lanzar ataques dirigidos contra personas.

Todo lo que un actor de amenazas necesitaría para llevar a cabo el ataque es la identificación de AWS de 12 dígitos de la organización objetivo, algo que se usa y comparte públicamente, indicó Palo Alto Networks.

En un informe, el proveedor de seguridad dijo que se podría abusar de todas las API afectadas de la misma manera en las tres particiones o regiones de AWS (aws, aws-us-gov y aws-cn). Los servicios de Amazon que son vulnerables incluyen Amazon Simple Storage Service (S3), Amazon Key Management Service (KMS) y Amazon Simple Queue Service (SQS).

Jay Chen, investigador principal de la nube de la Unidad 42 en Palo Alto Networks, dice que el problema tiene que ver con una función de diseño de AWS que está destinada a ayudar a los usuarios a evitar errores tipográficos y errores al escribir una política. «Los mensajes de error brindan inadvertidamente demasiada información, de modo que un atacante puede averiguar si un usuario o función en particular existe en otra cuenta de AWS». 

Específicamente, la causa del problema radica en cómo la función de administración de identidad y acceso de AWS maneja un tipo específico de política, conocida como política basada en recursos, que está asociada con recursos de AWS, como un bucket de S3 o una instancia de Amazon EC2. En total, 26 servicios de AWS admiten políticas basadas en recursos.

Según Palo Alto Networks, las políticas basadas en recursos de AWS incluyen un campo que especifica los usuarios o roles que pueden acceder a recursos específicos. Si una política contiene una identidad que no está incluida en el campo, la llamada a la API asociada con la política devolverá un mensaje de error. Si bien la función es útil, los atacantes pueden abusar de ella fácilmente para intentar enumerar o descubrir todos los usuarios y roles asociados con la cuenta de AWS de una organización.

«Por ejemplo, si un atacante conoce el ID de cuenta de AWS de una empresa, el atacante podría usar esta información para preguntar en una política basada en recursos ‘¿existe el usuario X en esta cuenta?».

Al especificar diferentes nombres de usuario o rol en una política basada en recursos, el atacante puede aprender rápidamente del mensaje de error si existe un rol o usuario en particular en la cuenta de destino. «El atacante puede seguir haciendo esta pregunta con diferentes nombres y eventualmente mapear todos los usuarios / roles en esta cuenta», dice Chen.

Esto permitiría al atacante lanzar otros ataques, como buscar roles mal configurados que podrían explotarse o enviar correos electrónicos de spear-phishing altamente dirigidos a personas de una organización. De manera significativa, AWS no registra actualmente dicha actividad, por lo que la organización objetivo no estaría al tanto del reconocimiento de identidad que se está realizando en su cuenta, dice Chen.

Fácil de abusar

«Básicamente, las API necesitan que se invoque la información del usuario», dice Setu Kulkarni, vicepresidente de estrategia de WhiteHat Security. «Cuando la información del usuario no es válida, la invocación de la API da como resultado un mensaje de error, explícitamente al pirata informático que indica que dicho usuario no tiene acceso». Un hacker con una lista de cuentas de Amazon podría recorrer las listas de usuarios para invocar una API específica y un reconocimiento de rendimiento, dice Kulkarni.

Con suficiente tiempo, un atacante podría forzar una lista de usuarios y políticas de roles y buscar configuraciones incorrectas que permitirían la toma de control de la cuenta, dice Charles Ragland, ingeniero de seguridad de Digital Shadows. «El principal problema con la vulnerabilidad es que los mensajes de error se registran en la cuenta del atacante; por lo tanto, la víctima no se dará cuenta de este ataque».