AWS - IAM Post Exploitation
Aprenda e pratique AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique GCP Hacking:
HackTricks Training GCP Red Team Expert (GRTE)
IAM
Para mais informações sobre acesso IAM:
AWS - IAM, Identity Center & SSO EnumProblema do Deputado Confuso
Se você permitir que uma conta externa (A) acesse uma role na sua conta, você provavelmente terá 0 visibilidade sobre quem pode exatamente acessar essa conta externa. Isso é um problema, porque se outra conta externa (B) puder acessar a conta externa (A), é possível que B também consiga acessar sua conta.
Portanto, ao permitir que uma conta externa acesse uma role na sua conta, é possível especificar um ExternalId
. Esta é uma string "secreta" que a conta externa (A) precisa especificar para assumir a role na sua organização. Como a conta externa B não conhecerá essa string, mesmo que tenha acesso sobre A, não conseguirá acessar sua role.
![](https://cloud.hacktricks.xyz/~gitbook/image?url=https%3A%2F%2F3204469162-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F6obym2FYAZsrJwFX9v5O%252Fuploads%252Fgit-blob-3830349ac577825fc9855d35124bd70cca71c8ff%252Fimage%2520%2895%29.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=8c52be28&sv=1)
No entanto, observe que este ExternalId
"secreto" não é um segredo, qualquer pessoa que possa ler a política de assumir role do IAM poderá vê-lo. Mas, desde que a conta externa A o conheça, mas a conta externa B não o conheça, isso impede que B abuse de A para acessar sua role.
Exemplo:
Para um atacante explorar um confused deputy, ele precisará descobrir de alguma forma se os principais da conta atual podem personificar papéis em outras contas.
Confianças Inesperadas
Curinga como principal
Esta política permite que todos os AWS assumam o papel.
Serviço como principal
Esta política permite que qualquer conta configure seu apigateway para chamar este Lambda.
S3 como principal
Se um bucket S3 for dado como um principal, porque buckets S3 não têm um ID de Conta, se você excluiu seu bucket e o atacante o criou em sua própria conta, então eles poderiam abusar disso.
Não suportado
Uma maneira comum de evitar problemas de Confused Deputy é o uso de uma condição com AWS:SourceArn
para verificar a origem ARN. No entanto, alguns serviços podem não suportar isso (como o CloudTrail, de acordo com algumas fontes).
Referências
Aprenda e pratique AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique GCP Hacking:
HackTricks Training GCP Red Team Expert (GRTE)
Last updated