韓国国内の DVR 管理ソフトウェアを通じて拡散された Wpcdoor 攻撃事例の分析

2026年10月27日、Huntress社は、DVR 管理ソフトウェアを悪用したマルウェアの拡散事例を公開した [1]。この事例で悪用されたのは、CCTV や DVR などの製品を開発する韓国国内企業のソフトウェアであり、アンラボの ASD ログによると、韓国国内でも感染ログが確認されている。同じ種類のマルウェアが今回の事例以外でも継続的に確認されていることから、攻撃者はさまざまな手法を用いてマルウェアを拡散しているとみられる。
本ブログでは、韓国国内で確認された攻撃事例と使用されたマルウェアを分析し、追加で収集された同種のマルウェアについても整理する。

 

1. 攻撃の流れ

1.1. DVR 管理ソフトウェア

Huntress社のレポートでは、韓国企業の DVR 管理ソフトウェアである CMS (Central Management Software) の 「CMS.exe」 によってマルウェアがインストールされたことが確認されている。ただし、この攻撃とソフトウェアの供給元との関係は不明であるとの記載がある。
アンラボのログでも同様に、「CMS.exe」 プロセスがマルウェア 「iphlpapi.dll」 を生成したログが確認された。この攻撃が脆弱性を悪用したものなのか、あるいは不適切な設定や標準でサポートされている機能を悪用したものなのかは、現時点では確認されていない。

[図1] CMS.exe プロセスによって生成されたマルウェア

 

1.2. マルウェアのインストール

A. CMS ソフトウェアが 「rs.win32.exe」 をインストールする過程で、マルウェア 「IPHLPAPI.DLL」 をダウンロードする。
B. 「IPHLPAPI.DLL」 は DLL Side-Loading 方式によって 「rs.win32.exe」 プロセスにロードされ、動作する。
C. 「IPHLPAPI.DLL」 はダウンローダーとして機能し、正規プログラム 「WpcMon.exe」 とマルウェア 「samcli.dll」 をインストールして実行する。
D. 「samcli.dll」 もダウンローダーとして機能し、バックドア型マルウェア Wpcdoor をダウンロードしてメモリ上で実行する。
E. Wpcdoor は感染システムの情報を窃取して C&C サーバーに送信し、その後、攻撃者からのコマンドを実行できる状態になる。

「rs.win32.exe」 は DVR 管理ソフトウェアであり、このファイルパスは以前から使用されている。具体的な仕組みは不明だが、一般的には CMS のアップデート処理や特定機能の有効化時に 「%APPDATA%\CMS\RemoteSetup\」 パスに 「rs.win32.exe」 と関連モジュールがインストールされるものと推定される。

なお、VirusTotal にアップロードされた圧縮ファイルには、 「rs.win32.exe」 と同プログラムの実行に必要な Qt ライブラリファイル、および 「IPHLPAPI.DLL」「IPHLPAPI_.DLL」 が含まれている。このうち、マルウェアは 「IPHLPAPI.DLL」 である。つまり、CMS によって以下のファイルが 「%APPDATA%\CMS\RemoteSetup\」 パスにインストールされたものと推定される。

[図2] 圧縮ファイルに含まれるユーティリティおよびマルウェア

その後、「rs.win32.exe」 が実行されると、同じパスに配置されたマルウェア 「IPHLPAPI.DLL」 が DLL Side-Loading 方式でロードされる。このマルウェアは、「%LOCALAPPDATA%\Microsoft\WpcMon\」 パスに正規のシステムファイルである 「WpcMon.exe」 とマルウェア 「samcli.dll」 をインストールし、「WpcMon.exe」 を実行する。
「WpcMon.exe」 は DLL Side-Loading 方式によって 「samcli.dll」 をロードする。このマルウェアもダウンローダーとして機能し、最終段階のバックドア型マルウェア Wpcdoor をダウンロードしてメモリ上で実行する。

[図3] WpcMon.exe プロセスによってロードされたマルウェア

 

2. マルウェアの分析

2.1. 第1段階のダウンローダー (IPHLPAPI.DLL、QtCore4.dll)

