“.env”ファイルを悪用したクラウド・ストレージへの侵入:身代金が請求されるケースも – Unit42

Hide yo environment files! Or risk getting your cloud-stored data stolen and held for ransom

2024/08/15 HelpNetSecurity — 組織のクラウドストレージ・コンテナに侵入する、サイバー犯罪者たちが、機密データを流出させている。そのうちの、いくつかのケースでは、盗み出したデータを公開/売却を引き換えに、被害組織から身代金が支払われている。Palo Alto Networks Unit42 のレポートには、「このキャンペーンの背後にいる攻撃者は、おそらく大規模な自動化技術を活用し、迅速なオペレーションによる成功を得ている」と記されている。

クラウド環境をホスティングする鍵となる、公開された環境ファイル

この攻撃者は、被害組織の Web アプリケーション内で公開されている、環境ファイル (.env) をスキャンして悪用することで、クラウドストレージ・コンテナにアクセスしていた。この、一般に公開される “.env” ファイルは、サーバのミスコンフィグレーションの結果である。

Unit42 の研究者たちは、「これらのファイルには、多くの場合において、クラウド・プロバイダーの IAM キー/SaaS の API キー/データベースのログイン情報などの機密情報がハードコードされている。そのため、攻撃者たちは、これらの情報をイニシャル・アクセスに悪用できる。インターネット上でドメインをスキャンし、公開された環境変数ファイルから取得した認証情報を悪用する攻撃パターンは、侵害された AWS 環境を通じて伝播すると考えられる、より大きな攻撃のパターンに従うものだ」と指摘している。

Figure 9. Statistics of categorized leaks from .env variables.


侵入に成功した攻撃者は、被害者組織のクラウド環境を、以下のように探っていた:

  • 使用する IAM クレデンシャルに割り当てられている、ユーザー/ロールの身元を確認する。
  • AWS アカウント上の他の IAM ユーザーのリストと、既存の S3 バケットのリストを作成する。
  • Simple Storage Service/Security Token Service/Simple Email Service などの、使用中のサービスを見つけ出す。

続いて、攻撃者は、元の IAM ロールを使って、侵害済みの AWS アカウント内で、管理権限を持つ新しいロールを作成した。それにより攻撃者は、クリプトマイニング用の Amazon EC2 リソースの作成を試み、さまざまなドメインで公開されている環境変数ファイルを、インターネット全体で自動スキャンするための、AWS Lambda 関数を作成した。

研究者たちは、 「ドメインの公開環境ファイルの取得に成功すると、この Lambda 関数は、ファイル内に含まれる平文の認証情報を発見/特定する。続いて Lambda は、別の脅威エージェントが管理する、パブリックな S3 バケット内の新規作成されたフォルダに、それらの認証時報を保存する。この、悪意の Lambda 関数が標的とするのは、”.env” ファイル内で “mailgun” という文字列を参照しているインスタンスだった。これらの侵害された Mailgun 認証情報を悪用することで、正規のドメインからユーザー組織に対して、攻撃者は大規模なフィッシング攻撃を仕掛けることが可能となり、また、セキュリティ保護を迂回する攻撃が容易になる」と述べている。

exposed environment files
ランサム・ノート (Source: Palo Alto Networks, Unit 42)

最終的に、攻撃者は S3 Browser ツールを使って、被害者の S3 バケットからデータやオブジェクトを抜き出し、ランサム・ノートをアップロードしていった。時として、被害企業の関係者に対しても、同じランサム・ノートが開くられることもあったという。

あなたの組織も被害者になるかもしれない

興味深いことに、攻撃者たちが盗み出した “.env” ファイルを保存/閲覧するために使われた S3 バケットも公開されていた。したがって、研究者たちは、それらのファイルに含まれている、認証情報の内容を確認できた。

研究者たちは、「アクセス・キーまたは IAM 認証情報を取り込んだかたちでリークされた、90,000 以上の環境変数のユニークな組み合わせを特定した。そのうちの 7,000 のアクセス・キーは、AWS/PayPal/GitHub/Slack などのクラウド・サービスに、ダイレクトに関連していた。最も懸念されるのは、流出した変数のうちの 1,515個が、SNS プラットフォームに関連していたことである。その中には、アカウント名や認証のため秘密鍵も含まれていた」と述べている。

流出した環境変数は、攻撃者が成功を収めた要因の一つに過ぎない。もう一つは、IAM リソースに関連するパーミッションが広すぎることだ。

研究者たちは、組織が取るべきいくつかの方策を概説し、このような方法でデータが身代金化されるのを防ごうとしている:

  • サーバを適切に設定し、環境ファイルなどの機密性の高いファイルの漏洩を防ぐ。
  • IAM キーは一時的なものであるため、IAM キーの代わりに IAM ロールを使用する。
  • 権限をプロビジョニングする際に、最小権限の原則を使用する。
  • 攻撃者が隠れる余地を減らすため、AWS アカウント内の未使用のリージョンを全て無効化する。
  • ロギングとモニタリングを有効化して、異常なアクティビティに対するアラートを取得する。