Tìm AWS account ID của S3 bucket
- Năm 2021, Ben Bridts đã công bố một phương pháp độc đáo để tìm AWS account ID của các S3 bucket công khai.
- Bài viết này giải thích kỹ thuật tìm account ID cho cả S3 bucket riêng tư lẫn công khai.
Từ S3 bucket đến AWS account ID
- Trình bày kỹ thuật tìm AWS account ID trước đó chưa được biết đến của bucket có tên
bucket-alpha thông qua đầu ra shell.
Chính xác thì kỹ thuật này hoạt động như thế nào?
- Phân tích lý do kỹ thuật của Ben hoạt động và kết hợp ba yếu tố cốt lõi:
- Khả năng áp dụng IAM policy vào request
- Khả năng suy ra liệu IAM policy có cho phép request hay không
- Khả năng áp dụng wildcard match cho khóa điều kiện
s3:ResourceAccount
Giải pháp
- Tìm ra một giải pháp sử dụng VPC endpoint cho S3 và tận dụng sự khác biệt trong hành vi khi request bị từ chối trong CloudTrail.
Xem từng bước
- Quy trình từng bước khi muốn tìm account ID của bucket
bucket-alpha:
- Xác định vùng của bucket
- Triển khai VPC và VPC endpoint trong cùng vùng
- Khởi chạy EC2 instance trong VPC và xác nhận đang dùng VPC endpoint cho S3
- Chỉnh sửa VPC endpoint policy để xác định liệu account ID của bucket mục tiêu có bắt đầu bằng "0" hay không
- Gửi request tới bucket mục tiêu
- Kiểm tra xem request có xuất hiện trong CloudTrail hay không
- Dựa trên kết quả, chỉnh sửa VPC endpoint policy để tiếp tục khám phá thêm thông tin về account ID
Kết quả
- Viết một script để tự động hóa quy trình này, nhờ đó có thể tìm AWS account ID của bucket một cách đáng tin cậy.
- Thực hiện tìm kiếm nhị phân cho từng chữ số để giảm số lượng phép thử cần thiết.
Tăng tốc
- Điều chỉnh VPC endpoint policy để giảm thời gian cần thiết cho policy có hiệu lực và cho việc chờ kết quả riêng lẻ trong CloudTrail.
- Nhờ đó rút ngắn thời gian tìm account ID xuống còn dưới 10 phút.
Ý kiến
- Bài viết blog này được đăng sau khi đã trao đổi với đội ngũ bảo mật AWS.
- Đã có một cuộc thảo luận thú vị về việc liệu AWS account ID có nên được xem là thông tin nhạy cảm hay không.
- Kỹ thuật này có thể áp dụng cho các dịch vụ khác ngoài S3.
- Những kỹ thuật như vậy khả thi vì có thể dùng điều kiện
StringLike cho s3:ResourceAccount.
- Sẽ hữu ích nếu các sự kiện bị từ chối bởi VPC endpoint policy được ghi log trong CloudTrail.
Lời cảm ơn
- Kỹ thuật gốc của Ben Bridt là nguồn cảm hứng cho công việc này.
- Cảm ơn Chris Farris vì sự hỗ trợ và lời khuyên.
Ý kiến của GN⁺
- Kỹ thuật này có thể rất hữu ích khi thực hiện kiểm toán bảo mật trong môi trường đám mây, đặc biệt là để xác minh quyền sở hữu của AWS S3 bucket.
- Cuộc thảo luận về mức độ nhạy cảm của thông tin mà kỹ thuật này cung cấp phản ánh cuộc đối thoại liên tục về bảo mật dữ liệu và quyền riêng tư giữa nhà cung cấp dịch vụ đám mây và người dùng.
- Một công cụ khác cung cấp chức năng tương tự là dịch vụ CloudTrail của chính AWS, được dùng để ghi log và giám sát mọi hoạt động diễn ra trong môi trường AWS của người dùng.
- Trước khi áp dụng kỹ thuật này, người dùng cần bảo đảm nó phù hợp với chính sách của AWS và các thực hành bảo mật tốt nhất.
- Lợi ích của việc sử dụng kỹ thuật này là kiểm toán bảo mật hiệu quả và xác minh nhanh quyền sở hữu dữ liệu, nhưng cũng cần cân nhắc các rủi ro như khả năng lộ thông tin riêng tư.
1 bình luận
Ý kiến Hacker News