FortiGuard Labs 脅威リサーチ

新たな不正Pythonパッケージ「shaderz」を使ったサプライチェーン攻撃:パート2

投稿者 Jin Lee | 2023年2月20日

shaderzゼロデイ攻撃分析の第2部では、ダウンロードされた実行ファイルを詳細に検証します。詳しい経緯については、本ブログのパート1をご覧ください。

まず、これは次のような多段階攻撃であることが判明しました。

1.      第1段階:不審なURLに接続し、パッケージ内で発見されたsetup.pyを使用して実行ファイル「stub.exe」をダウンロードする。

2.      第2段階:「stub.exe」が「main.exe」という別の実行ファイルをダウンロードする。

3.      第3段階:「main.exe」を実行する。

ダウンロードされた実行ファイルstub.exe

最初の実行ファイル「stub.exe」を詳しく調査したところ、それが64ビットのPyInstallerでコンパイルされた実行ファイル(Pythonバージョン3.11)であることがわかりました。

次に示すように、「stub.exe」のPythonバイトコードを逆アセンブルした結果、主な振る舞いを確認できました。

図1:逆アセンブルしたstub.exeのPythonバイトコードのスニペット

URL hxxps://cdn[.]discordapp[.]com/attachments/1045000289708687390/1045158219024171169/main[.]exeからダウンロードされた実行ファイル「main.exe」は、「%USER%\AppData\Roaming\Microsoft\Windows\Themes\screen.scr」に保存されます。

図2:screen.scrに保存されるダウンロード済み実行ファイル「main.exe」

そして、screen.scrによって実行ファイルが起動されます。

図3:screen.scrプロセスの動作

ダウンロード済み実行ファイルには、起動時の自動実行も設定されています。

図4:ダウンロード済み実行ファイルの起動時自動実行の設定

ダウンロードされた実行ファイルmain.exe

2番目にダウンロードされた実行ファイルでは、より悪質な振る舞いが発生します。

パート1と同様に、ダウンロードURL https://cdn[.]discordapp[.]com/attachments/1045000289708687390/1045158219024171169/main[.]exeには、次の実行可能バイナリ(SHA 256)が含まれています。

d1f0583169acde756793d7d5d69afbb72331c931a88749eab14f28ecda3ef5ce

前回の実行ファイルと同じく、このダウンロードURLはこれまで他のどの脅威リサーチャーにも検知されていません。

 

図5:VirusTotalで未検知のURL

ただし次に示すように、一部のベンダーはこのダウンロード済み実行ファイルに「不正」のフラグを付けています。

図6:ダウンロード済み実行ファイルを検知しているベンダー

この実行ファイルは、64ビットのPyInstallerでコンパイルされた実行ファイル(Pythonバージョン3.11)でもあります。以下に示すように、このPythonバイコードではHyperionという強力なPython難読化ツールが使用されています。

図7:逆アセンブルしたmain.exeのPythonバイトコードのスニペット

図8:Python難読化ツール、Hyperion

 

「main.exe」による不審な振る舞いの一つは、「%USERPROFILE%\AppData\Local\Temp」フォルダ内に一連のテキストおよびDBファイルを作成するというものです。そのあと、main.exeは密かにユーザーの機密データや認証情報を記録します。

図9:機密データが保存されている可能性のあるテキストファイル
図10:機密データが保存されている可能性のあるDBファイル

いずれかのテキストファイルを調べてみると、マルウェアは自らを「Subliminal Stealer」と名乗っています。

図11: History.txt

 

次のDBファイルをご覧ください。これらのファイルは、クレジットカード情報やログイン情報などの機密データや認証情報の保存に使われるとみてよいでしょう。

図12:sublimCreditCards.db

図13:sublimHistory.db

図14:sublimPasswords.db

結論

Pythonパッケージをインストールする場合は、悪意ある振る舞いが隠されている可能性があるため、慎重に行う必要があります。本ブログシリーズで解説したとおり、マルウェアの作成者は多くの場合、無害に見えるパッケージを使って被害者を騙すことができます。

ユーザーがサプライチェーン攻撃の被害者にならないよう、フォーティネットは今後も新しいオープンソースパッケージを監視し、不正なパッケージを報告していきます。

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

FortiGuardアンチウイルスは、このレポートで紹介した不正な実行ファイルを

W64/Agent.7EC7!trとして検知します。

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

FortiGuard Webフィルタリングサービスは、このレポートで取り上げたダウンロードURLを「不正」として検知しブロックします。

IOC(Indicators of Compromise:侵害指標)

main.exe

            d1f0583169acde756793d7d5d69afbb72331c931a88749eab14f28ecda3ef5ce

不正なURL

cdn[.]discordapp[.]com/attachments/1045000289708687390/1045158219024171169/main[.]exe

詳しくは、フォーティネットのFortiGuard Labs脅威リサーチ / グローバルインテリジェンス部門、およびFortiGuardのAIを活用したセキュリティサービスのポートフォリオを参照してください。