PyPI に悪意のパッケージ 12個:Counter-Strike への DDoS 攻撃に巻き込まれる恐れ

Malicious PyPi packages aim DDoS attacks at Counter-Strike servers

2022/08/15 BleepingComputer — 今週末、ロシアの Counter-Strike 1.6サーバーにDDoS攻撃を仕掛けるタイポスクワッティング攻撃のために、悪意の Python パッケージ 12個が PyPI レポジトリにアップロードされた。Python Package Index (PyPI) とは、オープンソースのソフトウェア・パッケージのリポジトリであり、開発者は自身の Python プロジェクトに、それらのパッケージを簡単に組み込み、最小限の労力で複雑なアプリを構築できる。

しかし、このリポジトリには、誰もがパッケージをアップロードすることが可能であり、悪意のものとして報告されない限りパッケージは削除されない、したがって、このリポジトリを介して開発者の認証情報を盗み出し、マルウェアを展開するなど、脅威アクターも悪用できるものとなる。

悪意のタイポスクワッティング・キャンペーン

今週末に Checkmarx の研究者たちが発見したのは、”devfather777″ というユーザーが、人気のパッケージ名に類似した 12 のパッケージを公開し、ソフトウェア開発者を騙して悪意のバージョンを使用させようとしていることである。

このようなタイポスクワッティング攻撃は、開発者が正規のパッケージと似た名前の、悪意のパッケージを誤って使用することを利用している。このキャンペーンに含まれるパッケージ (カッコ内が正規版) には、たとえば Gesnim (Gensim)/TensorFolw (TensorFlow)/ipaddres (ipaddress) などがある。

Malicious packages still on PyPI

アップロードされた悪意の PyPI パッケージは、以下の通りである。

Gesnim
Kears
TensorFolw
Seabron
tqmd
lxlm
mokc
ipaddres
ipadress
falsk
douctils
inda

一般的に、ソフトウェア開発者はターミナル経由のタイピングで、これらのパッケージを取得するため、その名前を間違って入力することも起こりやすい。ダウンロードとビルドは想定通り行われるため、被害者は間違いに気づかず、そのデバイスは感染してしまう。

CheckMarx は、このパッケージを PyPI リポジトリに対して報告しましたが、この記事を書いている時点では、まだ削除されていない。

CounterSrike サーバを標的とする

これらの悪意の Python パッケージの1つをダウンロードして、アプリケーションで使用すると、setup.py に埋め込まれたコードが実行され、ホストが Windows システムであることを確認した後に、GitHub からペイロード (test.exe) がダウンロードされる。

Code hiding in the setup script
Code hiding in the setup script (Checkmarx)

VirusTotal でスキャンしたところ、69 のアンチウイルス・エンジンのうち、悪意のファイルとしてマークしているのは 11 であることから、C++で書かれた新規のステルス性マルウェアであることが分かる。

このマルウェアは、自身をインストールし、システム・リブート時における永続性を確保するためにスタートアップ・エントリを作成すると同時に、システム全体におよぶ期限切れのルート証明書を注入する。続いて、ハードコードされた URL に接続し、設定を受け取る。3回目のトライでも失敗した場合には、DGA (Domain Generation Algorithm) アドレスに送信された、HTTP リクエストへの応答を求める。

Checkmarx は、「ソフトウェア・サプライチェーン・エコシステムのマルウェアが、 DGA を悪用するのは、今回が初めてのことである。このケースでは UGA を介して、悪意のキャンペーンの新たな命令に、生成された名前を割り当てる」とレポートでコメントしている。

Attack flow diagram
Attack flow diagram (Checkmarx)


アナリストが観測したケースでは、マルウェアの設定により、ホストを DDoS ボットへと勧誘し、ロシアの Counter-Strike 1. 6サーバに向けてトラフィックを送信するよう命じている。その目的は、送信されたトラフィックが、サーバを圧倒するのに十分な数のデバイスを感染させることにで、Counter-Strike サーバを停止させることにあるようだ。

このマルウェアのホスティングに使用された GitHub リポジトリは削除されたが、脅威アクターは別のファイル・ホスティング・サービスを悪用して、悪意の操作を再開できる。

もし、あなたが 12種類のパッケージのどれかを使用していて、この週末にタイプミスをした可能性がある場合には、あなたのプロジェクトを精査し、正規のソフトウェア・パッケージが使用されてことを再確認してほしい。

PyPI とタイポスクワッティングというと、6月12日の「PyPI パッケージ keep に含まれるタイプミス:悪意の依存関係とパスワード窃取」が思い出されますが、今回のものは性質が異なる、悪意あふれるパッケージに起因しています。そして、感染したサーバは、ロシアの Counter-Strike 1.6 への、DDoS 攻撃に巻き込まれることになります。DDoS に関連する似たような話として、8月12日には「Palo Alto Networks 警告:PAN-OS に DDoS 攻撃参加を許す脆弱性 CVE-2022-0028」という記事もありました。よろしければ、ご参照ください。