1. 概要
AhnLab SEcurity intelligence Center (ASEC) は最近、Larva-26005攻撃者が韓国ユーザーを対象として Xctdoor を拡散していることを確認した。Xctdoor は2024年に ASEC ブログを通じて公開されており [1]、2026年3月には Hauri社から統合セキュリティプログラムを装った攻撃事例が公開された [2]。
ASEC は Larva-26005攻撃者による攻撃およびマルウェアを分析する中で、Xctdoor が過去の CRAT マルウェアの拡散事例と関連性を持つことを確認した。CRAT は2020年に初めて確認され、スピアフィッシング攻撃や韓国コミュニティサイトへのアップロードによる拡散など、韓国ユーザーを対象としたさまざまな攻撃事例で使用されてきた。Cisco Talos の報告書によると、Hansom ランサムウェアをインストールして感染システムを暗号化していたが、韓国の ASD ログでも同じタイプの攻撃事例が確認された。CRAT を扱ったセキュリティ企業は攻撃者を Lazarus グループと推定しており、北朝鮮を基盤とする別の攻撃事例でも関連情報が確認されている。つまり、Larva-26005攻撃者は少なくとも2020年から活動しており、初期には Hansom ランサムウェア攻撃の過程で CRAT と Xctdoor を併用していたが、最近では Xctdoor のみを使用しているとみられる。
本ブログでは、まず2026年に確認されたセキュリティプログラムを装った攻撃事例を整理する。最初の拡散事例は不明だが、セキュリティプログラムの Veraport と SoftCamp を装ったドロッパーとしてインストールされた。この攻撃事例では、最終的に Xctdoor がインストールされており、C++ で作成されたタイプと Go 言語で作成されたタイプの2種類が使用された。最近では LNK マルウェアを介して拡散されていることから、新たに確認された攻撃事例についても整理する [3]。さらに、韓国で確認された CRAT 攻撃事例について取り上げる。この事例では、Hansom ランサムウェアとともに CRAT および Xctdoor の初期バージョンが攻撃に使用された。2つのマルウェアは同じタイミングでインストールされ、最近まで悪用されている AppX パッケージパスをインストールパスとして使用している。また、Xctdoor と同様に、難読化されたコードを実行中に復号してから実行するほか、難読化されたコードの前後にある開始パターンと終了パターンを検証する点も同じである。最後に、過去に知られている攻撃事例をもとに、他の攻撃者との関連性を整理する。
2. 2026年の攻撃事例
2.1. セキュリティプログラムを装った事例
2026年3月、Hauri社が Xctdoor を悪用した攻撃事例を取り上げた。この報告書では Veraport を装ったインストールファイルを扱っているが、同じアドレスから SoftCamp を装ったタイプも拡散されていた。

[図1] 圧縮ファイル内のマルウェアおよび正常なプログラム
圧縮ファイルを解凍すると、”setup” フォルダー内に正常な実行ファイルと悪性 DLL が存在する。Veraport を装った圧縮ファイルには、Sysinternals の ShellRunAs が Veraport を装った名前 “veraport-q3.exe” として存在し、実行すると DLL Side-Loading 方式によって同一パスに存在する “credui.dll” という悪性ドロッパーがロードされて実行される。実行中に実際の Veraport インストールファイルを “%TEMP%\veraport-q3.exe” パスに生成して実行し、正常なインストールプログラムに偽装する。
SoftCamp を装った圧縮ファイルには、Microsoft のプログラムである “wkspbroker.exe” が SoftCamp のインストールファイルを装って “SCWSSPSetup.exe” という名前で存在し、実行するとローダーマルウェア “RADCUI.dll” をロードする。なお、ローダーマルウェアは同一パスに存在する “Setup.dat” を復号するが、これが実際の SoftCamp 正常インストールプログラムである。

[図2] Veraport インストールプログラム

[図3] SoftCamp インストールプログラム
DLL Side-Loading 方式によってドロッパーが実行されると、3つのファイルが生成される。まず、VBS ランチャーマルウェアである “%PUBLIC%\videos\s{random}.vbs” が実行される。”s{random}.vbs” は同一パスに存在する BAT ダウンローダーマルウェア “%PUBLIC%\videos{random}.bat” を実行する。”{random}.bat” はダウンローダー機能を実行すると同時に、同一パスに存在する VBS ダウンローダーマルウェア “%PUBLIC%\videos\p{random}.vbs” をタスクスケジューラに登録する。
| Type | パス | 生成方式 |
|---|---|---|
| VBS Launcher | %PUBLIC%\videos\s{random}.vbs | ドロッパー |
| VBS Downloader | %PUBLIC%\videos\{random}.bat | ドロッパー |
| VBS Downloader | %PUBLIC%\videos\p{random}.vbs | ドロッパー |
| PS Launcher | %PUBLIC%\videos\2.ps1 | ダウンロード |
[表1] 生成されるスクリプトファイル
“{random}.bat” は XcLoader と Xctdoor をダウンロードし、”p{random}.vbs” は PowerShell スクリプト “%PUBLIC%\videos\2.ps1” をダウンロードする。
| Type | ダウンロードアドレス | ダウンロードファイル | ダウンロードパス |
|---|---|---|---|
| BAT Downloader | hxxps://hesenorm[.]info/download/xtps | 暗号化された Xctdoor | %PUBLIC%\videos\x{random} |
| hxxps://hesenorm[.]info/download/lcpy | 暗号化された XcLoader | %PUBLIC%\videos\x{random} | |
| VBS Downloader | hxxps://hesenorm[.]info/download/pxt2 | PowerShell ランチャー | %PUBLIC%\videos\2.ps1 |
[表2] ダウンロード対象
PowerShell スクリプト “%PUBLIC%\videos\2.ps1” は、ダウンロードした x{ランダム名}ファイル、すなわち暗号化された Xctdoor を以下のパスに移動する。
- 原本 : C:\Users\Public\Pictures\x{random}
- 対象 : %LOCALAPPDATA%\Packages\Microsoft.MicrosoftOffice365Hub_8wekyb3d8bbwe\Settings\roaming.dat
また、”l{random}” ファイル、すなわち XcLoader を XOR 復号した後、以下のパスに移動する。
- 原本 : C:\Users\Public\Pictures\l{random}
- 対象 : %LOCALAPPDATA%\Packages\Microsoft.MicrosoftOffice365Hub_8wekyb3d8bbwe\Settings\settings.lock
XOR 復号方式は以下のとおりである。
- Xor 復号方式 : Decrypted_Data = (Encrypted_Data ^ 0x11 ^ ((i * i) mod 0xFF)

[図4] PowerShell スクリプトの復号ルーチン
ここまでの処理が完了すると、永続性を維持するためにスタートアップフォルダーにショートカットを作成して実行する。これは XcLoader を RegSvr32 経由で実行するコマンドである。
- 実行コマンド : C:\WINDOWS\system32\regsvr32.exe /s %LOCALAPPDATA%\Packages\Microsoft.MicrosoftOffice365Hub_8wekyb3d8bbwe\Settings\settings.lock
2.2. LNK 攻撃事例
Larva-26005攻撃者による攻撃事例は継続的に確認されており、自社 ASD ログで確認される攻撃の大部分はスピアフィッシングによるものと推定される。初期侵入の過程では LNK が使用される。LNK マルウェアはドロッパーとして上記のセキュリティプログラム偽装事例と同様におとり文書ファイルを表示すると同時に3つのスクリプトファイルを生成して実行する。以下は、2026年4月の攻撃事例で確認された “***_総合状況_(社外秘)_26.4.4.lnk” マルウェアが生成するおとり文書ファイルである。

[図5] おとり文書ファイル
LNK マルウェアは以下のようなコマンドを実行して VBS Launcher、BAT Downloader、VBS Downloader を生成し、その後の動作は上記の事例と同じである。

[図6] LNK が実行する PowerShell コマンド
攻撃は2026年6月と7月にも継続しており、攻撃事例では以下のような LNK ファイルの実行が確認された。拡散された LNK の名前から、一般ユーザーだけでなく企業ユーザーも標的としているとみられる。
- ** 残高明細書.lnk
- 2.敷金投資.lnk
- 賃貸契約特約整理.lnk
- 返金申請書 1.lnk
- 異議申立て.lnk
- 商品登録.lnk
- (RESUME)_***** Cloud&CDN 営業_***.LNK
- フィッシングサイト増加に伴う *** 利用時のセキュリティ注意事項のご案内.lnk
- ** ストーリーボード_v1.0_260604.lnk
- PREE-12月1次 **** TT.lnk
- ポリシー有線 (4).lnk
- µTorrent.lnk
- ディスククリーンアップ.lnk
- 入力資料.lnk
2.3. 2024年の攻撃事例
ASEC は2024年にも Larva-26005攻撃者による韓国を対象とした攻撃事例を確認している。まず、管理されていない Windows IIS Web サーバーを攻撃して Web Shell をインストールした後、XcLoader と Xctdoor をインストールした事例があった。攻撃者はバックドアのインストールだけでなく、Ngrok というトンネリングプログラムもインストールし、外部から NAT 環境内部に存在するシステムへ接続できる状態にしていた [4]。

[図7] Web サーバーを攻撃して XcLoader をインストールするログ
別の事例では、外部に公開されていたグループウェアシステムのアップロードページを介して初期侵入を試みたものと推定される。脆弱なファイルアップロードページを利用して攻撃者は Web Shell をアップロードし、グループウェアシステムに対する初期の制御権を確保した。この攻撃事例の特徴の1つは、オープンソースメッセンジャーである BeeBEEP のインストールファイルを改ざんして Xctdoor を生成・実行するルーチンを挿入し、グループウェアに存在する既存のインストールファイルを悪性インストールファイルに置き換えて内部へ拡散した点である [5]。
攻撃者はこのほかにも韓国の ERP ソリューションを悪用していた。更新機能を担当するモジュールに Regsvr32.exe プロセスを利用して悪性 DLL を実行するルーチンを挿入していた。当該プログラムによって実行された DLL は、Go 言語で開発された Xctdoor であった。
3. マルウェア分析
3.2. XcLoader
3.2.1. XcLoader の分析
LNK によって RegSvr32 プロセスにロードされて実行される “settings.lock” はインジェクターマルウェアである。攻撃者は2024年の事例でも XcLoader を利用して Xctdoor を正常なプロセスにインジェクションしていた。過去には Go 言語で作成されたタイプと C++ で作成されたタイプの2種類が使用されていた。XcLoader は同一パスに存在する Xctdoor マルウェア “roaming.dat” ファイルを読み込み、以前の PowerShell スクリプトと同じ XOR アルゴリズムで復号する。
- Xor 復号方式 : Decrypted_Data = (Encrypted_Data ^ 0x11 ^ ((i * i) mod 0xFF)
その後、同じパスにある settings.ini ファイルの有無を確認する。今回の事例では settings.ini は確保されなかったが、過去の類似事例で確認されたファイルは以下のとおりである。
- ApplicationFrameHost.exe
- Runtimebroker.exe
- sihost.exe
- taskhostw.exe
- explorer.exe
“settings.ini” ファイルが存在する場合、同ファイルに文字列として保存されたプロセス名を取得した後、そのプロセスに先ほどデコードした roaming.dat PE ファイルをインジェクションする。settings.ini ファイルが存在しない場合は “explorer.exe” プロセスにインジェクションする。インジェクションの過程では roaming.dat PE ファイルをメモリに2回コピーする。その後、Xctdoor の Export 関数である RsdserviceMain() を実行するためのシェルコードを挿入し、そのシェルコードを実行する。結果として、RsdServiceMain() 関数には以下の5つのパラメータが渡される。
- パラメータ 1 : 0
- パラメータ 2 : プロセスインジェクションに使用する Xctdoor (roaming.dat) のアドレス
- パラメータ 3 : Xctdoor のメイン関数名 (OfficeServiceMain()) のハッシュ値 (0x46903DF2)
- パラメータ 4 : ファイルとして保存する Xctdoor (roaming.dat) のアドレス (コード難読化 XOR キーの変更対象)
- パラメータ 5 : Xctdoor (roaming.dat) ファイルサイズ
なお、パラメータ3は、バックドアのメイン関数である OfficeServiceMain() 関数を探すために使用されるハッシュ値である。
3.2.2. コード難読化
DLL Side-Loading 方式で動作するドロッパーから XcLoader、さらに Xctdoor まで、すべてコード領域が難読化されており、実行中にコード領域を復号して実行する。この方式は過去の事例から継続的に使用されている。
難読化ルーチンは2つのタイプに分類され、どちらのタイプも同じ難読化解除ルーチンを使用する。ただし、難読化されたコード領域を探す方法はタイプごとに異なる。また、サンプルごとに難読化コード領域を識別するためのシグネチャ値と難読化キーの値がそれぞれ異なるように設定されている。難読化が適用された関数は、実行開始時に難読化解除ルーチンを呼び出してコード領域を復元した後、本来の機能を実行する。その後、関数終了直前に再び難読化ルーチンを呼び出し、復元したコード領域を難読化状態に戻す。
1つ目のタイプは、難読化されたコード領域を探索する際に10バイト長のシグネチャを使用する。
- 暗号化されたコード領域の構造 : {開始シグネチャ:10} {任意データ:7} {難読化コード} {終了シグネチャ:10}

[図8] 1つ目のタイプの難読化解除ルーチン
2つ目のタイプの場合、難読化されたコード領域を探す際に、開始シグネチャと終了シグネチャがそれぞれ2つに分割されている点が特徴である。開始シグネチャは14バイトの範囲内にある前方4バイトと後方4バイトを基準として確認し、終了シグネチャも同じ方法で確認する。全体の構造は以下のとおりである。
- 暗号化されたコード領域の構造: {開始シグネチャ_1:4} {中間データ:6} {開始シグネチャ_2:4} {任意データ:5} {難読化コード} {任意データ:1} {終了シグネチャ_1:4} {中間データ:6} {終了シグネチャ_2:4}

[図9] 2つ目のタイプの難読化解除ルーチン
3.3. Xctdoor の分析
3.3.1. Xctdoor (C++)
現在インジェクションされた “roaming.dat”、すなわち Xctdoor は RAW 形式でメモリにロードされているため、そのまま実行することはできない。そのため、RsdServiceMain() 関数を通じて追加でメモリを割り当てた後、そのファイルを PE イメージ形式で再度ロードする。メモリへのロードが完了すると、DLL の手動マッピング処理を行い、DllEntryPoint() 関数を呼び出す。その後、引数として受け取った “OfficeServiceMain” 文字列のハッシュ値と Export 関数を比較し、OfficeServiceMain() 関数のアドレスを探して実行する。
OfficeServiceMain() 関数は、本格的なバックドア機能を実行する関数である。この関数はバックドア機能を実行する前に、4番目のパラメータとして渡されたバックドア PE ファイル内部の難読化シグネチャ値とキー値を変更した後、再暗号化して “roaming.dat” ファイルとして保存する。この動作は、ファイルの内容を継続的に変更することでウイルス対策プログラムによる静的シグネチャベースの検知を回避することが目的と推定される。
Xctdoor が実行されると、以下の3つの条件を利用してユーザー不在状態を確認する。ユーザー不在状態が変更されるたびに、変更された状態情報を C&C サーバーへ送信する。
- ユーザー不在状態の条件 (OR 条件)
- スクリーンセーバー On
- モニターのディスプレイ Off
- セッションロック状態 On
その後、C&C サーバーに接続し、攻撃者からコマンドを受信する。このバックドアが C&C サーバーから受信するコマンドは以下のとおりである。
| コマンド番号 | 説明 | 完了後の送信番号 |
|---|---|---|
| 0x10001 | シェルセッションオブジェクトを生成 | |
| 0x10002 | シェルセッション終了時の終了方法を選択 – 1の場合はシェルセッションのプロセスのみ終了 – 0の場合はシェルセッションおよび子プロセスまで終了 |
|
| 0x10003 | シェルコマンドを受信 | 3 |
| 0x10004 | すべてのドライブ情報を取得 | 4 |
| 0x10005 | 特定フォルダー内のファイル一覧を取得 (ファイル名、ファイル属性、ファイルサイズ、最終書き込み時刻) |
5 |
| 0x10006 | ファイル (or メモリ) のダウンロードを準備 | 成功: 6 失敗: 7 |
| 0x10007 | ファイル (or メモリ) のダウンロードを実行 | 成功: 6 失敗: 7 |
| 0x10008 | ファイル (or メモリ) のダウンロードを完了 – ファイルの場合は指定されたファイル時刻、ファイル属性を適用 – メモリの場合は特定のプロセスにインジェクション |
ファイル: 送信しない メモリ: 成功 20 |
| 0x1000A | 特定のファイル/フォルダーを削除 (配下を含む) | 5 |
| 0x1000B | 指定したパスにフォルダーを作成し、親フォルダー内のファイル一覧を取得 | 5 |
| 0x1000C | ファイル (or メモリ) のダウンロードをキャンセル | |
| 0x1000D | ファイルアップロードを準備 (ファイルサイズを送信) | 成功: 8 失敗: 7 |
| 0x1000E | ファイルアップロードを実行 | アップロード中: 9 完了: 10 失敗: 7 |
| 0x10010 | システム情報を取得 | 12 |
| 0x10011 | ウィンドウを表示した状態でコマンドを実行 (ShellExecute を利用) | |
| 0x10012 | ウィンドウを非表示にした状態でコマンドを実行 (CreateProcess を利用) | |
| 0x10015 | バックドアを終了 (後処理まで実行) | |
| 0x10016 | プロセス一覧を取得 (PID、PPID、スレッド数、プロセスパス) | 16 |
| 0x10017 | 特定のプロセスを終了 | 16 |
| 0x10018 | キーロギングを開始 | |
| 0x10019 | キーロギングを終了 | |
| 0x1001A | 何もしない | |
| 0x1001B | 現在の通信セッションを終了 | |
| 0x1001F | バックドアを強制終了 (0を送信した場合/Exception 発生) | |
| 0x10021 | 複数のコマンドを実行 (cmd/c を利用) | 22 |
| 0x10022 | 設定を変更 (通信間隔、ポート番号、定期的なキーロギング/スクリーンショットの有無、スクリーンショット間隔、ドライブ監視の有無など) |
|
| 0x10024 | スクリーンショットを即時撮影 | 24 |
| 0x10025 | %ALLUSERSPROFILE%\msci.cng ファイルを再設定 (通信パケットヘッダーで使用するデータ) | 12 |
| 0x10026 | 共有メモリを生成してデータを保存
共有メモリ名 : SM3:2300:402:WilStaging_01 |
|
| 0x10027 | 共有メモリを解放 | |
| 0x10028 | 現在実行されているプロセス名を取得 | 26 |
| 0x10029 | ファイル/フォルダーを移動 | 5 |
[表3] Xctdoor がサポートするコマンド
データを送信する際は、以下の送信番号を基準にデータを区別して C&C サーバーに送信する。
| 送信番号 | 説明 |
|---|---|
| 3 | シェルコマンドの結果を送信 |
| 4 | すべてのドライブの結果を送信 |
| 5 | 特定フォルダー内のファイル一覧を送信 |
| 6 | ダウンロードの準備完了 |
| 7 | ダウンロード/アップロードに失敗 |
| 8 | ファイルアップロードの準備完了 |
| 9 | ファイルアップロードを実行 |
| 10 | ファイルアップロード完了 |
| 12 | システム情報を送信 |
| 15 | ユーザー不在を通知 |
| 16 | プロセス一覧を送信 |
| 17 | キー入力のたびにキーログデータを送信 |
| 18 | クリップボードの内容が変更されるたびにデータを送信 |
| 19 | アクティブウィンドウが変更されるたびにキーログデータを送信 |
| 20 | ダウンロードおよびインジェクション完了 |
| 22 | 複数コマンドの実行結果を送信 |
| 23 | 変更されたドライブ情報を送信 |
| 24 | スクリーンショットを送信 |
| 25 | 新しいドライブが接続された際に通知 |
| 26 | インジェクションされたプロセス名を送信 |
[表4] バックドアが C&C サーバーへの送信時に使用する番号
3.3.2. Xctdoor (Go)
2024年の事例と同様に、Go 言語で作成された Xctdoor も確認されている。C++ で作成されたタイプと比較すると、ユーザー不在状態の監視条件、コマンド番号、送信番号のいずれも実質的に同一のマルウェアである。

[図10] Go 言語で作成された Xctdoor
4. CRAT 攻撃事例
4.1. CRAT
CRAT は2020年4月から確認されているバックドア型マルウェアであり、主に韓国のユーザーを対象としてさまざまな方法で拡散された。
初めて発見された CRAT は、CVE-2017-8291 の脆弱性を悪用する “コロナウイルス対応緊急照会.hwp” というファイル名のハングル文書を利用したスピアフィッシング攻撃によって拡散された [6]。その後、韓国のコミュニティサイトにアップロードされた改ざんプログラムから CRAT をドロップしたり [7] ダウンロードさせたりする方式へと攻撃ベクトルを拡大した。また、韓国の学術関連サイトでは、ハングル文書形式のマルウェアを “お知らせ” に関連する文書に偽装した状態でアップロードするケースも確認された。

[図11] 2020年4月、コロナ関連のテーマで拡散されたハングル文書によるスピアフィッシング攻撃事例

[図12] 2020年7月、韓国のコミュニティサイトにアップロードされて拡散された事例
初期に拡散された CRAT は、PDB パスに “crat” というキーワードが存在することから CRAT として分類され、詳細な分析情報は TI レポートに掲載されている [8]。CRAT は HTTP プロトコルを利用して C&C サーバーと通信するバックドア型マルウェアであり、システム情報の収集、ファイル操作、コマンド実行、追加ペイロードのダウンロード、ユーザーファイルの圧縮および窃取などの機能を備えている。実行時には正常なプロセスにインジェクションして動作し、自身を “%LOCALAPPDATA%\Microsoft\WindowsApps\Microsoft.MicrosoftEdge_8wekyb3d8bbwe<ランダム8>.<ランダム3>” のようなパスに生成した後、RegSvr32 でこれを実行する LNK ファイルを Run キーに登録する。
CRAT は追加モジュールとともに使用されることもある。”\.\pipe\ChromeUpdatePipe” という名前の Named Pipe への接続を試み、接続に成功するとペイロードを送信する。併せてインストールされたインジェクターモジュールがこの Named Pipe を読み込み、受け取ったペイロードを正常なプロセスにインジェクションすることができる。

[図13] CRAT のミューテックス名
4.2. Xctdoor とともに拡散された韓国国内の攻撃事例
CRAT は、Hansom ランサムウェアを含むさまざまなプラグインを使用することが知られており、代表的なものとしてキーロガー、スクリーンキャプチャ、クリップボード監視などがある。2020年の Cisco Talos の報告書と同様に、CRAT が Hansom ランサムウェアとともにインストールされた事例が韓国を対象とした攻撃事例で確認された。
それぞれの攻撃事例では、CRAT、Hansom ランサムウェアのほか、Named Pipe を介して受け取ったペイロードをインジェクションするインジェクターや、複数の Web ブラウザを対象とした認証情報窃取ツールなども併せて収集されていた。

[図14] Hansom ランサムウェアのランサムノート
- 攻撃者メールアドレス – 1 : hansom2008@protonmail[.]com
- 攻撃者メールアドレス – 2 : hansompay2008@yandex[.]com
Hansom ランサムウェア攻撃事例の最大の特徴は、Xctdoor の初期バージョンが Hansom ランサムウェアとともに使用されていた点である。同じタイミングで併用されていたことに加え、マルウェアのインストールパスも同一である。
“%LOCALAPPDATA%\microsoft\windowsapps\microsoft.microsoftedge_8wekyb3d8bbwe” のような AppX パッケージのパスは、過去の CRAT から2026年の事例における Xctdoor まで継続的に使用されている。
このほか、攻撃に使用された CRAT も Xctdoor と同様にコードを難読化している点が挙げられる。暗号化された領域の開始を示すパターンが以下のようにコードとして存在し、終了を示すパターンまで復号を行う点は両方のマルウェアで共通している。
- 開始コマンド 1: C7 05 … 0xE840C764
- 開始コマンド 2: C7 05 … 0xB988C344
- 開始コマンド 3: C7 05 … 0xFFE8CC02
- 開始コマンド 4: C7 05 … 0x80D43F05
- 終了コマンド 1 : C7 05 … 0x81C6D232
- 終了コマンド 2 : C7 05 … 0xC902D654
- 終了コマンド 3 : C7 05 … 0xC8E404F0
- 終了コマンド 4 : C7 05 … 0x7C01F922

[図15] 難読化解除ルーチンと難読化された開始パターン
4.3. 攻撃者情報
2020年に韓国のユーザーを対象として CRAT を拡散したスピアフィッシング攻撃事例について、East Security は、Lazarus グループが C&C サーバーを構築する際に WordPress ベースの Web サイトを利用している点を理由として Lazarus グループを攻撃者として分類した [9] [10]。Cisco Talos も攻撃者を特定することは困難であるとしながらも、Lazarus が使用する手法と類似する側面があるとして Lazarus グループとの関連性について言及している。類似点としては、Lazarus グループが使用する他のマルウェアと同じ HTTP Wrapper ライブラリを使用している点、RAT 機能が重複している点、ランサムウェアを拡散している点、WordPress ベースの Web サイトを C&C サーバーとして使用している点などがある。
このほか、CRATのおとり文書ファイルから、韓国語を使用するユーザーを対象としている点も指摘されている。
2020年9月には、QiAnXin社が Lazarus 攻撃者によるスピアフィッシング攻撃事例を取り上げた [11] [12]。この攻撃事例で使用されたダウンローダーマルウェアの C&C サーバーアドレスとして “www.fabioluciani[.]com” が確認されている。このアドレスは Kaspersky社の報告書で取り上げられた、ThreatNeedle を利用した Lazarus 攻撃者による防衛産業を対象とした攻撃事例 [13] や、セキュリティ研究者を対象とした北朝鮮系と推定される攻撃者の攻撃キャンペーンを取り上げた Google TAG の報告書にも含まれている [14]。
攻撃者は2024年の攻撃事例において、永続性を維持する目的で韓国の ERP ソリューションにパッチを適用し、マルウェアを実行するために利用していた。この点は Andariel 攻撃者の攻撃手法とも類似している。Andariel 攻撃者は2017年だけでなく、2025年にも韓国の ERP ソリューションを攻撃してマルウェアを拡散した事例が確認されている [15]。ASEC はこの攻撃者を Larva-26005 に分類し、北朝鮮との関連性があるとみている。最近確認された攻撃では XcLoader と Xctdoor をインストールしており、最近ではランサムウェア攻撃事例は確認されていないものの、感染システムの情報を収集する活動は継続している。
5. まとめ
Larva-26005攻撃者は、投資、不動産取引、営業、セキュリティ文書などのキーワードを利用したフィッシングメールを通じてマルウェアを拡散しており、セキュリティプログラムのインストールファイルを偽装して拡散した事例も存在する。ユーザーは文書ファイルや正常なプログラムだと思ってファイルをダウンロードして実行する可能性があり、その場合 XcLoader および Xctdoor バックドアがインストールされ、システムの制御権を奪われる可能性がある。攻撃者はバックドアだけでなく情報窃取ツールもインストールするため、認証情報やユーザーファイルなどの機密情報が窃取される可能性がある。
ユーザーはメールの添付ファイルだけでなく、出所が不明な実行ファイルにも十分注意する必要がある。また、V3 を最新バージョンにアップデートし、マルウェアへの感染を事前に防止できるよう対策する必要がある。