PyPIで来るWASP

ほぼこもセキュリティニュース By Terilogy Worx

PyPIは皆さんご存じのPython Package Indexです。
Python用のソフトウェアリポジトリですね。
そしてWASPはインフォスティーラーマルウェアのオペレータです。
多くの感染が発生していることが確認されています。

似た名前を使って被害者に取り込ませる作戦、タイポスクワッティングを使ってやってきます。
今回確認されたケースでは「apicolor」という名前のソフトウェアをPyPIで公開していました。
apicolorをインストールするとどうなるでしょう。

  • 通常のパッケージと同じインストール手法で始まる
    通常、setup.pyがパッケージに含まれます。
    これを使ってインストールが始まります。
    これは普通のことです。

     

  • 準備する
    マルウェアを取り込む活動に必要な追加のPythonのパッケージを読み込みます。
    読み込みに失敗する場合はそれを環境にインストールします。

     

  • ダウンロードする
    なぜか画像をダウンロードします。
    そしてその画像を処理し、出てきたデータをexecコマンドで実行します。
    普通こんなことは行いません。

準備のステップで読み込まれるパッケージの1つはrequestsです。
これは通常よく使われるHTTPリクエストを簡単で人間に優しいものにするパッケージです。
これは画像ファイルを取り込むために使われます。

もう一つの準備のステップで読み込まれるパッケージは「judyb」です。
これはなんでしょう。
PyPIの説明にはこれが何者なのかわかるようには書かれていませんでした。
では何をするものなのでしょう。
judybはステガノグラフィモジュールでした。

今回の攻撃では、judybは画像ファイルから難読化されたPythonコードを取り出しました。
そしてそのPythonコードを実行するとWebから悪意のあるexeをダウンロードし、ローカルで実行するものでした。

現在、apicolorは公開されていません。
セキュリティチームに存在を確認され、公開を停止されています。
脅威アクターは同じ内容のものを別の名前で公開しました。
今度は「apicolors」です。最後にsをつけました。
apicolorsも公開停止されました。
次は、colorsapiときて、さらにはcolorapiです。
脅威アクターは凝りません。

脅威アクターは特定のアカウントで悪意あるパッケージをいくつも公開します。
そのアカウントが凍結されることもあるでしょう。
そのときは用意していた別のアカウントを使うだけの時もありますし、単に新しいアカウントを作るだけの時もあります。
きりがないですね。

サプライチェーン攻撃です。
またですか、という感じです。

タイポスクワッティングに加えてスタージャッキングにも注意が必要です。
あの手この手で悪意あるパッケージを入手させようとします。

参考記事(外部リンク):Check Point CloudGuard Spectral exposes new obfuscation
techniques for malicious packages on PyPI

research.checkpoint.com/2022/check-point-cloudguard-spectral-exposes-new-obfuscation-techniques-for-malicious-packages-on-pypi/