1. 概要
Vidarは2018年に初めて確認されたインフォスティーラーであり、Malware-as-a-Service (MaaS) として提供されるマルウェアとして運用され、現在に至るまでさまざまな攻撃を通じて継続的に拡散されている。
AhnLab Security intelligence Center (ASEC) では、韓国を含む各国を対象とした Vidar の拡散事例を継続的にモニタリングしており、本ブログでは2026年上半期に確認された Vidar の拡散事例について紹介する。
2. フィッシングメール
2026年上半期に確認された Vidar のフィッシングメールによる攻撃は、いずれも同一の攻撃者によるものと推定される。
Go 言語製のパッカーを利用している点や、拡散時に使用されるキーワード、同一の C&C サーバーを利用している点などから、特定の攻撃者が数日おきに Vidar を作成し、継続的に配布しているものと考えられる。
攻撃者は主に「入社志願書」や「著作権侵害」といったキーワードを使用しており、ファイル名の日付部分を除けば、数週間にわたり同じ名称でマルウェアを配布している。
- 入社志願書_誠実な勤務態度で取り組みます_26年06月04日.exe
- 260511 著作権関連条項および侵害内容整理リスト (画像、アイコン、UIなど).exe
- 前向きで責任感のある応募者_26年04月21日 履歴書.exe
- 履歴書_260219_すべての仕事に誠実かつ一貫した姿勢で取り組みます.exe
- 260113 著作権関連条項および侵害内容整理リスト (画像、アイコン、UIなど)..exe
3. Vidar の分析
3.1. パッカー
Vidar は、Word 文書ファイルを装ったアイコンを使用し、Go 言語で作成されたパッカー形式で配布される。このパッカーは実行時に内部へ格納されている実際の Vidar 本体を復号し、メモリ上で実行する。

[図1] Go 製パッカー
3.2. 初期通信
Vidar は現在も継続的に更新されており、C/C++で開発されている。近年確認されている亜種では、分析を妨害する目的でコードやデータを難読化している点が特徴である。
さらに、
・ NtGlobalFlag の確認による Anti-Debugging
・ CPU、RAM、ディスク容量を確認する Anti-VM
・ ユーザー名やコンピューター名を確認する Anti-Sandbox
などの分析対策機能も実装されている。
Vidar は C&C サーバーとの通信時に **Dead Drop Resolver(DDR)** を利用する。
攻撃者は Telegram や Steam のプロフィールページへ C&C サーバーの情報を記載し、Vidar はそれらのプロフィールページへアクセスして実際の C&C サーバーアドレスを取得する。
2026年6月の攻撃では、Telegram と Steam の両方に C&C サーバー情報が設定されており、まず Telegram へ接続し、取得できなかった場合のみ Steam のプロフィールページから取得する仕組みとなっていた。
なお、「ar3k0」はVidar 内部で使用されるマーカー文字列であり、このキーワード以降、区切り文字までの文字列を C&C サーバーアドレスとして認識する。

[図2] DDR で使用された Telegram および Steam プロフィールページ
マーカー文字列「ar3k0」、Telegram/Steam プロフィールページの URL、バージョン情報「1.9」、build_id「7dd16d1018865e5e817c418f87e6be00」はバイナリ内にハードコードされている。
また、「hwid」はボリュームシリアル番号やハードウェア情報を組み合わせて生成される。
3.3. 認証およびコマンドのダウンロード
Vidar はその後 C&C サーバーと通信を開始し、初回通信時には次の情報を送信する。
・ hwid
・ format
・ build_id

[図3] 初回通信時に送信されるデータ
受信したデータを復号すると、以下のような JSON 形式の設定情報を取得できる。

[図4] ダウンロードされた設定情報
| 項目 | 機能 |
|---|---|
| Cookies | Web ブラウザの Cookie 情報を窃取 |
| History | Web ブラウザの閲覧履歴を窃取 |
| cryptocurrency | 暗号資産情報を窃取 |
| steal_discord | Discord 情報を窃取 |
| request | “id_request” |
| telegram | Telegram 情報を窃取 |
| screenshot | スクリーンショットを取得 |
| steam | Steam 情報を窃取 |
| delete | 未使用 |
| loader | 追加ペイロードまたはコマンドをダウンロードして実行 |
| grabber_size_max | 窃取対象ファイルの最大サイズ |
| azure | Azure 情報を窃取 |
| shell_code | 未使用 |
| debug | N/A |
| thread_count | N/A |
| zip_theshold | N/A |
| token | 以後の通信で使用するトークン |
[表1] 設定情報
3.4. 追加条件情報のダウンロード
Vidar はその後、C&C サーバーへ複数のリクエストを送信し、「mode」の値に応じて追加設定情報を受信する。
mode 1、2、3、4、21では、情報窃取対象となる Web ブラウザや暗号資産ウォレットの保存場所、窃取対象ファイルなどを取得する。
mode 5では追加ペイロードやコマンドを取得できる。
さらに、それぞれの処理完了後に送信する mode 番号も定義されている。

