FortiGuard Labs 脅威リサーチ

「aioconsol」というPythonパッケージのインデックスを利用した新たなサプライチェーン攻撃

投稿者 Jin Lee | 2023年3月6日

私たちのチームは、PyPIパッケージ(Python Package Index)に埋め込まれたゼロデイ攻撃を発見しました。これは「aioconsol」と呼ばれるもので、2022年12月9日、オープンソースのエコシステムを監視することで発見されました。このPythonパッケージは、公式のPyPIリポジトリに示されているように、2022年12月6日に公開されました。ご覧のとおり、このマルウェアの3つのバージョンはすべて同じ日に公開されています。先週、発見し投稿した「shaderz」と呼ばれるゼロデイPyPI攻撃と同様、この悪意のあるパッケージにはプロジェクトやソースページに関する明確な説明がありません。

図1:空欄のプロジェクト説明
図2:リリース履歴

パッケージのバージョン2.0には、setup.pyのインストールスクリプトに悪意のあるコードが含まれており、インストールの一部としてバイナリらしきものを「test.exe」というファイルに書き込み、実行します。

図3:バージョン2.0のsetup.py

以前のバージョンである1.0と0.0では、図のように、その__init__.pyスクリプトに同様の悪意あるコードが含まれます。

図4:バージョン1.0の__init__.py
図5:バージョン0.0の__init__.py

以下のVirusTotalのエントリに示すように、複数のベンダーがこのバイナリ実行ファイルを悪意のあるもの(SHA 256)としてフラグを立てています。

52e6efbbfb1fdeb976e2464c542bc17747d213d67f28dff4d7df0879df23fd7e

図6:バイナリ実行ファイルtest.exeを検知したベンダー

パッケージの検証

早速、バイナリ実行ファイルを実行してみましょう。「stub.exe」というサブプロセスが作成されます。

図7:実行中のtest.exeプロセス

図のように、一連のファイルが「%USER%\AppData\Local\Temp\onefile_%PID_%TIME%」というフォルダにドロップされます。

図8:ドロップされたファイル

このドロップされた実行ファイル「stub.exe」は、一握りのベンダーによってのみ悪意のあるものとしてフラグが立てられています(SHA 256)。

8124cec491e0249bc4a9f3f9d3755201b0e8c28068ce8c4b528217dbb94afd13

図9:stub.exeを検知するベンダー

test.exeを実行すると、自身が「Control.exe」として「%USER%\AppData\Local\WindowsControl」にコピーされ、「run.bat」バッチファイルがドロップされます。

図10:作成されたファイル

run.batスクリプトは、起動時に実行するのに使用できるファイル「Control.exe」へのパスを示しています。

図11:run.bat

結論

これは、私たちが1週間のうちに発見した悪質なゼロデイPython Package Index(PyPI)サプライチェーン攻撃の2つ目のものです。マルウェアの作成者がバイナリ実行ファイル全体を単純なPythonスクリプト内に格納できるため、この手法がよく使用されます。これは、システムに損害をもたらし、ユーザーを脆弱性にさらす可能性があるため、深刻な影響を引き起こす可能性があります。個人や組織は、Pythonパッケージにマルウェアが含まれる可能性があるため、実際にインストールする際には注意する必要があります。

フォーティネットのソリューション

FortiGuardアンチウイルスは、このレポートで以下のような悪意のある実行ファイルを特定しました。

test.exe: W32/PossibleThreat

stub.exe: W32/Agent.AHP!tr

FortiGuardアンチウイルスサービスは、FortiGateFortiMailFortiClientFortiEDRによってサポートされます。最新のアンチウイルスアップデートをお使いのお客様は、脅威から保護されています。

FortiGuard Webフィルタリングサービスは、このレポートで引用されているダウンロードURLを悪意のあるものとして検知し、ブロックします。

IOC(Indicators of Compromise:侵害指標)

test.exe

            52e6efbbfb1fdeb976e2464c542bc17747d213d67f28dff4d7df0879df23fd7e

stub.exe

            8124cec491e0249bc4a9f3f9d3755201b0e8c28068ce8c4b528217dbb94afd13

 

FortiGuard Labsが、悪意のあるaioconsolパッケージをPythonに責任を持って報告した結果、それらは削除されました。