• Saltar al contenido principal
  • Saltar a la barra lateral principal
  • Saltar al pie de página

Una al Día

Boletín de noticias de Seguridad Informática ofrecido por Hispasec

Usted está aquí: Inicio / General / Evasión de CloudTrail en AWS a través de API no documentada

Evasión de CloudTrail en AWS a través de API no documentada

26 enero, 2023 Por Raquel Deja un comentario

A pesar de que el descubrimiento de vulnerabilidades que son directamente responsabilidad del proveedor cloud no son frecuentes en el caso de AWS, la identificación de APIs no documentadas está siendo cada vez más utilizada para comprometer los servicios más utilizados por los clientes. Hace unos días fue el turno de CloudTrail, y en esta publicación te contamos los detalles.

El pasado 17 de enero los investigadores del equipo Datadog Security descubrieron, navegando en la consola de AWS, una llamada a una API no documentada que posteriormente les permitiría la evasión de uno de los servicios más conocidos de AWS: CloudTrail.

Antes de nada, para quienes no estén muy familiarizados con este proveedor de servicios en la nube, AWS CloudTrail permite a sus clientes mantener un registro de las acciones realizadas por los usuarios, roles o servicios de la cuenta en la que el servicio se encuentra habilitado. Estas acciones se conocen como «eventos».

Lo primero que llamó la atención de los investigadores fue una serie de peticiones a un servicio llamado «iamadmin».

Llamada a «iamadmin» a través de la consola de AWS
Fuente de la imagen: Datadog Security Labs

