AWS - MSK Enum
Amazon MSK
Amazon Managed Streaming for Apache Kafka (Amazon MSK) est un service entièrement géré qui facilite le développement et l'exécution d'applications traitant des données en continu via Apache Kafka. Les opérations de plan de contrôle, y compris la création, la mise à jour et la suppression de clusters, sont proposées par Amazon MSK. Le service permet l'utilisation des opérations de plan de données Apache Kafka, comprenant la production et la consommation de données. Il fonctionne sur des versions open-source d'Apache Kafka, assurant la compatibilité avec les applications existantes, les outils et les plugins des partenaires et de la communauté Apache Kafka, éliminant ainsi le besoin de modifications dans le code de l'application.
En termes de fiabilité, Amazon MSK est conçu pour détecter automatiquement et récupérer des scénarios de défaillance de cluster courants, garantissant que les applications productrices et consommatrices continuent leurs activités d'écriture et de lecture de données avec une perturbation minimale. De plus, il vise à optimiser les processus de réplication des données en tentant de réutiliser le stockage des courtiers remplacés, minimisant ainsi le volume de données à répliquer par Apache Kafka.
Types
Il existe 2 types de clusters Kafka que AWS permet de créer : Provisioned et Serverless.
Du point de vue d'un attaquant, vous devez savoir que :
Serverless ne peut pas être directement public (il ne peut fonctionner que dans un VPN sans aucune IP exposée publiquement). Cependant, Provisioned peut être configuré pour obtenir une IP publique (par défaut, ce n'est pas le cas) et configurer le groupe de sécurité pour exposer les ports pertinents.
Serverless prend en charge uniquement IAM comme méthode d'authentification. Provisioned prend en charge l'authentification SASL/SCRAM (mot de passe), l'authentification IAM, l'authentification du gestionnaire de certificats AWS (ACM) et l'accès non authentifié.
Notez qu'il n'est pas possible d'exposer publiquement un Kafka Provisioned si l'accès non authentifié est activé.
Énumération
Accès IAM Kafka (en serverless)
Élévation de privilèges
pageAWS - MSK PrivescAccès non authentifié
pageAWS - MSK Unauthenticated EnumPersistance
Si vous avez accès au VPC où se trouve un Kafka provisionné, vous pourriez activer l'accès non autorisé, si l'authentification SASL/SCRAM, lire le mot de passe depuis le secret, donner quelques autorisations IAM à un autre utilisateur contrôlé (si IAM ou serverless est utilisé) ou persister avec des certificats.
Références
Dernière mise à jour