AWS - MSK Enum
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
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. Las operaciones del plano de control, incluyendo la creación, actualización y eliminación de clusters, son ofrecidas por Amazon MSK. El servicio permite la utilización de operaciones del plano de datos de Apache Kafka, abarcando la producción y consumo de datos. Funciona con versiones de código abierto de Apache Kafka, asegurando la compatibilidad con aplicaciones, herramientas y complementos existentes tanto de socios como de la comunidad de Apache Kafka, eliminando la necesidad de alteraciones en el código de la aplicación.
En términos de fiabilidad, Amazon MSK está diseñado para detectar y recuperarse automáticamente de escenarios comunes de fallos en clusters, asegurando que las aplicaciones de productores y consumidores continúen con sus actividades de escritura y lectura de datos con mínima interrupción. Además, busca 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.
Hay 2 tipos de clusters de Kafka que AWS permite crear: Provisionados y Sin Servidor.
Desde el punto de vista de un atacante, necesitas saber que:
Sin Servidor no puede ser público directamente (solo puede ejecutarse en una VPN sin ninguna IP expuesta públicamente). Sin embargo, Provisionado puede configurarse para obtener una IP pública (por defecto no lo tiene) y configurar el grupo de seguridad para exponer los puertos relevantes.
Sin Servidor solo soporta IAM como método de autenticación. Provisionado soporta autenticación SASL/SCRAM (contraseña), autenticación IAM, autenticación de AWS Certificate Manager (ACM) y acceso no autenticado.
Ten en cuenta que no es posible exponer públicamente un Kafka Provisionado si el acceso no autenticado está habilitado.
Si vas a tener acceso a la VPC donde se encuentra un Kafka Provisionado, podrías habilitar acceso no autorizado, si la autenticación SASL/SCRAM, lees la contraseña del secreto, das algunos otros permisos IAM controlados a usuarios (si se usa IAM o serverless) o persistes con certificados.
Aprende y practica Hacking en AWS:HackTricks Training AWS Red Team Expert (ARTE) Aprende y practica Hacking en GCP: HackTricks Training GCP Red Team Expert (GRTE)