最初のファイルは「my new program called 2.rar」という名前で、中には TokenGrabberBuilder.zip というZIPアーカイブが入っています。このアーカイブには「TokenGrabber Builder」フォルダがあり、Pythonベースのビルダーと、認証情報を窃取するペイロードが組み込まれています。
このビルダーはMalware-as-a-Service(MaaS)の手法を採用しています。運用者は、攻撃者が管理するWebhookの設定を組み込んだ、カスタマイズ済みのマルウェア実行ファイルを生成できます。
ビルダーは必要なPython依存パッケージを自動的にインストールします。そのため、開発環境が整っていないシステムでも動作します。
また、設定したWebhookをローカルの webhook.txt ファイルに保存します。これにより、攻撃者は以降のビルドでも同じデータ窃取用エンドポイントを再利用できます。
ビルダーはWebhookをペイロードに組み込む前に、0x5A キーでXOR暗号化し、さらにBase64エンコードします。これによりURLが平文で現れるのを防ぐほか、異なるWebhookを設定するたびに別のマルウェアサンプルが生成されます。
運用者は、NuitkaまたはPyInstallerでペイロードをコンパイルできます。生のPythonスクリプトとして保存することも可能です。特にNuitkaは、PythonコードをネイティブバイナリーN変換するため、Pythonバイトコードの復元が難しくなり、警戒が必要です。
PyInstallerはPythonインタープリターとコードを単一の実行ファイルにまとめます。生スクリプトを選んだ場合は、さらに手作業で改変を加えられます。
このマルウェアは、環境変数のパス、一般的なフォルダー、Windowsレジストリの各所からPythonのインストール先も探索します。これにより、ビルダーはさまざまなWindows環境で動作します。
ペイロードは、難読化、解析対策のチェック、永続化、認証情報の窃取、Webhookを使ったデータ送信を組み合わせています。機密性の高い文字列は実行時にのみデコードし、ライブラリーも必要になった時点で動的に読み込みます。これにより、起動時に目に見える痕跡を減らしています。
セキュリティ研究者やサンドボックス環境を回避するため、マルウェアはデバッガーの接続、仮想化関連のプロセス、50GB未満のディスクの有無を確認します。さらに、スリープ時間を変動させて活動を遅らせます。
永続化のために、このインフォスティーラーは HKCU\Software\Microsoft\Windows\CurrentVersion\Run にレジストリのRunキーを作成します。名前には紛らわしい WindowsUpdate を使います。ユーザーのログオン時に起動するスケジュールタスクも作成します。
ブラウザーの認証情報は、ブラウザーのLocal Stateファイルから暗号化キーをWindows DPAPI経由で復元して復号します。
注: IPアドレスとドメインは、誤って名前解決されたりハイパーリンク化されたりするのを防ぐため、意図的に無害化(例: [.])しています。無害化の解除は、MISP、VirusTotal、お使いのSIEMなど、管理された脅威インテリジェンス基盤の中でのみ行ってください。
16,000以上のSOCチームがANY.RUNを活用し、脅威調査を効率化して手作業を減らしています。チームでの導入を検討する
翻訳元: https://cyberpress.org/windows-infostealer-targets-browsers/