「Azazel」を名乗るこの攻撃者は、ロシア語圏のアフィリエイトとして、Gentlemenランサムウェアグループで活動していました。一方で、LEAKNED という独自のリークサイトも運営しており、グループの通常の経路とは別に、盗んだ情報を公開して恐喝による支払いを集めていました。
研究者は、6カ国で侵害を受けた組織を24社以上特定しました。被害組織の業種は、物流、保険、製薬、人工知能(AI)、医療機器、政府関連サービスなど多岐にわたります。
調査では、進行中のデータ窃取活動も確認されました。ある被害組織のディレクトリは、観測の合間に数百ギガバイトも増加していました。研究者が露出したインフラを調べている間も、データの転送が続いていたことになります。
CloudSEK によると、同社は公開に先立って協調的な通知を開始し、影響を受けた組織のセキュリティ担当者に詳細な技術情報を提供しました。
侵害の多くは、GitLab のパイプライン、設定変数、リポジトリの履歴から盗まれた認証情報が発端でした。Azazel は、glato、nord-stream、gitlab-secrets、gitlab-watchman、gitleaks などのツールを使って機密情報を収集していました。
回収されたシークレットには、データベースのパスワード、API キー、アクセストークン、SSH 秘密鍵が含まれていました。攻撃者はこれらの認証情報を使い、開発系システムから本番インフラへと侵入を広げることができました。
あるケースでは、共有の GitLab インスタンスを介して、無関係な2つの組織が危険にさらされました。パイプライントークン1つから、データベースの認証情報、配送サービスの認証情報、クラウド上にある3台のサーバーの秘密鍵にアクセスできる状態でした。
別の侵害では、ソフトウェアプラットフォームから10社を超える顧客環境へ被害が拡大しました。研究者は、150を超えるデータベース、決済ゲートウェイ、数百のソースリポジトリへのアクセスを確認したと報告しています。
政府関連の金融登録プラットフォームでは、12万件を超えるレコードが失われました。Azazel は情報を盗んだあと、Python スクリプトで PostgreSQL を停止し、本番データのディレクトリを削除しました。
攻撃者はさらに、SSH バナー、データベース設定、GitLab プロジェクト、管理者ログインページなど8カ所に身代金要求のメッセージを設置しました。
AI プラットフォームに対する別の攻撃は、より長期にわたる複雑な侵入でした。画像処理APIが、ユーザーの指定した URL を十分な検証なしに取得していたため、内部サービスに対するサーバーサイドリクエストフォージェリ(SSRF)が可能になっていました。
Azazel は Jasypt のマスターキーを入手し、保護されていた設定値を復号しました。また、Git の履歴から認証バイパス用のトークンを取得し、オフラインでクラッキングするために Grafana の管理者ハッシュも抽出しています。
オブジェクトストレージへの継続的な転送により、窃取された情報は6テラバイトを超えました。追加のスクリプトは、これらのファイルから Kubernetes の設定、SSH 鍵、認証情報を探し出していました。
研究者は、Model Context Protocol(MCP)が攻撃の運用に悪用されていたことも突き止めました。あるスクリプトは、ローカルの MCP サービスを通じて exec_in_session ツールを使い、内部ホスト6台への身代金要求メッセージの配置状況を確認していました。
別のツールは、インターネット上で公開されている MCP のポートをスキャンしていました。ストレージサーバーの出力からは、攻撃者がインフラの計画に AI アシスタントを使っていた可能性もうかがえます。
Azazel は、コマンドの処理、ステージング、公開の3つの役割を3台のサーバーに分けていました。確認されたストレージ容量は50テラバイトを超えており、MEGA が最終的な転送先として使われていました。
CloudSEK の調査結果は、認証情報の窃取、データの破壊、独自の恐喝、AI を活用した攻撃の実行を裏付けています。ただし、米軍の作戦や軍事基地が標的になっていたことまでは立証していません。
それでも、露出したインフラのおかげで、研究者は活動中のアフィリエイトによる犯行の流れを、異例なほど詳細に把握できました。
16,000以上の SOC チームが ANY.RUN を使い、脅威調査の効率化と手作業の削減を実現しています。チームでの導入を検討する
翻訳元: https://cyberpress.org/gentlemen-exploits-gitlab-secrets-2/