[図5] mode=4のリクエストパケット
| mode | 方式 | 機能 |
|---|---|---|
| 1 | ダウンロード | Web ブラウザ一覧 |
| 2 | ダウンロード | Chromium 系ブラウザ拡張機能一覧 |
| 3 | ダウンロード | 暗号資産ウォレット保存先一覧 |
| 4 | ダウンロード | Grabber 対象ファイル一覧 |
| 5 | ダウンロード | 追加ペイロードまたはコマンド |
| 21 | ダウンロード | Firefox 系ブラウザ拡張機能一覧 |
| 101 | アップロード | Web ブラウザ情報収集完了 |
| 301 | アップロード | 暗号資産ウォレット情報収集完了 |
| 401 | アップロード | Grabber 収集完了 |
| 501 | アップロード | Loader 処理完了 |
| 6 | アップロード | 終了 |
| lg | アップロード | デバッグログ |
[表2] 追加設定のダウンロードに使用される mode
各 mode で受信したデータを復号すると、対象ファイルの保存パス一覧や、Chromium 系ブラウザの拡張機能一覧などを取得し、それらを基に情報窃取を実施する。
また、「lg」はログを意味すると推定され、復号するとマルウェア実行中に記録されたログを確認できる。

[図6] ダウンロードされた情報窃取条件

[図7] mode=lg で送信されるデバッグログ
3.5. 情報窃取
Vidar は初回接続時に取得した設定情報と、追加通信で取得した条件情報に基づいて各種情報を窃取する。
代表的な窃取対象は以下のとおりである。
・ information.txt(感染端末のシステム情報)
・ passwords.txt(FileZilla および WinSCP の認証情報)
・ screenshot.jpg(スクリーンショット)

[図8] information.txt の送信

[図9] information.txt に含まれるシステム情報

[図10] 送信されるファイルの例
| 転送ファイル | 情報窃取対象 | ファイルパス |
|---|---|---|
| information.txt | システム情報 | |
| screenshot.jpg | スクリーンショット | |
| passwords.txt | FileZilla、WinSCP の認証情報 | |
| <Browser>_<Profile>_passwords.db | Chromium 系ブラウザの保存済みログイン情報 | “%LOCALAPPDATA\Google\Chrome\User Data\Default\Login Data” など |
| <Browser>_<Profile>_cookies.db | Cookie | Chromium 系 : “%LOCALAPPDATA\Google\Chrome\User Data\Default\Network\Cookies” など Firefox 系 : “%APPDATA%\Mozilla\Firefox\Profiles\<ProfileName>\cookies.sqlite” |
| <Browser>_<Profile>_history.db | 閲覧履歴 | Chromium 系 : “%LOCALAPPDATA\Google\Chrome\User Data\Default\History” など Firefox 系 : “%APPDATA%\Mozilla\Firefox\Profiles\<ProfileName>\places.sqlite” |
| <Browser>_<Profile>_webdata.db | Chromium 系 AutoFill/Payment/Web Data | “%LOCALAPPDATA\Google\Chrome\User Data\Default\Web Data” など |
| <Browser>_key.txt | Chromium 系ブラウザの復号キー | “%LOCALAPPDATA\Google\Chrome\User Data\Local State”의 “encrypted_key” など |
| <Browser>_<Profile>_logins.json | Firefox のログイン情報 | “%APPDATA%\Mozilla\Firefox\Profiles\<ProfileName>\logins.json” |
| <Browser>_<Profile>_key4.db | Firefox Key DB | “%APPDATA%\Mozilla\Firefox\Profiles\<ProfileName>\key4.db” |
| <Browser>_<Profile>_formhistory.db | Firefox Form History | “%APPDATA%\Mozilla\Firefox\Profiles\<ProfileName>\formhistory.sqlite” |
| <Browser>_<Profile>_cert9.db | Firefox 証明書 DB | “%APPDATA%\Mozilla\Firefox\Profiles\<ProfileName>\cert9.db” |
| Wallets\<plugin_name>\<Browser>\<Profile>\… | 暗号資産関連ブラウザ拡張機能情報 | “%LOCALAPPDATA\Google\Chrome\User Data\Default\Local Extension Settings\<extension_id>\*”、 “%LOCALAPPDATA\Google\Chrome\User Data\Default\Sync Extension Settings\<extension_id>\*” など |
| Soft\Discord\tokens.txt | Discord トークン | “%APPDATA%\discord\Local State”、 “%APPDATA%\discord\Local Storage\leveldb\*.ldb/*.log”、 “%APPDATA%\discordcanary\…” など |
| Soft\Telegram\… | Telegram 情報 | “%APPDATA%\Telegram Desktop\tdata\key_datas”、 “%APPDATA%\Telegram Desktop\tdata\settingss”、 “Browser Local Storage\leveldb\*.ldb” など |
| Soft\Steam\… | Steam 情報 | インストールパスの ssfn* ファイル、”Steam config\config.vdf”、 “config\loginusers.vdf” など |
| Soft\Azure\… | Azure 情報 | “%USERPROFILE%\.azure\accessTokens.json”、 “%USERPROFILE%\.azure\azureProfile.json” など |
| Files\… | Grabber 条件に一致するファイル |
[表3] 情報窃取対象
4. まとめ
Vidar は、「入社志願書」や「著作権侵害」といったキーワードを用いたフィッシングメールによって拡散されている。
添付ファイルは文書ファイルを装っているため、ユーザーは通常の文書であると誤認してダウンロード・実行してしまう可能性がある。
感染すると、システム内に保存されている認証情報やユーザーファイルなどの機密情報が窃取される危険がある。
ユーザーはメールの添付ファイルだけでなく、出所が不明な実行ファイルの実行にも十分注意する必要がある。
また、V3 を常に最新バージョンへ更新し、マルウェア感染を未然に防止できるよう対策を講じることが重要である。
Categories: マルウェア, Uncategorized