Kubernetes External Secret Operator
O autor original desta página é Fares
Esta página fornece algumas dicas sobre como você pode conseguir roubar segredos de um ESO mal configurado ou de uma aplicação que utiliza ESO para sincronizar seus segredos.
Aviso Legal
A técnica mostrada abaixo só pode funcionar quando certas circunstâncias são atendidas. Por exemplo, depende dos requisitos necessários para permitir que um segredo seja sincronizado em um namespace que você possui / comprometeu. Você precisa descobrir por si mesmo.
Pré-requisitos
Uma posição em um cluster kubernetes / openshift com privilégios de administrador em um namespace
Acesso de leitura pelo menos ao ExternalSecret em nível de cluster
Descubra se existem rótulos / anotações necessárias ou associação a grupos necessária que permita ao ESO sincronizar seu segredo. Se tiver sorte, você pode roubar livremente qualquer segredo definido.
Coletando informações sobre o ClusterSecretStore existente
Supondo que você tenha um usuário com direitos suficientes para ler este recurso; comece listando primeiro os ClusterSecretStores existentes.
Enumeração de ExternalSecret
Vamos supor que você encontrou um ClusterSecretStore chamado mystore. Continue enumerando seus externalsecret associados.
Este recurso é limitado ao escopo do namespace, então a menos que você já saiba em qual namespace procurar, adicione a opção -A para procurar em todos os namespaces.
Você deve obter uma lista de externalsecrets definidos. Vamos supor que você encontrou um objeto externalsecret chamado mysecret definido e usado pelo namespace mynamespace. Reúna um pouco mais de informações sobre que tipo de segredo ele contém.
Montando as peças
A partir daqui, você pode obter o nome de um ou vários nomes de segredos (como definido no recurso Secret). Você terá uma saída semelhante a:
Até agora temos:
Nomeie um ClusterSecretStore
Nome de um ExternalSecret
Nome do segredo
Agora que temos tudo o que precisamos, você pode criar um ExternalSecret (e eventualmente fazer patch/criar um novo Namespace para cumprir os pré-requisitos necessários para sincronizar seu novo segredo):
Depois de alguns minutos, se as condições de sincronização forem atendidas, você deve ser capaz de visualizar o segredo vazado dentro do seu namespace.
Referências
Last updated