Microsoft PowerShell Gallery vulnerable to spoofing, supply chain attacks

Microsoft の PowerShell ギャラリー コード リポジトリのパッケージ命名ポリシーが緩いため、攻撃者はタイポスクワッティング攻撃を実行し、人気のあるパッケージをなりすまして、大規模なサプライ チェーン攻撃の基礎を築く可能性があります。

PowerShell ギャラリーは、広範な PowerShell コミュニティによってアップロードされたパッケージの Microsoft 運営のオンライン リポジトリで、さまざまな目的のための多数のスクリプトとコマンドレット モジュールをホストしています。

これは非常に人気のあるコード ホスティング プラットフォームであり、その上の一部のパッケージは毎月数千万ダウンロードされます。

Aqua Nautilus は 2022 年 9 月に市場のポリシーの問題を発見し、Microsoft は対応するバグレポートと PoC エクスプロイトの受領を認めたにもかかわらず、欠陥を修正するための措置を講じていません。

簡単ななりすまし

AquaSec の Nautilus チームは、ユーザーが既存のリポジトリに非常によく似た名前の PS ギャラリー パッケージを送信できること、いわゆる「タイポスクワッティング」をサイバー犯罪者が悪意のある目的に悪用する可能性があることを発見しました。

レポート内の概念実証 (PoC) の例では、ダウンロード数 1,000 万の人気の「AzTable」モジュールについて言及していますが、これは「Az.Table」などの新しい名前で簡単に偽装される可能性があり、ユーザーがそれらを区別できるようにします。

研究者らが発見したもう 1 つの問題は、正規のプロジェクトからコピーすることで、作成者や著作権を含むモジュールの詳細を偽装できることです。

これにより、パッケージのタイポスクワッティングの最初の問題がさらに危険になるだけでなく、任意のパッケージを信頼できる発行者の作品のように見せるために悪用される可能性もあります。

さらに、PS ギャラリーは、パッケージをアップロードした発行者アカウントを示す、[パッケージの詳細] の下のより信頼性の高い [所有者] フィールドをデフォルトで非表示にします。

スプーフィングされたパッケージ (左) と実際のモジュール (右)
スプーフィングされたパッケージ (左) と実際のモジュール (右)
出典: アクアセック

隠されたパッケージを公開する

AquaSec によって発見された 3 番目の欠陥は、通常、ギャラリーの検索エンジンによってインデックス付けされない、プラットフォーム上でリストに掲載されていないパッケージ/モジュールを公開する機能に関するものです。

研究者たちが驚いたことに、プラットフォーム上で、リストに記載されているパッケージとリストに掲載されていないパッケージの両方に関する包括的な詳細を提供する XML ファイルを発見しました。

「XML 応答の下部にある API リンクを利用することで […]、攻撃者は関連バージョンを含む完全な PowerShell パッケージ データベースに無制限にアクセスできるようになります。」 AquaSec の Nautilus チームはこう説明します。

「この制御されていないアクセスにより、悪意のある攻撃者は、リストに掲載されていないパッケージ内の潜在的な機密情報を検索できるようになります。」

非公開プロジェクトで API キーが公開される
大手ハイテク企業のAPIキーが非公開プロジェクトで流出(AquaSec)

開示と緩和

Microsoft が 11 月初旬に問題を修正したと発表したにもかかわらず、AquaSec は 2022 年 9 月 27 日にすべての欠陥を Microsoft に報告し、2022 年 12 月 26 日にそれらを再現することができました。

2023 年 1 月 15 日、Microsoft は、エンジニアが名前のタイポスクワッティングとパッケージ詳細のなりすましに対する修正を開発するまでの短期的な解決策が実装されたと発表しました。

AquaSec は、8 月 16 日時点でも欠陥は依然として存在しており、修正が実装されていないことを示していると述べています。

PS ギャラリー リポジトリのユーザーは、署名されたスクリプトのみの実行を許可するポリシーを採用し、信頼できるプライベート リポジトリを利用し、モジュール ソース コード内の機密データを定期的にスキャンし、不審なアクティビティを検出するためにクラウド環境にリアルタイム監視システムを実装することをお勧めします。

は、AquaSec の調査結果に関するコメントを求めるために Microsoft に連絡し、広報担当者は次のような内容のメールを送りました。

私たちはこのレポートを認識しており、成功するにはソーシャル エンジニアリングに依存していると判断しましたが、これらのパッケージを特定して削除できるようにいくつかの変更を実装しました。

悪意があると思われるパッケージをパッケージ モジュールの [レポート] リンクから報告することをお勧めします。

これまでと同様、当社は引き続き悪意のあるアクティビティを監視し、お客様の保護を維持するために多層防御措置を講じます。

8/18 更新 – Microsoft コメントを追加