


概要
XにLazarusに分類されたドメインが報告され、該当ドメインに存在するマルウェアを確保した。
確保したマルウェアを分析した結果、Lazarusが使用するComebackerマルウェアの新規変種であることが確認された。
C&Cサーバーのインフラを分析する過程で、追加のC&CサーバードメインとComebackerマルウェアを確保して分析した。
1. 概要
XのThreatBookLabs投稿からLazarusに分類されたドメインが報告(25.06.19)され、該当ドメインに存在するdocxファイルに偽装したマルウェアを確保して分析した。
分析の結果、該当のマルウェアはLazarusが使用するComebackerマルウェアの新規変種であることが確認され、C&Cサーバーのインフラ分析過程で2025年3月に流布されたと推定されるComebackerマルウェアも追加で確保することができた。
本稿では、新規変種であるComebackerマルウェアに対する分析内容と攻撃の変遷過程について言及する。
1.1. Comebacker
Comebackerマルウェアは、2021年のGoogle Threat Analysis Groupのブログ記事で最初に報告されたマルウェアであり、C&CサーバーからDLLファイルをダウンロードして実行する方式のダウンローダー/バックドアである。Microsoftによって最初にComebackerと命名され、現在までLazarusマルウェアとして知られている。
2024年には、PyPIパッケージにComebackerマルウェアが挿入されて配布されたことが確認されており、2021年から継続的に流布されている。
2. マルウェア解析
2.1. C&Cサーバーのオープンディレクトリ
マルウェアが発見されたC&Cサーバーのアドレスはoffice-theme[.]comである。dat、tmp、binなど複数の拡張子ファイルが存在していたが、datまたはtmpが拡張子のファイルはダウンロードできなかった。
![악성코드가 발견된 office-theme[.]com 접속 화면](https://framerusercontent.com/images/JSHX5DKDY1VRBxuSusOyqsTEA.png)
caption - マルウェアが発見されたoffice-theme[.]comのアクセス画面
ダウンロードできるファイルのうち、bin拡張子のファイルはdocxファイルで、VBAマクロが挿入されたマルウェアである。計4つのdocxファイルが存在し、おとりファイルは異なるが、すべて同一のマルウェアを生成する。
2.2. Comebackerドロッパー
docxファイルは、追加のマルウェアとおとりファイルを生成して実行するドロッパーである。
docxファイルに挿入されたVBAマクロはolevbaを使用して抽出した。

caption - olevbaを使用して抽出したVBAマクロコード
VBAマクロはdocxファイルが実行された際、16進文字列として保存されたローダーマルウェアとおとり文書を復号して保存する。ローダーマルウェアとおとり文書のファイルパスは以下の通りである。
ローダーマルウェア: C:\ProgramData\WPSOffice\wpsoffice_aam.ocx
おとり文書: C:\ProgramData\Document\EDGE_Group_Interview_NDA.docx
復号プロセスはxorとbitswapで構成されており、復号スクリプトは「付録C. Comebackerドロッパー復号スクリプト」を参照されたい。
その後、ローダーマルウェアをLoadLibraryA関数で呼び出し、おとり文書を実行する。確認されたおとり文書の内容は計4件で、Edge Groupを詐称した文書1件、インド工科大学であるIIT Kanpurを詐称した文書2件、エアバスを詐称した文書1件が存在する。
詐称した団体がいずれも宇宙航空分野に関連する団体であり、おとり文書の内容がすべて宇宙航空分野に関連していることから、攻撃者の目的は宇宙航空分野に関する情報の確保であることが推測される。

caption - Guest_Lecture_Invitation_Format_IITK.docxの内容

caption - Airbus_C295_Integration_Document_for_TASL.docxの内容
2.3. Comebacker 1次ローダー – wpsoffice_aam.cox
自身に存在する暗号化されたマルウェアを復号して実行するローダーマルウェアである。暗号化されたマルウェアは復号後、zlibで圧縮解凍される。
まず、chacha20アルゴリズムで暗号化されたマルウェアを復号し、初期カウンター値としては1を使用する。この他に使用されるkeyとivは以下の通りである。
key: ad9c5aca9977d04c73be579199a827049b6dd9840091ffe8e23acc05e1d4a657
iv: edc9ce049daeba35b8687740
counter: 1
復号スクリプトは「付録C. Comebacker 1次ローダー復号スクリプト」を参照されたい。
復号結果をzlibで圧縮解凍すると、最終的にマルウェアデータを確認することができ、マルウェアのパスは以下の通りである。
マルウェアのパス: C:\ProgramData\USOShared\USOPrivate.dll

caption - マルウェアの復号およびUSOPrivate.dll生成ルーチン
「C:\ProgramData\USOShared\USOPrivate.dll」を正常に生成すると、USOPrivate.dllのLoadMimi関数を呼び出すLNKファイルを生成する。LNKファイルを生成するために実行されるコマンドは以下の通りである。
cmd.exe /C powershell -Command "$s = (New-Object -COMWScript.Shell).CreateShortcut('C:\\ProgramData\\USOShared\\Micro.lnk'); $s.TargetPath = 'C:\\Windows\\System32\\rundll32.exe'; $s.Arguments = '\"[USOPrivate.dll パス]\" LoadMimi \"C:\\Windows\\System32\\cmd.exe\"'; $s.Save()"
その後、生成されたLNKファイルをスタートアップフォルダにコピーして永続性を確保し、rundll32を利用してUSOPrivate.dllからLoadMimi関数を呼び出す。
2.4. Comebacker 2次ローダー – USOPrivate.dll
自身に存在する暗号化されたComebackerマルウェアを復号してメモリ上で実行するローダーマルウェアである。
復号アルゴリズムはwpsoffice_aam.ocxと同一のchacha20で、使用されるkeyとiv、カウンター値も同一である。
key: ad9c5aca9977d04c73be579199a827049b6dd9840091ffe8e23acc05e1d4a657
iv: edc9ce049daeba35b8687740
カウンター値: 1

caption - Comebackerマルウェア復号ルーチン
復号後にzlib圧縮を解凍する手順まで、wpsoffice_aam.ocxと同一である。Comebackerマルウェアはメモリにロードされ、GetWindowSizedW関数に「1282」を渡して呼び出す。

caption - Comebacker GetWindowSizedW関数呼び出しルーチン
2.5. Comebacker
GetWindowSizedW関数が呼び出されると、まず「[ランダムな英数字10文字][引数値(1282)]64」の形式でIDを生成する。

caption - ID生成ルーチン
その後、C&Cサーバーへの初期接続を試みる。C&Cサーバーのアドレスは以下の通りである。
hxxps://hiremployee[.]com
2.5.1. C&Cサーバー通信
C&Cサーバーとの通信はHTTPSを使用し、送信データはAES-128-CBCで暗号化された後、base64でエンコードされる。このとき使用される暗号化keyとivは同一である。
暗号化keyおよびiv: x!P<&}mjH2YHRQ',

