AWS - MSK Enum
Amazon MSK
Amazon Managed Streaming for Apache Kafka (Amazon MSK) es un servicio completamente gestionado que facilita el desarrollo y la ejecución de aplicaciones que procesan datos en streaming a través de Apache Kafka. Amazon MSK ofrece operaciones de plano de control, incluyendo la creación, actualización y eliminación de clústeres. El servicio permite la utilización de operaciones de plano de datos de Apache Kafka, abarcando la producción y consumo de datos. Opera en versiones de código abierto de Apache Kafka, asegurando la compatibilidad con aplicaciones existentes, herramientas y complementos tanto de socios como de la comunidad de Apache Kafka, eliminando la necesidad de realizar modificaciones en el código de la aplicación.
En cuanto a la fiabilidad, Amazon MSK está diseñado para detectar y recuperarse automáticamente de escenarios de fallo comunes en clústeres, garantizando que las aplicaciones productoras y consumidoras continúen con sus actividades de escritura y lectura de datos con interrupciones mínimas. Además, tiene como objetivo optimizar los procesos de replicación de datos al intentar reutilizar el almacenamiento de brokers reemplazados, minimizando así el volumen de datos que necesita ser replicado por Apache Kafka.
Tipos
Existen 2 tipos de clústeres de Kafka que AWS permite crear: Provisioned y Serverless.
Desde el punto de vista de un atacante, es importante saber que:
Serverless no puede ser directamente público (solo puede ejecutarse en una VPN sin ninguna IP expuesta públicamente). Sin embargo, Provisioned se puede configurar para obtener una IP pública (por defecto no la tiene) y configurar el grupo de seguridad para exponer los puertos relevantes.
Serverless solo admite IAM como método de autenticación. Provisioned admite autenticación SASL/SCRAM (contraseña), autenticación IAM, Autenticación del Administrador de Certificados de AWS (ACM) y acceso sin autenticación.
Es importante tener en cuenta que no es posible exponer públicamente un Kafka Provisioned si se habilita el acceso sin autenticación.
Enumeración
Acceso IAM de Kafka (en serverless)
Escalada de privilegios
pageAWS - MSK PrivescAcceso no autenticado
pageAWS - MSK Unauthenticated EnumPersistencia
Si vas a tener acceso al VPC donde se encuentra un Kafka Provisionado, podrías habilitar el acceso no autorizado, si la autenticación SASL/SCRAM, lee la contraseña desde el secreto, otorga algunos otros permisos IAM controlados (si se usa IAM o serverless) o persiste con certificados.
Referencias
Última actualización