AWS - S3 Post Exploitation

Support HackTricks

S3

Para mais informações, confira:

Informações Sensíveis

Às vezes, você poderá encontrar informações sensíveis legíveis nos buckets. Por exemplo, segredos do estado do terraform.

Pivotagem

Diferentes plataformas podem estar usando S3 para armazenar ativos sensíveis. Por exemplo, airflow pode estar armazenando código de DAGs lá, ou páginas da web podem ser servidas diretamente do S3. Um atacante com permissões de escrita pode modificar o código do bucket para pivotar para outras plataformas ou assumir contas modificando arquivos JS.

Ransomware S3

Neste cenário, o atacante cria uma chave KMS (Key Management Service) em sua própria conta AWS ou em outra conta comprometida. Ele então torna essa chave acessível a qualquer pessoa no mundo, permitindo que qualquer usuário, função ou conta AWS criptografe objetos usando essa chave. No entanto, os objetos não podem ser descriptografados.

O atacante identifica um bucket S3 alvo e ganha acesso em nível de escrita a ele usando vários métodos. Isso pode ser devido a uma configuração ruim do bucket que o expõe publicamente ou o atacante ganhando acesso ao próprio ambiente AWS. O atacante geralmente visa buckets que contêm informações sensíveis, como informações pessoalmente identificáveis (PII), informações de saúde protegidas (PHI), logs, backups e mais.

Para determinar se o bucket pode ser alvo de ransomware, o atacante verifica sua configuração. Isso inclui verificar se a Versionamento de Objetos S3 está habilitada e se a exclusão de autenticação multifatorial (MFA delete) está habilitada. Se o Versionamento de Objetos não estiver habilitado, o atacante pode prosseguir. Se o Versionamento de Objetos estiver habilitado, mas a exclusão MFA estiver desabilitada, o atacante pode desabilitar o Versionamento de Objetos. Se tanto o Versionamento de Objetos quanto a exclusão MFA estiverem habilitados, torna-se mais difícil para o atacante aplicar ransomware a esse bucket específico.

Usando a API AWS, o atacante substitui cada objeto no bucket por uma cópia criptografada usando sua chave KMS. Isso efetivamente criptografa os dados no bucket, tornando-os inacessíveis sem a chave.

Para aumentar a pressão, o atacante agenda a exclusão da chave KMS usada no ataque. Isso dá ao alvo uma janela de 7 dias para recuperar seus dados antes que a chave seja excluída e os dados se tornem permanentemente perdidos.

Finalmente, o atacante pode fazer o upload de um arquivo final, geralmente chamado "ransom-note.txt", que contém instruções para o alvo sobre como recuperar seus arquivos. Este arquivo é enviado sem criptografia, provavelmente para chamar a atenção do alvo e torná-lo ciente do ataque de ransomware.

Para mais informações verifique a pesquisa original.

Support HackTricks

Last updated