caption - AES暗号化ルーチン
C&Cサーバーの受信データもまたbase64デコードの後、AES-128-CBCで復号される。復号に使用されるkeyとivは、暗号化に使用されたものと同一である。
復号スクリプトは「付録C. Comebacker C&Cサーバー送受信データ復号スクリプト」を参照されたい。
2.5.2. 初期接続
C&Cサーバーへの初期接続時、まず以下の形式のメッセージを生成して送信する。視認性向上のため、&を基準に区切っている。
[ランダムな英字2文字]=[ランダムな英字10文字]&
[ランダムな英字5文字]=[base64エンコードされたID値]&
[ランダムな英字4文字]=&
[ランダムな英字6文字]=0&
[ランダムな英字6文字]=[base64エンコードされた現在時刻の長さ]&
[ランダムな英字6文字]=[base64エンコードされた現在時刻]&
[10文字以内のランダムな英字]=[20文字以内のランダムな英字]
これに対するC&Cサーバーの応答は以下の通りである。
[16進数4文字] [16進数1文字] [base64エンコードされたメッセージ長] [base64エンコードされたメッセージ]
C&Cサーバーの応答データのうち、数値とメッセージに応じて以下の行動を実行する。
caption - C&C response info
上記の表にリストされている場合を除き、メッセージは以下のように定められた形式に従う。
[コマンドコード]|[暗号化されたファイルサイズ]|[実行関数名]|[実行引数]|[暗号化されたファイルのMD5ハッシュ]
上記の条件を満たすメッセージを受信した場合、C&Cサーバーから暗号化されたファイルをダウンロードして実行する。
2.5.3. ファイルのダウンロードおよび実行
C&Cサーバーから暗号化されたファイルをダウンロードすると、まず暗号化されたファイルのMD5ハッシュが先に受信したハッシュと同一であるかを検証する。もしハッシュが同一でない場合、初期接続で「デコードされたメッセージが0の場合」と同様の動作を行う。

caption - md5ハッシュ比較ルーチン
ハッシュが同一であれば、暗号化されたファイルを復号する。復号アルゴリズムはwpsoffice_aam.ocxと同一のchacha20で、使用されるkeyとiv、カウンター値も同一である。
key: ad9c5aca9977d04c73be579199a827049b6dd9840091ffe8e23acc05e1d4a657
iv: edc9ce049daeba35b8687740
カウンター値: 1