¿En qué se diferencia este servicio del de IAM? La respuesta está en el endpoint al que se realiza la petición. Mientras que en el caso de IAM la llamada se hace a «https[://]console.aws.amazon.com/iamv2/api/iam«, en el caso de «iamadmin» dicha URL cambia su parte final: «https[://]console.aws.amazon.com/iamv2/api/iamadmin«.

A raíz de esto, otra cosa reseñable que detectada por los investigadores es que la cabecera X-Amz-Target era inusualmente larga y hacía uso del servicio «AWSIdentityManagementAdminService» (la cabecera X-Amz-Target se usa para especificar la versión de la API y la operación que se está solicitando, y se forman concatenando la versión de la API con el nombre de esta mediante un punto entre ambos valores).

Lo último que vieron fue que los nombres de los métodos eran similares a otros del servicio IAM, pero no exactamente iguales, acabando por deducir que con la API «iamadmin» se podían hacer peticiones optimizadas en el navegador, como por ejemplo enviar 50 nombres de usuario a través de una sola petición en lugar de mandarlas individualmente.

En el proceso de descubrimiento y verificación de la vulnerabilidad, el primer paso que los investigadores dieron fue firmar la petición con formato SigV4:

Petición firmada con formato SigV4
Fuente de la imagen: Datadog Security Labs

Con esto pudieron ejecutar el script que tenían preparado y, a través de una serie de errores que les fueron devueltos como respuesta, pudieron confirmar lo habían teorizado anteriormente: en el caso del método «ListMFADevicesForMultipleUsers» de la API «iamadmin», se trataba de un wrapper de «iam:ListMFADevices» que permitía, mediante una sola llamada, especificar múltiples usuarios IAM para recibir los resultados de «iam:ListMFADevices» de una sola vez.

Para sorpresa de los investigadores, ninguna de sus acciones se vio reflejada en CloudTrail, independientemente de si hacían uso o no de los permisos necesarios. Además, fueron capaces de obtener resultados de la API sin que esto, nuevamente, se viese reflejado en el servicio de monitorización:

Resultado de una llamada a la API con los permisos correctos
Fuente de la imagen: Datadog Security Labs

Para confirmar los resultados, posteriormente hicieron una llamada a la API «iam:ListMFADevices», en cuyo caso la acción sí se vio reflejada en CloudTrail.

En total fueron capaces de descubrir 13 métodos de «iamadmin» a los que podían hacer llamadas. En la siguiente lista se encuentran dichos métodos y sus equivalentes métodos de IAM:

  • ListPoliciesForGroups – iam:ListGroupPolicies
  • ListAttachedPoliciesForGroups – iam:ListAttachedGroupPolicies
  • GetGroupMembershipCounts – iam:GetGroup
  • ListGroupsForUsers – iam:ListGroupsForUser
  • ListAccessKeysForMultipleUsers – iam:ListAccessKeys
  • ListAccessKeyLastUsedForMultipleAccessKeys – iam:GetAccessKeyLastUsed
  • GetLoginProfilesForMultipleUsers – iam:GetLoginProfile
  • ListDescriptionsForPolicies – iam:ListPolicies
  • BatchGetRoleLastUsed – iam:GetRole
  • ListMFADevicesForMultipleUsers – iam:ListMFADevices
  • ListSigningCertificatesForMultipleUsers – iam:ListSigningCertificates
  • ListServiceLinkedRoleDeletionAttempts – iam:GetServiceLinkedRoleDeletionStatus
  • GetServiceLinkedRoleTemplate – iam:GetServiceLinkedRoleTemplate

Entre estos métodos detectaron que algunos de ellos no proporcionaban la respuesta esperada, lo cual se debía a la necesidad de incluir permisos para ciertas llamadas, como por ejemplo «iamadmin:BatchGetRoleLastused», que necesita que se tenga asignado el permiso «iam:GetRole» ya que parte de la respuesta que da contiene información que viene de «iam:GetRole».

Impacto de la vulnerabilidad

Ser capaz de evadir la monitorización de CloudTrail para obtener resultados sin que dichas llamadas queden registradas supone un alto riesgo para las empresas, ya que al equipo encargado de la seguridad no le sería posible identificar las acciones llevadas a cabo por potenciales atacantes.

Además, los investigadores también indicaban que esta técnica hacía posible evadir GuardDuty en el caso de algunos resultados, como IAMUser/AnomalousBehavior, ya que GuardDuty utiliza CloudTrail como fuente de información.

Respuesta de AWS

La vulnerabilidad ha quedado corregida actualmente y las llamadas al servicio «iamadmin» se registran correctamente en CloudTrail.

Más información

  • AWS CloudTrail vulnerability: Undocumented API allows CloudTrail bypass

Acerca de Raquel

Raquel Gálvez Ha escrito 68 publicaciones.

Pentester. Cloud security specialist on the making.

  • View all posts by Raquel →
  • Blog

Compártelo:

  • Twitter
  • Facebook
  • LinkedIn
  • Reddit
  • Telegram
  • WhatsApp

Publicaciones relacionadas

Publicado en: AWS, Cloud, General

Interacciones con los lectores

Deja una respuesta Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Barra lateral principal

Buscar

Síguenos

siguenos en twitter

UAD360 EDICIÓN 2022

https://www.youtube.com/watch?v=go_CSWK56yU

Populares de UAD

  • Microsoft lanza parches para 80 vulnerabilidades, 2 0-day(s)
  • USB Killer, el enchufable que puede freir tu equipo
  • Ataques de ransomware VS seguridad en Amazon S3
  • Técnica permite modificar ficheros PDF con firma digital
  • Código fuente de GoDaddy filtrado

Entradas recientes

  • Microsoft lanza parches para 80 vulnerabilidades, 2 0-day(s)
  • Ataques de ransomware VS seguridad en Amazon S3
  • Código fuente de GoDaddy filtrado
  • Account Takeover en AnswerDev (CVE-2023-0744)
  • Vulnerabilidad zero-day en AWS Glue
  • Evasión de CloudTrail en AWS a través de API no documentada
  • Parches de enero 2023: Microsoft corrige 98 vulnerabilidades
  • Correo electrónico
  • Facebook
  • LinkedIn
  • RSS
  • Twitter

Footer

UAD

UAD nació a raíz de un inocente comentario en un canal IRC hace 24 años. A través de los archivos, un lector curioso puede ver cómo ha cambiado (o no) la seguridad de la información desde entonces.

Aviso Legal

  • Aviso Legal
  • Términos y Condiciones
  • Política de Privacidad
  • Política de Cookies

Copyright © 2023 · Hispasec Sistemas, S.L. Todos los derechos reservados

Este sitio web utiliza cookies propias y de terceros para fines analíticos y para mostrarte publicidad (tanto general como personalizada) relacionada con tus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación (por ejemplo, páginas visitadas), para optimizar la web y para poder valorar las opiniones de los servicios consultados por los usuarios. Para administrar o deshabilitar estas cookies haz clic en: Configurar Cookies


Rechazar todo Aceptar Todo
Configurar Cookies

Resumen de privacidad

Este sitio web utiliza cookies para mejorar su experiencia mientras navega por el sitio web. De estas, las cookies que se clasifican como necesarias se almacenan en su navegador, ya que son esenciales para el funcionamiento de las funcionalidades básicas del sitio web. También utilizamos cookies de terceros que nos ayudan a analizar y comprender cómo utiliza este sitio web. Estas cookies se almacenarán en su navegador solo con su consentimiento. También tiene la opción de optar por no recibir estas cookies. Pero la exclusión voluntaria de algunas de estas cookies puede afectar su experiencia de navegación.
Necesaria
Siempre activado
Las cookies necesarias son absolutamente esenciales para que el sitio web funcione correctamente. Estas cookies garantizan funcionalidades básicas y características de seguridad del sitio web, de forma anónima.
CookieDuraciónDescripción
cookielawinfo-checkbox-analytics11 monthsEsta cookie está configurada por el complemento de consentimiento de cookies de GDPR. La cookie se utiliza para almacenar el consentimiento del usuario para las cookies en la categoría "Análisis".
cookielawinfo-checkbox-functional11 monthsLa cookie está configurada por el consentimiento de cookies de GDPR para registrar el consentimiento del usuario para las cookies en la categoría "Funcional".
cookielawinfo-checkbox-necessary11 monthsEsta cookie está configurada por el complemento de consentimiento de cookies de GDPR. Las cookies se utilizan para almacenar el consentimiento del usuario para las cookies en la categoría "Necesario".
cookielawinfo-checkbox-others11 monthsEsta cookie está configurada por el complemento de consentimiento de cookies de GDPR. La cookie se utiliza para almacenar el consentimiento del usuario para las cookies en la categoría "Otro.
cookielawinfo-checkbox-performance11 monthsEsta cookie está configurada por el complemento de consentimiento de cookies de GDPR. La cookie se utiliza para almacenar el consentimiento del usuario para las cookies en la categoría "Rendimiento".
viewed_cookie_policy11 monthsLa cookie está configurada por el complemento de consentimiento de cookies de GDPR y se utiliza para almacenar si el usuario ha dado su consentimiento o no para el uso de cookies. No almacena ningún dato personal.
Analítica
Las cookies analíticas se utilizan para comprender cómo interactúan los visitantes con el sitio web. Estas cookies ayudan a proporcionar información sobre métricas, el número de visitantes, la tasa de rebote, la fuente de tráfico, etc.
GUARDAR Y ACEPTAR
 

Cargando comentarios...