「IPHLPAPI.DLL」 は 「rs.win32.exe」 によってロードされて実行される。このファイルは GetAdaptersInfo() API をエクスポートしており、同 API が呼び出されると、同じパスに存在する実際の正規ファイル 「IPHLPAPI.DLL」 の GetAdaptersInfo() を呼び出す。

実行時には C&C サーバーに接続し、ダウンロードするファイルを要求する。この際、「WpcMon.exe」 と 「samcli.dll」 の2つのファイルが要求される。通信パケットはシグネチャ 「WPCF」 で始まり、末尾に要求するファイル名が含まれる。

[図4] ファイルのダウンロード要求時のパケット

Offset Size Request Response
0x00 0x04 “WPCF” “WPCF”
0x04 0x02 00 01 00 01
0x06 0x02 00 10 00 20
0x08 0x04 ランダムデータのサイズ 暗号化されたデータのサイズ
0x0C 0x04 Checksum Checksum
0x10 – ランダムデータ (0x14) 暗号化されたデータ
0x24 – ダウンロードするファイルの名前 N/A

[表1] ダウンロード要求時のパケット構造

ダウンロードしたペイロードは 0x82615458 キーを使用して XOR 復号され、「%LOCALAPPDATA%\Microsoft\WpcMon\」 パスに生成された後、「WpcMon.exe」 が実行される。現時点では接続できないものの、Huntress社のレポートおよび ASD のログから、第2段階のダウンローダーがインストールされたものと推定される。

  • ダウンロードパス – 1 : %LOCALAPPDATA%\Microsoft\WpcMon\WpcMon.exe
  • ダウンロードパス – 2 : %LOCALAPPDATA%\Microsoft\WpcMon\samcli.dll

[図5] ダウンロード処理

なお、今回の攻撃事例以外にも 「QtCore4.dll」 という名前の第1段階のダウンローダーが追加で確認されている。「QtCore4.dll」 は上記の種類と実質的に同じ構造であるが、ダウンロードパスなどに違いがある。
このマルウェアは、以下のパスに第2段階のダウンローダーを 「rsaenh.dll」 という名前でダウンロードする。その後、環境変数 「WINDIR」「SYSTEMROOT」 を 「%LOCALAPPDATA5\Microsoft\Windows\」 パスに変更し、「C:\Windows\Sysnative\FileHistory.exe」 ファイルを実行する方式が使用される。

  • ダウンロードパス : %LOCALAPPDATA%\Microsoft\Windows\System32\rsaenh.dll

 

2.2. 第2段階のダウンローダー (samcli.dll、rsaenh.dll)

第2段階のダウンローダーである 「samcli.dll」 はダウンローダーとして機能し、ファイル形式ではなく、メモリ上でダウンロードしたペイロードを実行する。
最初に実行されると Mutex を確認し、その後 C&C サーバーと通信する。通信パケットの構造と復号に使用される XOR キーも第1段階のダウンローダーと同じである

  • Mutex : Global\81669d8b1539333e96b84c2e5c4dba5d

「QtCore4.dll」 の事例では、「samcli.dll」 の代わりに 「rsaenh.dll」 がダウンロードされる。「rsaenh.dll」 も第2段階のダウンローダーと同じ構造である。

[図6] バックドアのダウンロード要求時のパケット

 

2.3. Wpcdoor バックドア

最終的に実行されるのはバックドアであり、感染システムの情報を窃取する機能を備えている。本ブログでは、悪用されるプロセス名 「WpcMon.exe」 と、ダウンローダーが使用するシグネチャ文字列 「WPCF」 を参考に、このマルウェアを Wpcdoor と分類する。

Wpcdoor が実行されると Mutex を確認し、Run キーに 「WpcMon」 という名前で登録する。その後、識別子 (UUID)、ユーザー名、コンピューター名、OS バージョンの情報を取得し、スクリーンショットを撮影して C&C サーバーに送信する。
特筆すべき点として、同じパスに 「zlib.dll」 ファイルが存在するかどうかも確認し、その結果を送信する機能がある。その後、C&C サーバーからコマンドを受け取り、以下の機能を実行する。