caption - chacha20復号ルーチン
復号されたファイルはメモリにロードされ、初期接続時に受信した実行関数名と実行引数を渡して実行される。その後、実行結果をC&Cサーバーに送信し、再び初期接続を試みる。
分析当時、C&Cサーバーから追加ファイルが配布されていなかったため、ダウンロードされるファイルの機能を確認することはできなかった。
3. 追加マルウェアの確保および分析
VirusTotalのRelation機能を通じて、C&Cサーバー(hxxps://hiremployee[.]com)の応答とHTMLハッシュが同一の応答を送信するURLが存在するか確認した。その結果、新しいC&Cサーバーのドメインであるbirancearea[.]comを発見した。

caption - 新しいC&Cサーバーのドメイン
birancearea[.]comは2025年3月に活性化されたことが確認されており、該当するC&Cサーバーと通信するComebackerローダーのマルウェアハッシュは以下の通りである。
f2b3867aa06fb38d1505b3c2b9e523d83f906995dcdd1bb384a1087b385bfc50
3.1. Comebacker 1次ローダー
上記プロセスで確認したComebackerローダーマルウェアはDLLファイルであり、2025年3月に初めてVirusTotalにアップロードされた。これは、2024年にPyPIパッケージに挿入されて配布されたComebackerローダーマルウェアのHC256実装および使用方式、復号されたマルウェア実行コードと類似している。
マルウェアの実行引数値が「9Ez6THDirL6Zye4」でない場合に実行を終了するコードが存在することから、該当するマルウェアを実行する上位段階のマルウェアが存在することが推測できた。しかし、上位段階のマルウェアを確保できなかったため、どのように実行されるかは確認できなかった。

caption - 実行引数検査ルーチン
実行引数が同一であれば、自身に存在する暗号化されたマルウェアを復号し、圧縮を解凍して「C:\ProgramData\USOShared\USOInfo.dat」に保存する。
復号に使用されるアルゴリズムはHC256であり、keyとivは同一である。2024年にPyPIパッケージに挿入されて配布されたComebackerローダーマルウェアでも、keyとivが同一のデータであり、HC256を使用していることが確認できた。
key, iv: LH*x239udC<*sd_Sej%lOa0$&ujHl(.R

caption - 新たに確認されたComebackerローダーマルウェアのHC256ルーチン

caption - 2024年にPyPIパッケージに挿入されて配布されたComebackerローダーマルウェアのHC256ルーチン
復号スクリプトについては、「HC256復号スクリプト」を参照されたい。
復号および圧縮解凍が完了すると、rundll32を利用してGetSysStartTime関数を呼び出す。この際、実行引数として「dfgdfg」と「G3z!X97k7QrwG」を渡す。

caption - USOInfo.dat 実行ルーチン
3.2. Comebacker 2次ローダー - USOInfo.dat
まず、2番目の実行引数値が「G3z!X97k7QrwG」であるかを検査し、同一でない場合は実行を終了する。
同一であれば、自身に存在する暗号化されたマルウェアを復号し、圧縮を解凍する。復号に使用されるアルゴリズムはHC256であり、keyとivは同一である。
key, iv: 6w6ZT9|a-0}s$@;(@&#jPVC4o+V?1IU%

caption - 実行引数の確認および復号ルーチン
復号および圧縮解凍が完了すると、メモリにロードしてGetWindowSizedW関数に「3718」を渡して実行する。このように実行されるマルウェアはComebackerであり、その挙動は「マルウェア分析 - Comebacker」で説明したものと同様である。
4. 攻撃の変化
4.1. 復号プロセス
2021年のGoogle Threat Analysis Groupの記事で報告されたComebackerマルウェアは、RC4またはkeyとivが同一のHC256を介して暗号化されたマルウェアを復号していました。

caption - Google、Microsoftの報告書 a75886b016d84c3eaacaf01a3c61e04953a7a3adf38acf77a4a2e3a8f544f855 復号ルーチン
2024年のPyPIパッケージに挿入されて配布されたComebackerマルウェアと、2025年3月に流布したと推定されるComebackerマルウェアは、keyとivが同一のHC256を介して暗号化されたマルウェアを復号します。

caption - jpcertの報告書 pycryptoenvで流布されたcomebackerマルウェア復号ルーチン
今回新たに確認されたComebackerマルウェアは、xorとbit swapを利用したカスタム暗号と、keyとivが同一のchacha20を介して暗号化されたマルウェアを復号します。

caption - 新規Comebackerマルウェア復号ルーチン
4.2. 通信の暗号化
2021年のGoogle Threat Analysis Groupの記事で報告されたComebackerマルウェアと、2024年のPyPIパッケージに挿入されて配布されたComebackerマルウェアは、C&Cサーバーの送受信データが平文です。

caption - jpcert - PyPIパッケージに挿入されて配布されたComebackerマルウェア
2025年3月以降に確認されたComebackerマルウェアは、AES-CBC-128を利用して送受信データを暗号化・復号化します。

caption - 新規ComebackerマルウェアのAESルーチン
4.3. 排布プロセス(感染経路)
最初にGoogle Threat Analysis Groupの記事で報告されたComebackerマルウェアは、セキュリティ研究者を対象とした脆弱性分析の協力要請を装ったメッセージを通じて配布されました。攻撃者はマルウェアが挿入されたVisual Studioプロジェクトを送信し、マルウェアを実行するように誘導しました。この他にも、Internet Explorerの0dayを利用した攻撃を実行しました。0day攻撃に関する情報はエンキホワイトハット(ENKI Whitehat)の研究者が確認し、ブログ記事に公開しました。

caption - 攻撃者の活動(出典:google - New campaign targeting security researchers)
2024年のPyPIパッケージに挿入されて配布されたComebackerマルウェアは、タイポスクワッティング手法を用いて、不特定多数がマルウェアをダウンロードして実行するように誘導しました。

caption - Comebackerマルウェアが挿入されたpycryptoconf(出典:jpcert - New Malicious PyPI Packages used by Lazarus)
2025年3月に流布したと推定されるComebackerマルウェアは、現在どのような方式で配布されたのか確認されていません。
オープンディレクトリで確認された最新のマルウェアについても、攻撃事例や配布プロセスは公開されていませんが、おとり文書の内容から配布プロセスを推測することができました。確認されたおとり文書は、Edge Groupを詐称した文書1件、インド工科大学であるIIT Kanpurを詐称した文書2件、エアバスを詐称した文書1件の計4件で、おとり文書に共通して確認された情報は、ファイルパス、本文に組織名などの明確なキーワードが存在することです。これは特定の機関、人物を対象に作成されたおとり文書と見なすことができ、少数の標的を狙ったスピアフィッシングの配布状況と合致します。
5. おわりに
本稿では、Lazarusが使用するComebackerマルウェアの新規バリアントを分析し、攻撃手法と変化の様相を整理した。攻撃者はdocx文書に悪意のあるVBAマクロを挿入し、ユーザーが文書を開くと囮文書が表示されると同時に、ローダーマルウェアがペイロードを復号・展開した上で、メモリ上で実行するように構成している。
特に囮文書については、Edge Groupを騙る文書が1件、インド工科大学(IIT Kanpur)を騙る文書が2件、エアバスを騙る文書が1件の計4件であり、それぞれ異なるキーワードが含まれていることがわかる。また、ファイルパスや本文に組織名などの明確なキーワードが存在することから、特定の機関や人物を標的として作成された囮文書であると推測される。この状況から、流布の手法はスピアフィッシングである可能性が高い。
現在まで攻撃の事例は報告されていないが、C&Cサーバーが活性化している状況を考慮すると、攻撃者がいつでも攻撃を試みる可能性があり、格別の注意が必要である。
6. 付録
付録 A. MITRE ATT&CK
caption - MITRE ATT&CK
付録 B. IOCs
sha256
b7d625679fbcc86510119920ffdd6d21005427bf49c015697c69ae1ee27e6bab - docx file
046caa2db6cd14509741890e971ddc8c64ef4cc0e369bd5ba039c40c907d1a1f - docx file
14213c013d79ea4bc8309f730e26d52ff23c10654197b8d2d10c82bbbcd88382 - docx file
b357b3882cf8107b1cb59015c4be3e0b8b4de80fd7b80ce3cd05081cd3f6a8ff - docx file
7e61c884ce5207839e0df7a22f08f0ab7d483bfa1828090aa260a2f14a0c942c - wpsoffice_aam.cox
c4a5179a42d9ff2774f7f1f937086c88c4bc7c098963b82cc28a2d41c4449f9e - USOPrivate.dll
f2b3867aa06fb38d1505b3c2b9e523d83f906995dcdd1bb384a1087b385bfc50 - Comebacker Loader
96b973e577458e5b912715171070c0a0171a3e02154eff487a2dcea4da9fb149 - USOInfo.dat
C&C
hxxps://birancearea[.]com/adminv2
hxxps://hiremployee[.]com
Open Directory C&C
Office-theme[.]com
aes key
x!P<&}mjH2YHRQ',
chacha20 key
ad9c5aca9977d04c73be579199a827049b6dd9840091ffe8e23acc05e1d4a657
HC256 key
LH*x239udC<*sd_Sej%lOa0$&ujHl(.R
6w6ZT9|a-0}s$@;(@&#jPVC4o+V?1IU%
付録 C. 復号スクリプト
Comebacker ドロッパー復号スクリプト
Comebacker 一次ローダー復号スクリプト
Comebacker C&C サーバー送受信データの復号スクリプト
HC256 復号スクリプト

人気の記事





