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) è un servizio completamente gestito, che facilita lo sviluppo e l'esecuzione di applicazioni che elaborano dati in streaming tramite Apache Kafka. Le operazioni del piano di controllo, inclusa la creazione, l'aggiornamento e la cancellazione di cluster, sono offerte da Amazon MSK. Il servizio consente l'utilizzo delle operazioni del piano dati di Apache Kafka, comprendenti la produzione e il consumo di dati. Funziona su versioni open-source di Apache Kafka, garantendo compatibilità con applicazioni, strumenti e plugin esistenti sia da partner che dalla comunità Apache Kafka, eliminando la necessità di modifiche nel codice dell'applicazione.
In termini di affidabilità, Amazon MSK è progettato per rilevare automaticamente e recuperare da scenari di guasto del cluster prevalenti, garantendo che le applicazioni di produttori e consumatori continuino le loro attività di scrittura e lettura dei dati con minime interruzioni. Inoltre, mira a ottimizzare i processi di replicazione dei dati cercando di riutilizzare lo storage dei broker sostituiti, riducendo così il volume di dati che devono essere replicati da Apache Kafka.
Ci sono 2 tipi di cluster Kafka che AWS consente di creare: Provisioned e Serverless.
Dal punto di vista di un attaccante, è necessario sapere che:
Serverless non può essere direttamente pubblico (può funzionare solo in una VPN senza alcun IP esposto pubblicamente). Tuttavia, Provisioned può essere configurato per ottenere un IP pubblico (di default non lo è) e configurare il gruppo di sicurezza per esporre le porte rilevanti.
Serverless supporta solo IAM come metodo di autenticazione. Provisioned supporta l'autenticazione SASL/SCRAM (password), l'autenticazione IAM, l'autenticazione AWS Certificate Manager (ACM) e l'accesso non autenticato.
Si noti che non è possibile esporre pubblicamente un Kafka Provisioned se l'accesso non autenticato è abilitato.
Se hai accesso alla VPC dove si trova un Kafka Provisioned, potresti abilitare l'accesso non autorizzato, se l'autenticazione SASL/SCRAM, leggi la password dal segreto, dare alcune altre autorizzazioni IAM a un utente controllato (se utilizzato IAM o serverless) o persistere con certificati.
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)