Shikata Ga Nai

Private? There is no such things.

Bug hunting: Open access to S3 bucketを訳してみた

Hello there, ('ω')ノ

 

バグハンティング: S3 バケットへのオープンアクセスを。

 

脆弱性:

 AWS の設定ミス

 

記事:

 https://engrinside.medium.com/bug-hunting-open-access-to-s3-bucket-79f262a86a78

 

今回は、有名なride-sharing プラットフォームで、必要な ACL 構成なしで。

AWS S3 バケットに保存されている会社の資産にアクセスできるバグを。

どのように発見したかについて。

 

AWS S3 バケット:

Amazon Simple Storage Service (Amazon S3) は、業界をリードする。

スケーラビリティ、データ可用性、セキュリティ、および。

パフォーマンスを提供するオブジェクト ストレージ サービスで。

 

今回は、example.com を会社として。

1.サイトの潜在的なサブドメインをすべて見つけ、同じサイトの。

 開発、ステージング、またはその他のバリエーションを探し。

 たとえば、staging.example.com、test.example.com、uat.example.com などで。


2.その後、いくつかのサブドメイン ページを調べ始め。

 これらは非運用サイトであるため、開発者がソース コードにパスワードと。

 API トークンを含めた可能性があり。


3.ソース コードを確認したところ、すべての画像に。

 assets.example.com/<folder-id>/images/random-id> などの。

 固有のソースがあることがわかり。

 

そこで、Burp Suite を使用して画像の URL をインターセプトしたところ。

これらが S3 バケットに保存されていることがわかり。

下記のエンドポイントを推測してみて。

 

    assets.example.com/random-folder-name
    assets.example.com/users/images
    assets.example.com/<folder-id>/users

 

これらすべてが 403 禁止という結果になり。

その後、オリジナルパスを引き返して。

 

assets.example.com/<id>/images/<img-id>から assets.example.com/<id>/images/

 

BurpSuite で傍受された URL

 

これにより、すべてのイメージ ID を含む XML ファイルが得られ。

しかし、ここで終わりではなく。

単純な Python web scraperを使用して。

これらすべての画像をスクレイピングできるからで。

いくつかの Google dorking tricksの後、s3 バケットへの実際のリンクを見つけて。

 

次に、AWS アカウントにログインし、AWS CLI を使用して。

バケットに保存されているすべてのドキュメント、画像、および。

CSV ファイルのリストを取得して。

 

aws s3 ls s3://<bucket-name>/ > files.txt

 

AWS cloud shell

 

Best regards, (^^ゞ