Encontrando o ID da conta AWS de um bucket S3
- Em 2021, Ben Bridts apresentou um método engenhoso para descobrir o ID da conta AWS de um bucket S3 público.
- Este artigo explica técnicas para encontrar o ID da conta tanto de buckets S3 privados quanto públicos.
De um bucket S3 para um ID de conta AWS
- Mostra uma técnica, por meio da saída do shell, para descobrir o ID da conta AWS antes desconhecido de um bucket chamado
bucket-alpha.
Como essa técnica funciona exatamente?
- Analisa por que a técnica de Ben funciona, combinando três elementos principais:
- a capacidade de aplicar políticas IAM a uma solicitação
- a capacidade de inferir se a política IAM permitiu a solicitação ou não
- a capacidade de aplicar correspondência com wildcard à chave de condição
s3:ResourceAccount
A solução
- Foi encontrada uma solução que usa um endpoint VPC para S3 e explora a diferença de comportamento quando solicitações são negadas no CloudTrail.
Passo a passo
- Procedimento passo a passo ao tentar encontrar o ID da conta do bucket
bucket-alpha:
- determinar a região do bucket
- implantar uma VPC e um endpoint VPC na mesma região
- iniciar uma instância EC2 dentro da VPC e confirmar o uso do endpoint VPC para S3
- modificar a política do endpoint VPC para determinar se o ID da conta do bucket de destino começa com "0"
- fazer uma solicitação ao bucket de destino
- verificar se a solicitação aparece no CloudTrail
- com base no resultado, modificar a política do endpoint VPC para descobrir mais informações sobre o ID da conta
Resultados
- Foi criado um script para automatizar esse processo, permitindo encontrar com confiabilidade o ID da conta do bucket.
- É feita uma busca binária para cada dígito, reduzindo o número de testes necessários.
Acelerando o processo
- A política do endpoint VPC foi modificada para reduzir o tempo necessário para ela surtir efeito e para esperar individualmente pelos resultados no CloudTrail.
- Isso reduziu o tempo necessário para encontrar o ID da conta para menos de 10 minutos.
Opinião
- Esta postagem no blog foi publicada após consulta à equipe de segurança da AWS.
- Houve uma discussão interessante sobre se o ID da conta AWS deve ser considerado informação sensível.
- Essa técnica pode ser aplicada a outros serviços além do S3.
- Essas técnicas são possíveis porque é permitido usar a condição
StringLike em s3:ResourceAccount.
- Pode ser útil que eventos negados por políticas de endpoint VPC sejam registrados no CloudTrail.
Agradecimentos
- A técnica original de Ben Bridt inspirou este trabalho.
- Agradecimentos a Chris Farris por sua ajuda e conselhos.
Opinião do GN⁺
- Essa técnica pode ser muito útil para realizar auditorias de segurança em ambientes de nuvem, especialmente para verificar a propriedade de buckets AWS S3.
- A discussão sobre a sensibilidade das informações fornecidas por essa técnica reflete o diálogo contínuo entre provedores de serviços em nuvem e usuários sobre segurança de dados e privacidade.
- Outra ferramenta com funcionalidade semelhante é o próprio serviço CloudTrail da AWS, usado para registrar e monitorar toda a atividade no ambiente AWS do usuário.
- Antes de adotar essa técnica, o usuário deve verificar se ela está alinhada com as políticas da AWS e com as melhores práticas de segurança.
- Os benefícios obtidos com o uso dessa técnica incluem auditoria de segurança eficiente e verificação rápida de propriedade de dados, mas também devem ser considerados riscos como possível exposição de informações pessoais.
1 comentários
Comentários do Hacker News