コマンドコード 機能
0x01 スクリーンショットの撮影
0x02 クリップボード情報の窃取
0x03 クリップボードの内容の変更
0x06 ファイルのダウンロード/アップロード
0x07 コマンドの実行
0x08 ファイルの検索
0x09 File Grabber
0x0B / 0x0C ポートフォワーディング
0x0D Web ブラウザーに保存されたユーザー情報の窃取
0x0E 特定プロセスのメモリダンプおよび窃取
0x0F ウォレット関連プロセスのメモリ内のキーワード検索および窃取
0x11 プロセスの終了
0x12 アップデート
0x13 HVNC (172.86.127[.]14:8443)

[表2] 対応するコマンド

コマンドのうち、0x0D では、認証情報だけでなく、Cookie、閲覧履歴 (History)、カード番号などの情報も窃取する。
また、0x09 では、以下のユーザーフォルダー内から C&C サーバーより指定されたファイル名を検索し、該当するファイルを窃取する。

  • File Grabber 対象フォルダー : Desktop、Downloads、Documents、Pictures、Videos、OneDrive、AppData

0x0F では、指定されたプロセスのメモリ内から、ハードコードされた以下のウォレット拡張機能 ID を検索する。一致するものが見つかった場合、メモリ内から特定のパターンに一致する文字列を検索する。ウォレット拡張機能を対象としていることから、ウォレットを復元するための単語群であるシードフレーズを窃取するものと推定される。

  • MetaMask (Chrome) : nkbihfbeogaeaoehlefnkodbefgpgknn
  • MetaMask (Edge) : ejbalbakoplchlghecdalmeeeajnimhm
  • Coinbase : hnfanknocfeofbddgcijnmhnfnkdnaad
  • Phntom : bfnaelmomeimhlpmgjnjophhpkkoljpa
  • Trust : egjidjbpglichdcondbcbdnbeeppgdph
  • Ronin : fnjhmkhhmkbjkkabndcnnogagogbneec
  • Binance : fhbohimaelbohpjbbldcngcnapndodjp
  • TronLink : ibnejdfjmmkpcnlpebklmnkoeoihofec
  • Solflare : bhhhlbepdkbapadjdnnojkbgioiodbic
  • SecondFi : ffnbelfdoeiohenkjibnmadjiehjhajb

なお、C&C サーバーから受信するコマンドとは別に、Wpcdoor は C&C サーバーに対して以下のデータも送信する。

応答コード 機能
0x00 初回接続時の情報送信
0x01 一定間隔でのスクリーンショット送信
0x04 キーロギング情報の送信
0x05 クリップボード情報の送信
0x0A Heartbeat
0x10 条件に一致したクリップボードテキストの送信

[表3] 送信データ

 

3. まとめ

最近、韓国国内の DVR 管理ソフトウェアを悪用してマルウェアを拡散した事例が確認された。AhnLab SEcurity intelligence Center (ASEC) では、この攻撃者を Larva-26013 に分類している。Larva-26013 は韓国国内だけでなく、ほかの攻撃事例でも Wpcdoor をインストールしている。
攻撃者は、最終的にインストールした Wpcdoor バックドアを利用して感染システムに保存されているユーザー情報を窃取することができる。
ユーザーは、製造元が提供するソフトウェアおよび OS に最新のセキュリティパッチを適用するとともに、悪用されたソフトウェアのセキュリティ設定を点検する必要がある。また、当該ソフトウェアおよび連携システムで使用している ID/パスワードを直ちに変更する必要がある。

 

MD5

0a9cb414b53536ad8fc217fc46a2cf56
14746a3aa1d1882a53d244b39e6895b3
2376baa1ba3a918f754db6bbc15cb1d7
6bafd9065f68ecd5778b8c828bb17134
7e42d1461339572111a2eedfff42e1c2
IP

144[.]172[.]116[.]37
172[.]86[.]127[.]14
172[.]86[.]127[.]89

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

Categories: マルウェア, Uncategorized

Tagged as: