様々なプラットフォームを悪用する Vidar Stealer

Vidar マルウェアは継続的に拡散している情報窃取マルウェアとして、最近の配布量が目に見えて増えている。Telegram、Mastodon などの有名なプラットフォームを中間 C2 に活用しているのが特徴である。

以下のリンクは Mastodon を活用して不正な振る舞いを行う事例について取り上げた記事である。

SNS のマストドンを悪用する Vidar マルウェア

マルウェアを実行すると、攻撃者のアカウントページに接続し、識別文字列を検索して C2 アドレスを探し、その C2 アドレスと通信しながら不正な振る舞いを実行する。

このような公開プラットフォーム URL は、セキュリティ製品での遮断が難しく、攻撃者の C2 サーバーが遮断できても新たな C2 サーバーを開設してアカウントのページを修正すれば、以前配布していたマルウェアまで新たな C2 で通信できるようになってしまう。

悪用の対象になるサービスは、比較的簡単にアカウントを生成できるといった共通点がある。以下は最近 Vidar マルウェアが使用していたページである。

[図1] 攻撃者のアカウントページ

キャプチャのうち、最後のものは Ultimate Guitar プラットフォームの攻撃者アカウントである。このプラットフォームを悪用したサンプルが多数収集されたが、残念ながら実際の C2 が記載されたキャプチャを入手することはできなかった。収集当初に接続された C2 アドレスは116.202.2[.]1/1707である。

実行すると振る舞いに使用される文字列を復号化するプロセスが実行される。簡単な XOR 方式で構成されているが、コードのところどころに以下のように「Lorem ipsum」のダミーテキストを引数とした、文字列の操作関数を実行するダミーコードが多く存在する。使用される文字列と関数はサンプルごとに少しずつ異なる。読み込み専用データ領域に変化を与えたり、プロセスメモリ上のマルウェアを特定できる文字列を探しにくくしたりする目的であると推定される。

[図2] ダミー文字列操作のためのダミーコード

コンピューター名とユーザー名をチェックする。それぞれ「HAL9TH」、「JohnDoe」の場合はマルウェアが実行されずに終了する。これは Windows Defender エミュレーターが使用する名前として知られており、この機能を回避するためのコードであると見られる。

[図3] アンチエミュレーションコード

上記のような事前タスクをすべて終了すると、C2 アドレスを獲得するために攻撃者のアカウントページへの接続を試みる。現在配布されているサンプルはプラットフォームのアカウントアドレス2種と、実際の C2 サーバー URL 1つずつが含まれている。これらの URL バイナリにハードコードされており、実際の C2 を取得するまで順に接続を試みる。

[図4] 攻撃者のアカウントページの例

マルウェアは、このアカウントページのソースを調べて識別子を探す。識別子の後ろから「|」の前までの文字列が C2 になっている。識別子はサンプル別に異なるが、C2 アドレスと同じくハードコードされている。今回のサンプルの識別子は「disqo」であり、C2 アドレスは142.132.236.84である。

[図5] マルウェア内部にハードコードされた値

初回 C2 接続時に不正な振る舞いについての情報(設定)データを受信し、その後振る舞いに必要な各種ライブラリファイルをダウンロードする。過去にはファイル別にそれぞれダウンロードしていたが、最近配布されているサンプルは大半が圧縮ファイル形式でダウンロードされ、メモリ上で解凍して使用している。

[図6] 不正な振る舞いのためにダウンロードされたライブラリ

C2 の戻り値には特定機能の有効化、トークン値、窃取対象のディレクトリおよびファイル拡張名などが含まれている。
これは過去のバージョンから大きく変化していないため、過去の記事を参考にしてほしい。機能設定プラグの中間に追加された Hex 値は C2 が与えるランダムなトークン値である。

[図7] C2 応答設定データ

C2 の設定応答によって振る舞いは異なるが、ブラウザデータ(アカウント、パスワード、アクセス履歴、Cookie など)、暗号貨幣ウォレット、ドキュメントファイル(攻撃者の指定拡張子)、スクリーンショット、システム情報などの様々な情報が窃取対象になりえる。

情報収集が完了すると窃取情報を ZIP 形態で圧縮し、Base64 でエンコードして C2 で転送する。データを C2 に転送する過程では、過去の配布バージョンとは若干の差がある。

以前のサンプルは圧縮ファイルデータを平文で転送していたが、最近の配布サンプルは Base64 でエンコードしてから転送する。また、転送時の HTTP データ項目が最近のバージョンでは簡素化されている。マルウェアのバージョン情報も省略されており、圧縮ファイルの内部の Information.txt ファイルを確認したり、マルウェアのバイナリにハードコードされた値を確認しないとバージョンを特定できない。

新たに追加された機能も存在するが、初回 C2 接続時にランダムなトークン値を受け取り、窃取情報を転送するときにその値をそのまま「token」項目に転送する。これは感染 PC の窃取情報を検証する役割をするものと推定される。

[図8] C2に転送されるデータの例(上: 以前のバージョン / 下: 最近配布されているバージョン)

窃取情報ファイルに明示されているデータのうち、日づけの表示方式や HWID 項目を生成する方式などに若干の変化がある。このファイルによると、最近の配布の中心となっているサンプルのバージョンは56.1である。

[図9] システム情報窃取の例(左: 以前のバージョン / 右: 最近配布されているバージョン)

Vidar マルウェアは有名プラットフォームを中間 C2 に活用する特殊性があり、寿命が長い方である。6カ月前に生成された攻撃者のアカウントが、現在も持続的にアップデートされながら維持されている。主に一般のユーザーを対象にソフトウェアや Crack などを偽装して活発に配布されるため、ユーザーの注意が必要である。

AhnLab では、このマルウェアを以下のように検知している。

  • Trojan/Win.Injection.C5318441 (2022.12.01.02)
  • Infostealer/Win.Vidar.C5317169 (2022.12.13.01)
  • Infostealer/Win.Vidar.C533928 (2022.11.11.01)
  • Infostealer/Win.Vidar.C5308808 (2022.11.19.00)
  • Infostealer/Win.Generic.C5308804 (2022.11.19.00) その他多数

[IOC 情報]

  • MD5
    0b9a0f37d63b0ed9ab9b662a25357962
    483ec112df6d0243dbb06a9414b0daf6
    256594282554abed80536e48f384d2e8
    a46f7096a07285c6c3fdfdf174c8a8b0
    ce1eb73f52efe56356ee21b9c4c4c6c4 その他多数
  • 攻撃者のアカウント URL
    t.me/asifrazatg
    http://www.tiktok.com/@user6068972597711
    steamcommunity.com/profiles/76561199439929669
    mas.to/@ofadex
    http://www.ultimate-guitar.com/u/smbfupkuhrgc1
    steamcommunity.com/profiles/76561199441933804
    steamcommunity.com/profiles/76561199436777531
    c.im/@xiteb15011
    ioc.exchange/@xiteb15011
    c.im/@xinibin420
    nerdculture.de/@yixehi33
    mas.to/@zara99
    ioc.exchange/@zebra54
    nerdculture.de/@yoxhyp
    mas.to/@kyriazhs1975
    nerdculture.de/@tiaga00
    mastodon.online/@olegf9844g


関連 IOC および詳細な解析情報は、AhnLab の次世代脅威インテリジェンスプラットフォーム「AhnLab TIP」サブスクリプションサービスを通して確認できる。