PyPI パッケージに潜む W4SP Stealer:あらゆる機密情報を盗み取る

Devs targeted by W4SP Stealer malware in malicious PyPi packages

2023/02/12 BleepingComputer — Python Package Index (PyPI) 上で発見された5つの悪意のパッケージは、無防備な開発者からパスワード/Discord 認証クッキー/暗号通貨ウォレットを盗み出すものだ。PyPI とは、プログラミング言語 Python で作成されたパッケージのためのソフトウェア・リポジトリであり、約 20万個のパッケージをホストしている。そのため、開発者は各種のプロジェクト要件を満たす、既存のパッケージを見つけることが可能となり、時間と労力を節約できる。


その PyPi に、2023年1月27日〜1月29日にかけて、脅威アクターがアップロードした5つの悪意のパッケージには、情報窃取マルウェア W4SP Stealer が取り込まれている。その後に、これらのパッケージは削除されたが、すでに数百人のソフトウェア開発者によりダウンロードされている。これら5つのパッケージと、そのダウンロード統計は以下の通りである。

  1. 3m-promo-gen-api – 136 downloads
  2. Ai-Solver-gen – 132 downloads
  3. hypixel-coins – 116 downloads
  4. httpxrequesterv2 – 128 downloads
  5. httpxrequester – 134 downloads
The malicious packages uploaded onto PyPI
The malicious packages uploaded onto PyPI (Fortinet)

これらのダウンロードの大部分は、それぞれのパッケージがアップロードされた後の、最初の数日間に発生している。つまり、悪意のある行為者が BAN されたときに、新しいパッケージや新しいアカウントを通じて、同じコードを PyPI にアップロードしようとする動機になる。

パスワード窃取者の潜伏

Fortinet のセキュリティ研究者が、このパッケージを発見し、インストールしてみると、ブラウザ/クッキー/暗号通貨ウォレットに保存されたパスワードを盗もうとすることが判明した。Fortinet は、情報を盗み出すマルウェアの種類を特定していないが、BleepingComputer は、PyPI 上のパッケージで多用されるようになった、W4SP Stealer であると判断した。

このマルウェアのアクティビティは、Google Chrome/Opera/Brave Browser/Yandex Browser/Microsoft Edge などの Web ブラウザから、データを盗み出すところから始まる。続いて、Discord/Discord PTB/Discord Canary/LightCord クライアントから認証クッキーを盗もうとする。

そして、以下に示すように、このマルウェアは最終的に、Atomic Wallet/Exodus Wallet と、The Nations Glory オンラインゲームの Cookie を盗もうとする。

The GatherAll function
The ‘GatherAll’ function (Fortinet)

さらに、このマルウェアは Web サイト・リストを標的として、運営者がアカウント乗っ取りの悪用できる、機密ユーザー情報を取得しようとする。

List of sites targeted by the malware
List of sites targeted by the malware (Fortinet)

標的となるサイトには、以下のようなものがある。

  • Coinbase.com
  • Gmail.com
  • YouTube.com
  • Instagram.com
  • PayPal.com
  • Telegram.com
  • Hotmail.com
  • Outlook.com
  • Aliexpress.com
  • ExpressVPN.com
  • eBay.com
  • Playstation.com
  • xbox.com
  • Netflix.com
  • Uber.com

さらに、このマルウェアは、感染させたマシン上で見つけた全てのデータを収集した後に、自身のアップロード機能を介して、Discord Web フックを用いて盗んだデータをアップロードし、脅威アクターのサーバに転送する。

Discord Web フックとは、正規ユーザーがファイルを含むメッセージを Discord サーバに送信するものだが、ファイル/Discord トークンなどの情報を盗むために頻繁に悪用されている。

Snippet of code of the 'upload' function
Snippet of code of the ‘upload’ function (Fortinet)

Fortinet が見つけだ出したものには、ファイルに含まれる特定キーワードの存在をチェックし、それが見つかった場合に、ファイル転送サービス transfer.sh を使って盗み出すための機能もある。それらのキーワードとは、銀行/パスワード/PayPal/暗号通貨/多要素認証のファイルに関するものである。

特に注目すべき点は、キーワードの一部がフランス語であることで、脅威アクターがフランス出身である可能性を示している。データ窃取の対象となったキーワードの全リストは、以下のとおりである。

Function that checks for specific keywords
Function that checks for specific keywords (Fortinet)

PyPI や NPM などのパッケージリポジトリが、マルウェアの配布に使われる頻度が上がっているため、開発者にとって必要なことは、パッケージに含まれるコードをプロジェクトに追加する前に分析することである。

ダウンロードしたパッケージで、難読化されたコードや異常な動作が発見された場合には、それを使用せず、対象となるリポジトリで報告する必要がある。

2023/02/10 にも「PyPI に 悪意の Python パッケージ:すでに 450回もダウンロードされている」という記事をポストしていますが、そちらは Sonatype のレポートがベースとなっていました。今日の記事のベースと成っているのは Fortinet レポートであり、まったく異なる PyPI 汚染を取り上げています。よろしければ、以下の記事も、ご参照ください。

2023/02/01:PyPI:Python-drgn と bloxflip に要注意
2023/01/16:悪意のパッケージ:数日で 500件以上の DL
2023/01/07:PyPI:CloudFlare Tunnel を悪用するトロイの木馬
2022/12/20:PyPI に W4SP Stealer 亜種が出回る

%d bloggers like this: