EmeraldWhale」と名付けられた大規模な悪意あるキャンペーンが、公開されたGit設定ファイルをスキャンし、数千のプライベート・リポジトリから15,000以上のクラウドアカウント認証情報を盗み出した。
このキャンペーンを発見したSysdigによると、この作戦では、IP範囲をスキャンする自動化ツールを使用して、認証トークンを含む可能性のある公開されたGit設定ファイルを探します。
これらのトークンは、GitHub、GitLab、BitBucketに保存されているリポジトリをダウンロードするために使用され、さらに認証情報がスキャンされる。
盗まれたデータは他の被害者のAmazon S3バケットに流出し、その後フィッシングやスパムキャンペーンに利用されたり、他のサイバー犯罪者に直接販売されたりする。
Gitの認証トークンを公開することでデータが盗まれる可能性がある一方で、最近Internet Archiveで見られたような本格的なデータ漏洩につながる可能性もあります。
Git 設定ファイルの公開
Git の設定ファイル(/.git/config や .gitlab-ci.yml)は、リポジトリのパスやブランチ、リモート、時には API キーやアクセストークン、パスワードなどの認証情報など、さまざまなオプションを定義するのに使われます。
開発者は、利便性のためにこれらの秘密をプライベートリポジトリに含め、毎回設定や認証を行わなくてもデータ転送やAPIインタラクションを簡単に行えるようにするかもしれない。
リポジトリが一般からのアクセスから適切に隔離されている限り、これは危険ではありません。しかし、設定ファイルを含む/.gitディレクトリがウェブサイト上で誤って公開された場合、スキャナーを使用する脅威行為者は簡単にその場所を特定し、読み取ることができます。
これらの盗まれた設定ファイルに認証トークンが含まれていれば、関連するソースコードやデータベースなど、一般公開を意図していない機密リソースをダウンロードするために使用することができます。
EmeraldWhaleの背後にいる脅威行為者は、「httpx」や「Masscan」などのオープンソースツールを使用して、12,000のIP範囲に分割された推定5億のIPアドレスでホストされているウェブサイトをスキャンする。
Sysdigによると、ハッカーたちは将来のスキャンを効率化するために、42億を超えるエントリーに及ぶ可能性のあるすべてのIPv4アドレスをリスト化したファイルまで作成したという。
スキャンは、Laravelアプリケーションの/.git/configファイルと環境ファイル(.env)が公開されているかどうかをチェックするだけで、APIキーやクラウドの認証情報も含まれている可能性がある。
公開が確認されると、さまざまなAPIへの’curl’コマンドを使用してトークンが検証され、有効であればプライベートリポジトリのダウンロードに使用されます。
これらのダウンロードされたリポジトリは、AWS、クラウドプラットフォーム、電子メールサービスプロバイダの認証シークレットについて再度スキャンされる。脅威当事者は、公開された電子メール・プラットフォーム用の認証トークンを使用して、スパムやフィッシング・キャンペーンを実施しました。
Sysdigは、この大規模なプロセスを効率化するために、MZR V2(Mizaru)とSeyzo-v2という2つのコモディティツールセットを使用していることを確認しました。
Laravelの場合、Multigrabber v8.5ツールが、.envファイルのドメインをチェックし、それらを盗み出し、次にその有用性の可能性に基づいて情報を分類するために使用されました。
盗まれたデータの評価
Sysdigは公開されたS3バケットを調査し、盗まれた認証情報やロギングデータを含む1テラバイト相当の機密を発見した。
収集されたデータに基づき、EmeraldWhaleは設定ファイルを公開した67,000のURLから15,000のクラウド認証情報を盗み出しました。
公開されたURLのうち、28,000はGitリポジトリに対応し、6,000はGitHubトークンで、注目すべき2,000はアクティブな認証情報として検証された。
ハッカーは、GitHub、GitLab、BitBucketのような主要なプラットフォーム以外にも、小規模なチームや個人の開発者が所有する3,500の小規模なリポジトリも標的にしていた。
Sysdigによれば、公開されたGit設定ファイルを指すURLの単なるリストはTelegramで約100ドルで売られているが、秘密の流出とその検証を行う者には、もっと大きな収益化の機会があるという。
研究者は、このキャンペーンは特に洗練されているわけではなく、ありふれたツールと自動化に頼っているが、それでも壊滅的なデータ侵害につながる可能性のある何千もの秘密を盗むことに成功していると指摘している。
ソフトウェア開発者は、専用の秘密管理ツールを使って秘密を保存したり、Gitの設定ファイルにハードコーディングする代わりに環境変数を使用して実行時に機密設定を行ったりすることで、リスクを軽減することができる。
Comments